Self-Service APIs

Self-Service APIs are a set of GET and POST request APIs that can be used to let a guest go through the check-in/ check-out flow. These APIs do not create new bookings. Self-service APIs only allow users to view and modify pre-existing reservations. In order to access the self-service APIs you will need to have access to the Self-Service scope.


All of the self-service APIs are secured by OAuth. The following should be included within the header of all of your requests in order to gain access to the data:

  • Authorization - An active bearer token.
    • Note: Tokens are unique to a specific hotel chain. If your application works with more than one hotel chain within Rover Connect you will need to make sure that the bearer token corresponds to the hotel chain you attempting to retrieve data for.
  • API-Version - An API-Version should always be included within your request. (e.g. "1.0")

Available APIs:


All self-service APIs are prefixed with the following URL:

https://api.stayntouch.com/connect/

Example Check-In Flow and Useful Methods

  1. Reservation Lookup - In order to begin the check-in process you will need the reservation ID (not to be confused with the reservation confirmation number or alternate confirmation number). You can find a reservation using any of the following two methods inside the Booking APIs package.

    1. /reservations - This method will give you a paginated list of all reservations in the hotel chain. You can filter your results using any of the following query parameters.
      • hotel_id (string) - filter to reservations to include those only for a specific hotel (required)
      • confirmation_number (string) - find a reservation by unique confirmation number
      • alt_confirmation_number (string) - find a reservation by alternate confirmation number (applicable for reservations booked through an external booking service)
      • last_name (string) - find a reservation by a guest's last name
      • departure_date (date-only) - filter reservations by departure_date
      • credit_card_last_4 (string) - filter reservations to include only those with a specific card
        • Note: You will almost always want to use more than one of these parameters to filter reservations as the same guests may have multiple reservations within the hotel chain. It is recommended to find a reservation using either the confirmation number OR the guest's last name and departure date.
    2. /reservations/due_in - This method will give you a paginated list of all reservations in the hotel chain. You can filter your results using any of the following query parameters.
      • hotel_id (string) - filter to reservations to include those only for a specific hotel (required)
      • confirmation_number (string) - find a reservation by unique confirmation number
      • alt_confirmation_number (string) - find a reservation by alternate confirmation number (applicable for reservations booked through an external booking service)
      • last_name (string) - find a reservation by a guest's last name
      • departure_date (date-only) - filter reservations by departure_date
      • credit_card_last_4 (string) - filter reservations to include only those with a specific card
        • Note: You will almost always want to use more than one of these parameters to filter reservations as the same guests may have multiple reservations within the hotel chain. It is recommended to find a reservation using either the confirmation number OR the guest's last name and departure date.
  2. Upsell Room Type Option Selection - Allow guests to have the option of upgrading their room before checking in.

    1. /reservations/id/upsell_room_type_options - If there are available upgrades at the time of check-in for the reservation indicated, this method will return a list of upgrade options.
      • /hotels/id/room_types - You can get images and descriptions of each available upsell by searching for the available upsell options within the response of this method.
    2. /reservations/id/upsell_room_type - If the guest wants to make an upsell selection you can indicate their selection and upgrade their room using this method.
  3. Upsell Early Check-In - In order to begin to checkin the guest you will need to ask them for their arrival time. If the guest chooses an arrival time that is before the hotel's indicated check-in time (/hotels/id) or before the end of early check-in, you can show them their early check-in options, if applicable. Note: In order for a guest to purchase early check-in, the hotel must have "Upsell Early Checkin" turned on in their Hotel Settings and the guest must already have a credit card attached to their reservation.

    1. /reservations/id/early_check_in_options - Displays a list of times a guest can choose from and their respective prices.
    2. /reservations/id/early_check_in - Adds an early check-in surcharge to the guest bill according to the arrival_time parameter passed in the request body. Note: this method only adds the charge. You will still need to check-in the guest using a check-in method.
  4. Checkin the Reservation

    1. Check-in Method Options - While some hotels allow guests to fully check-in to their room others will only let guests go through the pre-check-in process. This is configured within the hotel settings.

      • /reservations/id/pre_check_in - This method will put the reservation into a check-in queue.
      • /reservations/id/check_in - This method will check in the guest and respond with an assigned room number. This information will all be emailed to the guest through the email on file. If there are no room available at the time, you have the option of putting the reservation into a queue, and the reservation will be automatically checked-in once a room becomes available.

