1.0 – Login
- /token
 email={email}&Method=email
 contactId={contactId}&Method=contactid
- Available profile endpoints when logged in:
 /profile/contact/
 /profile/contact/update
 /profile/contact/password
 /profile/booking/
 /profile/booking/create
 /profile/booking/update
Reference:
grant_type=password&contactid={contactId}&email={email}&password={password}&key={key}&method=[email|contactid]
1.1 – Forgot Password
- Search Contacts
 /2017-11/contact
 12345678910{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",filter: {contactId: null,first: null,last: null,company: null,email: "test@blueskybooking.com"}}
- Trigger password recovery
 /2017-11/contact/password/recovery
 123456{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",contact: {contactId: 12345678}}
 Repeat for each array element returned /2017-11/contact
2.0 – Registration
- Create contact
 2017-11/contact/create
 1234567891011121314151617181920212223242526272829303132333435{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",contact: {first: "",last: "",email: "",gender: "",locks: "1",weight: "200",fareId: null,home: {address: "",city: "",state: "",country: "",zip: "",phone: "",fax: "",mobile: "",webSite: ""},business: {address: "",city: "",state: "",country: "",zip: "",phone: "",fax: "",mobile: "",webSite: ""},password: "12345678"}}
- If desired, seamlessly login via /token using password and the returned contactList/contactId.
4.0 – Find a Flight
- Departure / Arrival
 /2017-11/location
 123{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",}
- Automatically filter arrival locations based on selected departure location.
 /2017-11/location/pairs orย /2017-11/location (pairing: [{…}])
- Male | Female | Child | Infant
 /2017-11/type
 123{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",}
 Will add option in future update to filter by typeList/web/active = true
4.0.1, 4.1.x – Available Flights
Build a route availability lookup.
- departureDateStart: “yyyy-mm-dd hh:mm:ss”
- departureDateFinish: “yyyy-mm-dd hh:mm:ss”
- departureTimeStart: 0
- departureTimeFinish: 1440
- departureLocationId: [1,2,3..]
 /2017-11/location
- arrivaLocationId: [1,2,3…]
 /2017-11/location
- classId: [1,2,3..]
 /2017-11/class
 Always set ClassId: [1] (Passengers)
- fareId: [1,2,3…]
 /2017-11/type for unknown passengers
 /2017-11/contact/id orย /2017-11/profile/contact for known passenger
 Example:
 Jeff Valair (ContactId: 4), 2x Male, 1x Child
 /2017-11/contact/4 or /2017-11/profile/contact = 22
 /2017-11/type (Male) = 9
 /2017-11/type (Female) 7
 FareId: [22,9,9,7]
 
- booking: [0,1,2] (for internal phone bookings)
 web: [0,1,2] (for online bookings)
 0=Closed; 1=View Only, 2=Open
 Always set to web: [1,2]
- Availability calculation for locks (seats) and weight.
 /2017-11/contact/id orย /2017-11/profile/contact for known passenger
 /2017-11/type for unknown passengers
 Example:
 Jeff Valair (ContactId: 4) + John Smith (Male) + Jane Smith (Female)
 /2017-11/contact/4 orย /2017-11/profile/contact = 1 locks, 180 lbs
 /2017-11/type (Male) = 1 locks, 200 lbs
 /2017-11/type (Female) 1 locks, 153 lbs
 Total Locks: 3 locks
 Total Weight: 533 lbs
- Search routes
 /2017-11/route
 1234567891011121314{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",filter: {departureDateStart: "2018-04-01 00:00:00",departureDateFinish: "2018-04-01 23:59:59",departureTimeStart: 0,departureTimeFinish: 1440,departureLocationId: [3],arrivalLocationId: [32],classId: [1],fareId: [9,9,7],web: [1,2]}}
- Flight Results
 Schedule:ย routeList/connections/schedule[hop:1, 2…]
 Recommend if routeList/hub=trueDeparture: routeList/departure/date
 Schedule:ย routeList/connections/schedule[hop:1]+routeList/hops
 Arrival: routeList/arrival/date
 Pricing: routeList/classes/tiers()/total
- Tier
 Tier: routeList/classes/tiers()/tier
 Total: routeList/classes/tiers()/total
 Conditions:
 /2017-11/tier
- Is available for booking calculations:
- routeList/classes/tier/locksMaximum –ย routeList/classes/tier/locksUsed
 >= Total Locks
- routeList/classes/tier/weightMaximum –ย routeList/classes/tier/weightUsed
 >= Total Weight
 
- routeList/classes/tier/web: 2
- routeList/classes/tier/isRulesValid: true
 
- routeList/classes/tier/locksMaximum –ย routeList/classes/tier/locksUsed
4.1.2 – Available Flights
- /2017-11/route/id
4.3.x – Payment Information
- Payment API not yet available
4.4.x – Booking Summary
- routeClassTierId
 /2017-11/route
 routeList/classes/tiers()/routeClassTierId
- Fare summary API not yet available, only total
- Email confirmation API not yet available
- Terms and Conditions API not yet available
- Create basic booking
 2017-11/profile/booking/create
 Scenario: Customer is making booking for themselves only.
 In /booking/createย you can specify the ContactId, but in /profile/booking/create the ContactId is omitted as it will use the logged in customer.ย If you specify a group: false, then the owner of the booking is also assumed to be the person travelling.
 1234567891011121314151617{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",booking: {statusId: 8,routeClassTierId: 4600526,fareId: 1,group: false,locks: 1,weight: 180,pickup: "",dropoff: "",alert: "",priority: 1,booking: 0,web: true}}
- Create group booking
 2017-11/profile/booking/create
 Scenarios: Customer is making a booking which is for or includes anyone else.
 123456789101112131415161718192021222324252627282930313233343536{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",booking: {statusId: 8,routeClassTierId: 4600526,fareId: null,group: true,locks: 2,weight: 350,pickup: "",dropoff: "",alert: "",priority: 1,booking: 0,web: true,passengers: [{contactId: 4,locks: 1,weight: 200,fareId: 1,alert: "priority boarding",enabled: true},{first: "Yuriy",last: "Olshevskyy",gender: "Male",locks: 1,weight: 150,fareId: 1,alert: "",enabled: true}]}}
3.x – Home, 5.x – My Flights
- My bookings
 2017-11/profile/booking
 2017-11/profile/booking/id
- Tier conditions
 2017-11/tier
8.1 – My Account
- My contact
 2017-11/profile/contact
 2017-11/profile/contact/update
8.2 – My Account (Change Password)
- My password
 2017-11/profile/contact/password
 1234567{Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",contact: {password: "12345678",validation: "abcdefgh"}}
8.3, 8.4 – My Account (Payment)
- Payment API not yet available
8.5 – My Account (Notifications)
- Notifications API not yet available
9.x – Customer Care
- Out of scope except for 9.6 Terms and Conditions.
Possible changes:
- Branch route pairs underneath each individual location
- Integrate tier description w/booking
/status
schedule
| 1 | on time | 
| 2 | delayed | 
| 3 | cancelled | 
| 4 | miscellaneous | 
| (unknown) | 
booking
| 1 | confirmed | 
| 2 | cancelled | 
| 3 | waiting list | 
| 4 | stand by | 
| 5 | miscellaneous | 
| (unknown) | 
luggage
| 1 | confirmed | 
| 2 | cancelled | 
| 3 | waiting list | 
| 4 | stand by | 
| 5 | miscellaneous | 
| (unknown) | 
state
| (unknown) | 
Booking Status
Confirmed
| 1 2 3 4 5 | {    Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",   Element: "//Configuration/Settings/Status",   Attribute: "Confirmed" } | 
Cancelled
| 1 2 3 4 5 | {    Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",   Element: "//Configuration/Settings/Status",   Attribute: "Cancelled" } | 
Waiting List
| 1 2 3 4 5 | {    Key: "0EA8AA5F-6B0D-480E-83D3-06C77AF7385A",   Element: "//Configuration/Settings/Status",   Attribute: "WaitingList" } | 


 
        
 
  