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.
- Deep Linking via URL Query Parameters
- 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 Name | Data Attribute Name | Required | Description | Default Value |
---|---|---|---|---|
sbe_openBE | n/a | false | Determines 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 specified | false |
sbe_startPage | data-start-page | false | The page type that you want the guest to land on. Configuration Options:
| rooms |
sbe_hotelId | data-hotel-id | false | The 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 groupId | n/a |
sbe_startDate | data-start-date | false | The check-in date for an availability search. Specified in YYYY-MM-DD format | +leadTime days of the current date |
sbe_endDate | data-end-date | false | The check-out date for an availability search. Specified in YYYY-MM-DD format | +stayLength days of startDate |
sbe_stayLength | data-stay-length | false | The 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 date | 1 |
sbe_leadTime | data-lead-time | false | The 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 night | 1 |
sbe_rooms | data-rooms | false | The number of rooms for an availability search | 1 |
sbe_adults | data-adults | false | The number of adults for an availability search | 2 |
sbe_children | data-children | false | The number of children for an availability search | 0 |
sbe_roomCode | data-room-code | false | The alphanumeric code used to identify the Room Type. Ex: "SKNG" | n/a |
sbe_rateCode | data-rate-code | false | The alphanumeric code used to identify a public rate code. Use this over the "Promo Code" field if the rate is not gated | n/a |
sbe_promoCode | data-promo-code | false | The 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 code | n/a |
sbe_groupCode | data-group-code | false | The 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 Group | n/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 intargetIds
OR
- one of the tokens in their
class
attribute be contained intargetClasses
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>