Example Check-Out Flow and Useful Methods

  1. Reservation Lookup - In order to begin the checkout process you will need the reservation ID (not to be confused with the reservation confirmation number or alternate confirmation number). You can find a reservation using any of the following three methods inside the Booking APIs package.

    1. /reservations - This method will give you a paginated list of all reservations in the hotel chain. You can filter your results using any of the following query parameters.
      • hotel_id (string) - filter to reservations to include those only for a specific hotel (required)
      • confirmation_number (string) - find a reservation by unique confirmation number
      • alt_confirmation_number (string) - find a reservation by alternate confirmation number (applicable for reservations booked through an external booking service)
      • last_name (string) - find a reservation by a guest's last name
      • departure_date (date-only) - filter reservations by departure_date
      • credit_card_last_4 (string) - filter reservations to include only those with a specific card
        1. Note: You will almost always want to use more than one of these parameters to filter reservations as the same guests may have multiple reservations within the hotel chain. It is recommended to find a reservation using either the confirmation number OR the guest's last name and departure date.
    2. /reservations/checked_in - This method will give you a paginated list of all reservations in the hotel chain that are checked in. You can filter your results using any of the following query parameters.
      • hotel_id (string) - filter to reservations to include those only for a specific hotel (required)
      • confirmation_number (string) - find a reservation by unique confirmation number
      • alt_confirmation_number (string) - find a reservation by alternate confirmation number (applicable for reservations booked through an external booking service)
      • last_name (string) - find a reservation by a guest's last name
      • departure_date (date-only) - filter reservations by departure_date
      • credit_card_last_4 (string) - filter reservations to include only those with a specific card
        • Note: You will almost always want to use more than one of these parameters to filter reservations as the same guests may have multiple reservations within the hotel chain. It is recommended to find a reservation using either the confirmation number OR the guest's last name and departure date.
  2. Upsell Late Checkout - You will want to ask the user what time they will be departing. You can give them options to purchase a late check-out and depart at a later time than the standard hotel check-out time.

    1. /reservations/id/late_check_out_options - If late checkout is available, this method will return a list of late checkout options and their associated prices.
    2. /reservations/id/late_check_out - Apply the late check-out upsell using this method using the associated id that was returned with the upsell details in the previous method.
  3. Checkout the Reservation - Even with a late checkout applied you will need to checkout the reservation at time of departure.

    1. /reservations/id/check_out - This method will check-out the guest.



Checkin a Reservation (reservations/id/check_in)

POST

Description

This method will check in the guest and respond with an assigned room number. This information will all be emailed to the guest through the email on file. If there is no room available at the time, you have the option of putting the reservation into a queue, and the reservation will be automatically checked-in once a room becomes available.

Request

The following should be added in the POST body:

  • queue_when_not_ready (boolean - default: false) - If set to true, the reservation will be added to the check-in queue if there is no room currently available and automatically check-in once a room becomes available. The guest will receive an email once the reservation is checked in and a room is assigned.

Response

JSON Response
{
    "room": {
        "id": 14740,
        "number": "12608",
        "room_type_id": 144,
        "status": "INSPECTED",
        "service_status": "IN_SERVICE",
        "occupied": true
    },
    "queue_position": null
}

Media type: application/json

Type: object

The following defines each element within the response.

  • room: (object)
    • id: (integer)
      • Room identifier
    • number: (string)
      • Room number
    • room_type_id: (integer)
      • Room type identifier
    • status: (one of CLEAN, INSPECTED, DIRTY, OO, OS, PICKUP)
      • Room status
    • service_status: (one of IN_SERVICE, OUT_OF_ORDER, OUT_OF_SERVICE)
      • Service status
    • occupied: (boolean)
      • Occupancy status
  • queue_position: (integer)
    • Queue position if reservation has been put into a reservation queue


Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to check-in a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with any of the reservation lookup methods. (/reservations, /reservations/due_in)
  • VALIDATION ERROR (422)
    • Reservation is already checked in - This error will occur if you are attempting to check-in a reservation that has already been checked-in.


