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" } |