Skip to main content

Deep Link API

In order to deep link into the booking engine, the Skipper SDK offers two defined APIs to access the booking flow in a non-linear, deep-linking fashion. Both lead to the same functionality, but use different methods to do so.

  1. Deep Linking via URL Query Parameters
  2. Deep Linking via HTML element data attributes

The following table shows the same parameter set with corresponding names for each of the methods.

Query Param NameData Attribute NameRequiredDescriptionDefault Value
sbe_openBEn/afalseDetermines if the booking engine should open automatically. If false, then the parameters simply fill in the search form. If true then, the booking engine will automatically open and perform a search. When using the CTA deep-linking API, this parameter is always true and is not specifiedfalse
sbe_startPagedata-start-pagefalseThe page type that you want the guest to land on. Configuration Options:
  • rooms - (default) to book a room
  • calendar - to open to the calendar page within the rooms booking flow
  • dining - to make a table reservation (Note: dining is only available to hotel partners who have integrated one or more restaurants for booking with our Open Table integration)
  • reservations - to manage room reservations (Note: reservations is only available for customers who are integrated with SynXis or Oracle)
  • idle - to go to the Welcome landing page
  • propertyList - to show a list of properties within a hotel group or brand (Note: groupId or brandId is required in the initSkipper initialization function)
rooms
sbe_hotelIddata-hotel-idfalseThe ID for the Hotel, given to you by Skipper. Only specify this parameter if you are deep linking to site that holds multiple hotels. This is only necessary if the initSkipper function is set up with a brandId or groupIdn/a
sbe_startDatedata-start-datefalseThe check-in date for an availability search. Specified in YYYY-MM-DD format+leadTime days of the current date
sbe_endDatedata-end-datefalseThe check-out date for an availability search. Specified in YYYY-MM-DD format+stayLength days of startDate
sbe_stayLengthdata-stay-lengthfalseThe number of nights to specify for a stay in an availability search. If start date and end date are both specified, then this parameter will be overridden. If neither are specified, then the current date will be used for the start date1
sbe_leadTimedata-lead-timefalseThe number of days to add to both the start or end date for an availability search. If start date and end date are not specified, then the current date will be used for the start date, with a stay length of 1 night1
sbe_roomsdata-roomsfalseThe number of rooms for an availability search1
sbe_adultsdata-adultsfalseThe number of adults for an availability search2
sbe_childrendata-childrenfalseThe number of children for an availability search0
sbe_roomCodedata-room-codefalseThe alphanumeric code used to identify the Room Type. Ex: "SKNG"n/a
sbe_rateCodedata-rate-codefalseThe alphanumeric code used to identify a public rate code. Use this over the "Promo Code" field if the rate is not gatedn/a
sbe_promoCodedata-promo-codefalseThe alphanumeric code is used to identify a promotional rate or discount code. Use "Promo Code" if the rate is gated or a discount code that applies to a rate coden/a
sbe_groupCodedata-group-codefalseThe alphanumeric code is used to identify a group or inventory block code. The group code may be distinct from the Rate Code associated with the Groupn/a

| sbe_packageId | data-package-id | false | The numeric id is used to identify a Package (a Rate bundled with some set of Add-Ons). This is currently only implemented with support in SHR Windsurfer | n/a |

Note on Past Dates

If either startDate or endDate are specified to be in the past, or are calculated to be in the past through the use of stayLength or leadTime, we will treat it as if none of startDate, endDate, stayLength, and leadTime were specified.

Query Parameter Specifics

All query parameters are pre-fixed with sbe_ to denote their usage within the Skipper Booking Engine. This update was done with v4.0.0 to prevent conflicting parameters that may be used by other interactions and uses cases on the partner website. To support backwards compatability, we will support the old parameter format until February 2023.

Example

https://www.examplehotel.com/?sbe_openBE=true&sbe_startDate=2022-10-10&sbe_endDate=2022-10-20&sbe_rateCode=BAR

Data Attributes Specifics

Usage Notes

  • This API is intended to augment elements, usually CTA buttons, in our customers' website to invoke the booking engine in a parameterized way.

  • All CTAs that should serve as an entry point to the booking widget should have their:

    • id attribute set to a value contained in targetIds

    OR

    • one of the tokens in their class attribute be contained in targetClasses

Examples

<button
class="skipper-target-class button--standard"
data-start-date="2022-10-10"
data-end-date="2022-10-20"
data-rate-code="BAR"
data-room-code="KING"
>
Click Me
</button>
<a href="#" id="skipper-main-reserve-cta">Reserve</a>
<div
class="skipper-offer-cta"
data-rate-code="VALENTINE"
data-start-date="2022-02-12"
data-end-date="2022-02-15"
>
Select Offer
</div>