Checkout a Reservation (reservations/id/check_out)

POST

Description

This method will check out the guest.

Request

There are no additions to the POST body for this method.

Response

JSON Response
{}

Media type: application/json

Type: object

This method will respond with a 200 HTTP status code if the operation is successful

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to check-out a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)
  • VALIDATION ERROR (422)
    • Unable to check out - Reservation is not checked in - This error will occur if you are attempting to check-out a reservation that is not currently checked-in.

View Early Check-In Options (reservations/id/early_check_in_options)

GET

Description

This method will return the available early check-in options for a reservation. Early check-in is an upsell service that allows paying guests the opportunity to check-in to their rooms at an earlier time than the normal hotel check-in time. Client hotels must have the "Upsell Early Check-In" option enabled within their Rover settings (Promos & Upsell > Upsell Early Check-In > General > (toggle) Early Checkin Upsell) for this method to work properly. Their settings for early check-in must also be configured.

Request

There are no query parameters for this method.

Response

When Early Check-In is Unavailable

JSON Response
{
    "allowed": false,
    "times": null,
    "ends_at": null
}

When Early Check-In is Available

JSON Response
{
    "allowed": true,
    "times": [
        {
            "time": "17:00:00",
            "amount": "77.00"
        },
        {
            "time": "18:30:00",
            "amount": "51.00"
        }
    ],
    "ends_at": "20:00:00"
}

Media type: application/json

Type: object

  • allowed: (boolean)
    • Whether early check-in is available
  • times(array)
    • time: (time-only)
      • Starting time for check-in window
    • amount: (string)
      • Surcharge amount for the early check-in option
  • ends_at: (time-only)
    • End of early check-in
      • Note: At this time early check-in will no longer be available and guests will be allowed to check-in normally without charge. 

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to find options for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)

Early Check-In a Reservation (reservations/id/early_check_in)

POST

Description

This method will apply early check-in to a reservation based on time of arrival and add an early check-in charge to the reservations bill. Early check-in is an upsell service that allows paying guests the opportunity to check-in to their rooms at an earlier time than the normal hotel check-in time. Client hotels must have the "Upsell Early Check-In" option enabled within their Rover settings (Promos & Upsell > Upsell Early Check-In > General > (toggle) Early Checkin Upsell) for this method to work properly. Their settings for early check-in must also be configured.

Request

The following should be added in the POST body:

  • arrival_time (time-only) - The arrival time entered should be within the early check-in window but does not necessarily need to be on a cut-off time.

Response

Request Body
arrival_time:17:00


JSON Response
{}

Media type: application/json

Type: object

This method will respond with a 200 HTTP status code if the operation is successful

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to apply late check-out to a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)
  • VALIDATION ERROR (422)
    • This error will occur if early check-in is unavailable for the reservation. Early check-in may have already been applied.


View Late Check-out Options for a Reservation (reservations/id/late_check_out_options)

GET

Description

This method will return the available late check-out options for a reservation. Late check-out is an upsell service that allows paying guests the opportunity to check-out of their rooms at an later time than the normal hotel check-out time. Client hotels must have the "Upsell Early Late Check-Out" option enabled within their Rover settings (Promos & Upsell > Upsell Late Check-Out > Late Checkout Upsell > (toggle) Late Checkout Upsell) for this method to work properly. Their settings for late check-out must also be configured.

Request

There are no query parameters for this method.

Response

JSON Response
{
    "allowed": true,
    "times": [
        {
            "id": 2209,
            "time": "19:00:00",
            "amount": "45.00"
        },
        {
            "id": 2210,
            "time": "20:00:00",
            "amount": "25.00"
        },
        {
            "id": 2211,
            "time": "21:00:00",
            "amount": "30.00"
        }
    ]
}

