Skip Navigation

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 configured by a chain, 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"
}