4. Booking Creation#
During this step, the availability item that has been created in the options step and edited up until now is used to create a booking on the supplier’s system. This is done through the following endpoint.
createBooking#
Given an availability ID, the endpoint returns a booking ID and a list of the chosen options and tickets.
Path
POST /booking-flow/v1/bookings
Input example
Request Header |
Mandatory |
Example |
Format |
Usage |
---|---|---|---|---|
externalClientId |
No |
ABCDEF |
Alphanumeric, 255 maximum length |
A string that the CustomerSystem can use to associate a booking to a specific traveler |
Request Param |
Mandatory |
Example |
Format |
Usage |
---|---|---|---|---|
resellerRef |
yes |
bookingIdentifer |
Alphanumeric, 255 maximum length |
It represents the booking identifer from client side |
Body:
{
"availabilityId" : "01d0597b-a819-478b-b32d-f99290b70e88",
"resellerRef": "bookingIdentifer"
}
Output body example
{
"id": "60cdd167-e2ff-4746-b609-c2bee07d9985",
"availabilityDateTime": "2023-12-19T12:00+01:00[Europe/Paris]",
"resellerRef": "MY_COMPANY",
"status": "ON_HOLD",
"paymentStatus": "ON_HOLD",
"creationDate": "2023-12-14T08:53:05.349042915Z",
"availability": {
"id": "01d0597b-a819-478b-b32d-f99290b70e88",
"availabilityDate": "2023-12-19",
"availabilityOptions": [
{
"label": "Ticket Type",
"level": "0",
"id": "24deeda6-bcda-4c04-9659-e2ca2b2beedc",
"selectedOptionId": "528446",
"optionChoices": {
"528446": "Eiffel ,2 Day Bus Pass &Cruise"
}
},
{
"label": "Start Time",
"level": "1",
"id": "01d28c41-0b26-4d3a-a0ec-229125e07c63",
"selectedOptionId": "420013_20231219",
"optionChoices": {
"420013_20231219": "12:00"
}
}
],
"unitOptions": [
{
"label": "Adult",
"id": "143731",
"restrictions": {
"minQuantity": 1,
"maxQuantity": 10,
"accompagniedBy": []
},
"price": {
"retail": 114.9,
"currency": "EUR"
},
"unitQuantity": 2,
"minAge": 13,
"maxAge": 99
},
{
"label": "Child",
"id": "112820",
"restrictions": {
"minQuantity": 1,
"maxQuantity": 10,
"accompagniedBy": []
},
"price": {
"retail": 99.9,
"currency": "EUR"
},
"unitQuantity": 1,
"minAge": 4,
"maxAge": 12
},
{
"label": "Infant",
"id": "112821",
"restrictions": {
"minQuantity": 1,
"maxQuantity": 10,
"accompagniedBy": []
},
"price": {
"retail": 0.0,
"currency": "EUR"
},
"unitQuantity": 0,
"minAge": 0,
"maxAge": 3
}
],
"maxParticipants": 10,
"minParticipants": 1,
"isOptionStepCompleted": true,
"isPricingStepCompleted": true
},
"cancellation": {
"isCancellable": false,
"cancellationPolicy": []
},
"isQuestionStepComplete": false,
"travelerDetails": {
"externalClientId": "ABCDEF"
}
}
Note
The booking status will be ON_HOLD until confirmation.
Booking creation does not imply any “Hold” process on supplier side, and no ticket is reserved until the booking is successfully confirmed