Media type: application/json

Type: object

  • allowed: (boolean)
    • Whether late check-out is available
  • times(array)
    • id: (integer)
      • Late check-out time identifier to be passed into (reservations/id/late_check_out)
    • time: (time-only)
      • Ending time for the window
    • amount: (string)
      • Surcharge amount for the late check-out option

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to find options for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)


Add Late Check-out to a Reservation (reservations/id/late_check_out)

POST

Description

This method will apply late check-out to a reservation based on time of arrival and add a late check-out charge to the reservation's bill. Late check-out is an upsell service that allows paying guests the opportunity to check-out of their rooms at an later time than the normal hotel check-out time. Client hotels must have the "Upsell Early Late Check-Out" option enabled within their Rover settings (Promos & Upsell > Upsell Late Check-Out > Late Checkout Upsell > (toggle) Late Checkout Upsell) for this method to work properly. Their settings for late check-out must also be configured.

Request

There are no query parameters for this method.

Response

Request Body
late_check_out_id:2209


JSON Response
{}

Media type: application/json

Type: object

This method will respond with a 200 HTTP status code if the operation is successful


Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to add late check-out to a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)
  • INVALID RECORD (404)
    • Couldn't find latecheckoutcharge with id - This error will occur if you are attempting to add late checkout with an invalid late_check_out_id.
      • Only pass in ids that are received from the (reservations/id/late_check_out_options) method.


View Notes on a Staycard (reservations/id/notes)

GET

Description

This method will return an array of notes that have been attached to a specific reservation staycard. Notes are ways for hotel staff to keep additional information on a guest. Some notes are automatically added when a guest makes a self-service modification such as early check-in, late check-out, or room upgrade.

Request

The following can be added as GET parameters:

  • page (integer - default: 1) - If the per_page parameter is also set or the reseration consists of more than 25 notes your response will become paginated. This parameter can be used to access a specific page within the pagination.
  • per_page (integer - default: 25) - Use this parameter to set number of results you want in each page of the response.

Response

When There Are No Notes Attached

JSON Response
{
    "results": [],
    "total_count": 0
}

With Notes Attached

JSON Response
{
    "results": [
        {
            "id": 13910,
            "description": "This is a note on the guest.",
            "created_at": "2017-08-29 16:57:08"
        }
    ],
    "total_count": 1
}

Media type: application/json

Type: object

  • results: (array)
    • id: (integer)
      • Note identifier
    • description: (string)
      • Note contents
    • created_at: (datetime-only)
      • Note creation timestamp


Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to find notes for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)

Add Payment Method to a Reservation (reservations/id/payment_methods)

POST

Description

This method will allow you to add payment methods to a reservations.

Request

The following should be added in the POST body:

  • code (string) required - Specify the payment type code. Each hotel has different acceptable payment methods. For a list of available payment methods and their respective codes use the hotels/id/credit_card_types method inside the Configuration API subset.
  • card_number (string) - Specify the card number.
  • token (string) required - Specify the MLI token
  • expiry_date (string) required - The expiration date for the payment method (YYYY-MM)
  • cvv (string) Specify the credit card verification value.
  • card_name (string) - Specify the name as it appears on the card.

Response

Request Body
code:VA
card_number:4444333322222222
expiry_date:2021-05
cvv:456
card_name:John Smith
token:4444333322222222


JSON Response
{}

Media type: application/json

Type: object

This method will respond with a 200 HTTP status code if the operation is successful

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to find notes for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)
  • VALIDATION ERROR (422)
    • MLI token can't be blank - This error will occur if you did not provide the MLI token within the body of your request.
  • VALIDATION ERROR (422)
    • Payment type not found - This error will occur if you did not add the payment code in the body of your request. For a list of available payment methods and their respective codes use the hotels/id/credit_card_types method inside the Configuration API subset.
  • VALIDATION ERROR (422)
    • Expiry date is required for credit cards - This error will occur if you did not add the credit card expiry date in the body of your request.


Pre Check-In a Reservation (reservations/id/pre_check_in)

