Breadcrumb
- Reservation Services
- Create Reservation
- Use Cases
- Multi-Step Reservation
Multi-Step Reservation
Reservations can be created in any state. One can create an unconfirmed reservation, for example in the Booked status, without adding guests to the reservation. This is typical in a 2 stage confirmation process. However, nothing restricts you from confirming a reservation while creating it.
Once a reservation is created and a confirmation number is assigned, it can be used to reference the reservation in order to update it.
Status | Description | Transition/Reservation Requirements |
---|---|---|
Stored | Includes all information related to a reservation, but does not contain blocked inventory, confirmation number, or a confirmed price. | No requirement. |
Booked | Indicates the "pending" state of a new reservation where inventory is decremented. A confirmation is generated; however, the reservation stays in a pending state until it is either Ignored or Confirmed. | No requirement After a timeout, based on a time defined by the system, the system will automatically ignore the reservation. |
OnHold | An extension of the Booked reservation status including decremented inventory but has some overriding attributes such as not needing a payment. | No requirement After a timeout, based on a time configured by chain the system will automatically ignore the reservation. |
Confirmed | This is the final state of a valid reservation regardless of whether it is a new or modified reservation. | A guest is required, Inventory will be blocked at the property. Booking policy will be applied including pre-payment. |
Waitlisted | Indicates an attempted booking where the requested product was not available, so the reservation is waitlisted and stored in the database for confirmation if the product becomes available. Guests receive a waitlist e-mail indicating that their reservation could not be confirmed at that time. | A guest is required. |
Cancelled | The final status of a canceled reservation. | Prior to cancellation, the system evaluates the cancel policy to determine eligibility. |
Ignored | Indicates the final state of a pending reservation that equivalent to it being (logically) deleted. | The system is the only one that ignores a reservation. |
PendingModify | Indicates pending changes to a confirmed reservation where inventory is decremented. The changes stay in this status, and the changes stay in a pending state until the reservation is either Ignored by the system or Confirmed. | Only reservations with a Confirmed status can be changed to PendingModifystatus. |
N-Step Booking Process Example
A reservation can be initially created with stay criteria and status=Booked, then updated to include non-room products or price overrides and maintain status=Booked, then updated again to include guest information and payment information before finally being confirmed using status=Confirmed.
Request - Step 1: Create Reservation with a status of Booked
POST | https://[environment]/v1/api/reservation
{
"Chain": {
"Id": 12723
},
"Channels": {
"PrimaryChannel": {
"Code": "SYNXISWS_BE"
},
"SecondaryChannel": {
"Code": "WEB"
}
},
"Hotel": {
"Id": 13098
},
"RoomStay": {
"StartDate": "2023-11-01",
"EndDate": "2023-11-02",
"GuestCount": [
{
"AgeQualifyingCode": "Adult",
"NumGuests": 1
}
],
"NumRooms": 1,
"Products": [
{
"Primary": true,
"Product": {
"RateCode": "BAR",
"RoomCode": "LUXT"
}
}
]
},
"status": "Booked"
}
Response - Create Reservation with a status of Booked
{
"reservations": [{
"CrsConfirmationNumber": "13098CU000379"
}]
}
Request - Step 2: Add Dynamic Package to the Reservation and keep status of Booked
Note: include the *CrsConfirmationNumber from the response above and use the PATCH method
PATCH | https://[environment]/v1/api/reservation
{
"Chain": {
"Id": 12723
},
"Channels": {
"PrimaryChannel": {
"Code": "SYNXISWS_BE"
},
"SecondaryChannel": {
"Code": "WEB"
}
},
"Hotel": {
"Id": 13098
},
"Packages": [{
"Code": "SPA",
"Date": "2023-11-01",
"Quantity": 1,
"GuestCount": [{
"AgeQualifyingCode": "Adult",
"NumGuests": 1
}]
}],
"CrsConfirmationNumber": "13098CU000379",
"status": "Booked"
}
Request - Step 3: Add guest information and payment details then Confirm the reservation
Note: include the *CrsConfirmationNumber from the response above and use the PATCH method
PATCH | https://[environment]/v1/api/reservation
{
"Chain": {
"Id": 12723
},
"Channels": {
"PrimaryChannel": {
"Code": "SYNXISWS_BE"
},
"SecondaryChannel": {
"Code": "WEB"
}
},
"Hotel": {
"Id": 13098
},
"Guests": [{
"ContactNumbers": [{
"Default": true,
"Number": "55512345678",
"Role": "Home",
"Type": "Mobile",
}],
"EmailAddress": [{
"Type": "Primary",
"Value": "larry.walker@email.com"
}],
"PersonName": {
"GivenName": "Larry",
"Surname": "Walker"
},
"Role": "Primary"
}],
"CrsConfirmationNumber": "13098CU000379",
"status": "Confirmed"
}