POST

Description

This method will put the reservation into a check-in queue.

Request

The following should be added in the POST body:

  • arrival_time: required (time-only) - Specify the guests arrival time. The PMS will then put the reservation into a queue and check-in the guest before arrival in order to send out room-details.
  • note: (string) - Add a note to the hotel front desk clerk on behalf of the guest.

Response

JSON Response
{
    "queue_position": 1
}

Media type: application/json

Type: object

  • queue_position: (integer)
    • Queue position

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to find notes for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)

Check the Queue Status for a Reservation (reservations/id/queue_details)

GET

Description

This method will get the queue details for the reservation within its room type. All check-in queues are filtered by room type. This method will show how many rooms of the reservation's room type are available and the total number of reservations in the queue. The queue position will show where the guest is in line for the next available room.

Request

There are no query parameters for this method.

Response

JSON Response
{
    "queue_position": 1,
    "queue_count": 1,
    "available_count": 3
}

Media type: application/json

Type: object

  • queue_position: (integer)
    • Queue position
  • queue_count: (integer)
    • Number of reservation in the queue for the same room type
  • available_count: (integer)
    • Number of available rooms for the room type

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to find notes for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)

Record a Guest Payment (reservations/id/queue_details)

POST

Description

This method will allow you to record a payment by creating a financial transaction. Payment method must be a credit card. This method will assume that the payment has already been posted to a payment gateway. This method will not interact with the payment gateways.

Request

The following should be added in the POST body:

  • amount: required (string) - Specify the payment amount.
  • authorization_code: required (string) - Specify the payment authorization code.
  • reference_text: (string) - Specify the reference text.

Response

JSON Response
{}

Media type: application/json

Type: object

This method will respond with a 200 HTTP status code if the operation is successful

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to record payment for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)

Upsell Room Type for a Reservation (reservations/id/upsell_room_type)

POST

Description

If the guest wants to make an upsell selection you can indicate their selection and upgrade their room using this method.

Request

The following should be added in the POST body:

  • room_type_id: required (integer) - Specify the room type id. Use this parameter if you would like to assign the guest to a specific room type.

or

  • room_id: (integer) - Specify the id for the new room. Use this parameter if you would like to assign the guest to specific room.

Response

JSON Response
{}

Media type: application/json

Type: object

This method will respond with a 200 HTTP status code if the operation is successful.

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to record payment for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)
  • VALIDATION ERROR (422)
    • No room or room type selected - This error will occur if you did not provide a room or room type id in the request body or if the id you provided was invalid.

View Upsell Options for a Reservation (reservations/id/upsell_room_type)

GET

Description

If there are available upgrades at the time of check-in for the reservation indicated, this method will return a list of upgrade options. For images to display to the guest of each separate option you can pass the room type ID into the /hotels/id/room_types method.

Request

This method does not have any query parameters.

Response

JSON Response
{
    "allowed": true,
    "results": [
        {
            "id": 144,
            "amount": "12.00"
        },
        {
            "id": 149,
            "amount": "12.00"
        }
    ]
}

Media type: application/json

Type: object

  • results: (array)
    • id: (integer)
      • Room type identifier
    • amount: (string)
      • Upsell surcharge

Possible Errors

  • UNAUTHORIZED (401)
    • Missing API Version - This error will occur if you did not include an API-Version within your request header. An API-Version is always expected and required.
  • UNAUTHORIZED (401)
    • Invalid or expired access token - This error will occur if there was a problem with the access token that you included within your request header.
      • If your access token has expired, which occurs every 30 days, you can request a new one using (/oauth/token) and passing in the refresh token you received previously.
      • You will receive this error if you are attempting to gain access to a hotel chain for which the given access token does not correspond.
  • INVALID RECORD (404)
    • Couldn't find reservation - This error will occur if you are attempting to find options for a reservation with ID that does not currently exist within the system.
      • Note: The reservation ID inside the URL is different from the confirmation number and alternate confirmation number; however, these can be used to find the ID with a reservation lookup method. (/reservations)