Direct booking links
Direct booking links are designed for placing guests directly in the booking engine from your website, landing pages, or emails. Since searches can be refined by specific dates, rates, and other criteria, we strongly recommend testing the entire shopper journey. This includes starting from the originating pages and exploring use cases where there is no availability. Ensuring that guests always have a clear pathway to view all available options for their selected dates or alternative dates with availability is crucial for the booking experience.
Some of the more technical details are intended for use by hoteliers and their webmasters implementing the booking engine and aligning its design with the property or brand's web presence. This is still good information to understand what is possible for your marketing and selling strategies.
β οΈImportant: The calendar driven shopping page starts on the detail page (not the index/availability page) and as a result, does not use some of these variables and those are called out in the list as they are not needed. This flow will also present the calendar to select dates prior to proceeding to the available offers as requested in the URL.
Base booking engine URLs
You can use these base URLs for different booking engine pages.
Standard property landing page (INDEX)
Standard room/offer/package/group details page (DETAILS)
Calendar driven shopping landing page (SHOP)
Standard multi-property landing page (DEFAULT)
Calendar driven multi-property landing page (SHOP)
Reservation confirmation lookup page (CONFIRM)
πNote: Variables are appended to the base link following the '?'. You can add additional variables to the end of the URL by adding a '&'.
Property identification variables
Property code (pcode)
Compatible pages: INDEX, DETAILS, SHOP
Use your CRS Property code from the CRS.
πNote: You can find this under Property Description > Address/Contacts > CRS Property ID.
Property ID or Hotel ID (propertyID / hotelID)
Compatible pages: INDEX, DETAILS, SHOP
Use your CRS property numeric ID.
π€Tip: All clients can find this by hovering over the property name in the CRS. Multi-property clients can also find it next to the property name in the select property drop-down box in the CRS.
Multi-property page variables
Hotel group ID (hgID)
Compatible pages: DEFAULT, SHOP
Use your CRS hotel group or chain numeric ID to display a list of hotels under a given chain or hotel group using the default.aspx or shop.aspx pages.
πNote: You can find this by hovering over the chain name in the CRS.
Selected hotel (selectedHotel)
Compatible pages: SHOP
Use this to pre-select a specific hotel in the multi-property view.
Format: selectedHotel=<CRS property code>
Language and currency variables
Language ID (langID)
Compatible pages: INDEX, DETAILS, SHOP
Specify the property language using a numerical value.
πNote: See Language ID List for full details. Default is &langID=1 for US English.
Currency ID (currID)
Compatible pages: INDEX, DETAILS, SHOP
Specify the currency using a numeric value.
πNote: See Currency ID List for full details. This will default to the currency listed as default in Property Description > Currency.
Calendar variables
β οΈImportant: Only use one "leadtime or checkin" variable in a given URL. Only use one "nights or checkout" variable in a given URL.
Check-in date (checkin)
Compatible pages: INDEX, DETAILS, SHOP
Specify the arrival date using the format appropriate for the selected language.
Examples:
12/01/2022 for December 1st, 2022 (EN-US)
01/12/2022 for December 1st, 2022 (EN-GB)
Check-out date (checkout)
Compatible pages: INDEX, DETAILS, SHOP
Specify the departure date using the format appropriate for the selected language.
Examples:
12/03/2022 for December 3rd, 2022 (EN-US)
03/12/2022 for December 3rd, 2022 (EN-GB)
Number of nights (nights)
Compatible pages: INDEX, DETAILS, SHOP
Specify the number of nights as a numeric value.
Lead time (leadtime)
Compatible pages: INDEX, DETAILS, SHOP
Dynamically set the check-in date relative to today.
Format: <numeric value><period (d/w/m)>
Examples:
leadtime=5d sets check-in date to 5 days from today
leadtime=2w sets check-in date to 2 weeks from today
leadtime=1m sets check-in date to 1 month from today
Open calendar automatically (opencalendar)
Compatible pages: INDEX
Set opencalendar=1 to automatically open the calendar when the page loads.
Suppress availability (suppressavail)
Compatible pages: INDEX
Set suppressavail=1 to work with 'open calendar', allowing the system to ignore restrictions and still open the calendar to view.
Occupancy variables
Adults (adults)
Compatible pages: INDEX, DETAILS, SHOP
Specify the number of adults per room as a numeric value.
Children (children)
Compatible pages: INDEX, DETAILS, SHOP
Specify the number of children per room as a numeric value.
Child age buckets (child one/two/three/four)
Compatible pages: INDEX, DETAILS, SHOP
Specify the number of children per room in specific child age buckets as numeric values.
Child ages (childAges)
Compatible pages: INDEX, DETAILS, SHOP
Specify the actual ages of children as a comma-separated list. For multi-property bookings, separate each room's ages with the | symbol.
Number of rooms (rooms)
Compatible pages: INDEX, DETAILS, SHOP
Specify the number of rooms in the request as a numeric value (one to five).
Bed type (bed)
Compatible pages: INDEX
Specify bed type preferences:
King = 10.
Queen = 20.
Double = 30.
Twin = 40.
Smoking preference (nonsmoking)
Compatible pages: INDEX
Specify smoking preferences:
Yes = Non-smoking room.
No or empty = no preference.
Room type, rate code, and package variables
β οΈImportant: You must use details or shop base URLs for these variables. Only specify one room type, rate code, or package variable per URL.
Rate code (rate)
Compatible pages: DETAILS, SHOP
Use your rate code as a text string from the CRS.
Example: Rate Code AAA β Use of &rate=aaa will bring results showing the association rate offer first.
Rate code ID (rcID)
Compatible pages: DETAILS
Use the specific CRS rate code numeric ID.
π€Tip: You can find this by hovering over the rate code directly in the CRS under Rate Management > Rate Code > Rate Code List. Alternatively, it can be found in the browser URL bar if the rate code is selected from the rate code list after "RatecodeID=".
Selected rate (selectedRate)
Compatible pages: SHOP
Use this to pre-select a specific rate in the calendar-driven shop page.
Example: Rate Code AAA β Use of &selectedRate=aaa will bring results showing the association rate offer first.
Room type code (roomType)
Compatible pages: DETAILS
Use the specific CRS room type alphanumeric code found on the Room Type List in the CRS under Property Description > Room Type > Room Type List.
Room type ID (rmID)
Compatible pages: DETAILS
Use the specific CRS room type numeric ID.
π€Tip: You can find this by hovering over the room type directly in the CRS under Property Description > Room Type > Room Type List. Alternatively, it can be found in the browser URL bar if the room type is selected from the room type list after "roomTypeID=".
Package ID (packageID)
Compatible pages: DETAILS
Use the specific CRS package numeric ID.
π€Tip: You can find this by hovering over the package directly in the CRS under Group/Package/Add-Ons > Package > Package List. Alternatively, it can be found in the browser URL bar if the package is selected from the package list after "packageID=".
Package code (package)
Compatible pages: DETAILS, SHOP
Use the specific CRS Package code found in Group/Package/Add-Ons > Package > Package List.
Format: package=<CRS package Type Code>
Selected package (selectedPackage)
Compatible pages: SHOP
Use this to pre-select a specific package in the calendar-driven shop page.
Format: selectedPackage=<CRS package Type Code>
Selected tower (selectedTower)
Compatible pages: SHOP
Use this to pre-select a specific room type group in the calendar-driven shop page.
Format: selectedTower=<CRS room type group Code>
Show qualified rates (showQualifiedRates)
Compatible pages: INDEX, DETAILS, SHOP
Set showQualifiedRates=true to control the display of qualified rates.
Access and ID code variables
Compatible pages: DETAILS, SHOP
Promotional code (promo)
Specify a promotional rate code or ID offered by the property.
β οΈImportant: Do not enter standard, discount, package, group, or corporate rate codes or IDs.
Group attendee ID (group)
Use the group attendee code that guests enter to retrieve and book group rates.
πNote: Group rates will not be displayed unless requested by the guest. This is not the CRS or PMS group rate code, but what is entered in the 'Group Code' field on the UI of the IBE.
Corporate code (corp)
Use this for negotiated or corporate travelers to bring rates within the corporate category directly to guests.
Access code (access)
Use this for restricted rates to bring rates within the restricted category associated with the given access code to guests.
IATA number (IATA)
Assign a travel agent's IATA or ARC ID to reservations made on the booking (eight characters maximum).
Branding and A/B testing variables
Brand ID (brandID)
Use the branding ID set up in your CRS as a numeric value.
A/B testing settings (settings)
Use settings=<A/B> when A/B testing is enabled in your CRS branding setup.
Results view variables
Landing page view types (viewtype)
Compatible pages: INDEX
Control how results display on the landing page:
viewtype=1 - List View (default)
viewtype=2 - Price View sorted Low to High
viewtype=3 - Price View sorted High to Low
viewtype=4 - Grid View (default)
Calendar-driven shopping page view types (viewtype)
Compatible pages: SHOP
Control sorting on the shopping page:
viewtype=1 - SortBy: Price (Low to High)
viewtype=2 - SortBy: Price (Low to High)
viewtype=3 - SortBy: Price (High to Low)
Open promo/IATA code block (openPromoIATA)
Compatible pages: INDEX
Set openPromoIATA=true to automatically open the 'Enter Additional Options (Add Promo/IATA)' block when users land on the index page of IBE.
Loyalty program variables
Use these variables when your hotel or CRM website redirects logged-in guests to the booking engine.
Perform authentication check (performAuthCheck)
Compatible pages: DEFAULT, INDEX, DETAILS, SHOP
Set performAuthCheck=true to use the silent login feature of the SSO server using prompt=none. If guests are already logged in to the same browser session, they'll be logged into IBE automatically. If not logged in, they'll return to IBE quickly without any login.
Force authentication (forceAuth)
Compatible pages: DEFAULT, INDEX, DETAILS, SHOP
Set forceAuth=true to use the normal login feature of the SSO server. If guests are already logged in to the same browser session, they'll be logged into IBE. If not logged in, they'll see the login screen.
Voucher code (voucher or vouchercode)
Compatible pages: DEFAULT, SHOP (SHR CRM only)
Use encrypted offer data for voucher codes.
πNote: Currently only supported with SHR CRM. Please contact your Customer Success Manager or support team for details.
User token (userToken)
Compatible pages: DETAILS, SHOP (specific programs only)
Use encrypted guest offer data to allow pseudo-login of guests.
πNote: Currently only supported with selected loyalty programs to allow pseudo-login of guests. Please contact your Customer Success Manager or support team for details.
Offer code (offerCode)
Compatible pages: DETAILS, SHOP (specific programs only)
Use this to pass loyalty offer codes.
πNote: Currently only supported with selected loyalty programs to allow passing loyalty offer codes. Please contact your Customer Success Manager or support team for details.
Saved cart variable
Load saved card (saved)
Compatible pages: CART
Use saved=<card id> with cart.aspx/combocheckout.aspx when the save for later or abandoned cart feature is enabled to load the previous saved cart.
Reservation confirmation variables
Reservation key (resvKey)
Compatible pages: CONFIRM
To create deep links to IBE reservation confirmations from third-party websites like our CRM landing pages or emails or hotel websites, the source website needs to know:
Hotel ID/Code of the property in the CRS.
CRS reservation number of the reservation.
Last name of the primary guest on the reservation.
Generate the reservation key
Follow the steps below to generate the reservation key.
Combine the CRS reservation number and the last name in upper case using the pipe | symbol.
Generate a SHA256 hash of the combined string.
Get the lowercase hexadecimal string of the hash.
Pass this as "resvKey" URL query parameter to the IBE confirmation page along with the CRS reservation number in the "crsID" URL query parameter along with ret=1 parameter.
Example:
CRS Reservation: RMSL7PBJG.
Guest name: Smith.
Combined string: RMSL7PBJG|SMITH.
Lowercase hex SHA256 hash: ec6eca59551334f65573a1c222b6985d95fbf6f19f60333de88b470bef6a7cca
CRS Hotel ID: 14094
Reference lists
Language ID options
Language ID - Language - Date Format
1 - English - MM/dd/yyyy
2 - French - dd/MM/yyyy
3 - Spanish - dd/MM/yyyy
4 - German - dd.MM.yyyy
5 - Italian - dd/MM/yyyy
6 - English (GB) - dd/MM/yyyy
7 - Chinese (Simplified) - yyyy-MM-dd
8 - Russian - dd.MM.yyyy
9 - Japanese - yyyy/MM/dd
10 - Chinese (Traditional) - yyyy-MM-dd
11 - Portuguese - dd/MM/yyyy
12 - Czech - dd.MM.yyyy
13 - Swedish - yyyy/MM/dd
14 - Arabic - dd/MM/yyyy
15 - Greek - dd/MM/yyyy
16 - Hindi - MM/dd/yyyy
17 - Dutch - dd/MM/yyyy
18 - Dutch - dd/MM/yyyy
19 - Romanian - dd/MM/yyyy
20 - Slovak - dd/MM/yyyy
21 - Korean - dd/MM/yyyy
22 - Bahasa Indonesia - dd/MM/yyyy
Currency ID options
Currency ID - Currency - Symbol
1 - USD - $
2 - GBP - Β£
3 - RMB - RMB
4 - AED - AED
5 - AFN - AFN
6 - ALL - ALL
7 - AMD - AMD
8 - AOA - AOA
9 - ARS - ARS
10 - AUD - AUD
11 - AWG - AWG
12 - AZN - AZN
13 - BAM - BAM
14 - BBD - BBD
15 - BDT - BDT
16 - BGN - BGN
17 - BHD - BHD
18 - BIF - BIF
19 - BMD - BMD
20 - BND - BND
21 - BOB - BOB
22 - BRL - BRL
23 - BSD - BSD
24 - BTN - BTN
25 - BWP - BWP
26 - BYR - BYR
27 - BZD - BZD
28 - CAD - CAD
29 - CDF - CDF
30 - CHF - CHF
31 - CLP - CLP
32 - CNY - Β₯
33 - COP - COP
34 - CRC - CRC
35 - CUP - CUP
36 - CVE - CVE
37 - CYP - CYP
38 - CZK - CZK
39 - DJF - DJF
40 - DKK - DKK
41 - DOP - DOP
42 - DZD - DZD
43 - EEK - EEK
44 - EGP - EGP
45 - ERN - ERN
46 - ETB - ETB
47 - EUR - β¬
48 - FJD - FJD
49 - FKP - FKP
50 - GEL - GEL
51 - GGP - GGP
52 - GHS - GHS
53 - GIP - GIP
54 - GMD - GMD
55 - GNF - GNF
56 - GTQ - GTQ
57 - GYD - GYD
58 - HKD - HKD
59 - HNL - HNL
60 - HRK - HRK
61 - HTG - HTG
62 - HUF - HUF
63 - IDR - IDR
64 - ILS - ILS
65 - IMP - IMP
66 - INR - INR
67 - IQD - IQD
68 - IRR - IRR
69 - ISK - ISK
70 - JEP - JEP
71 - JMD - JMD
72 - JOD - JOD
73 - JPY - Β₯
74 - KES - KES
75 - KGS - KGS
76 - KHR - KHR
77 - KMF - KMF
78 - KPW - KPW
79 - KRW - KRW
80 - KWD - KWD
81 - KYD - KYD
82 - KZT - KZT
83 - LAK - LAK
84 - LBP - LBP
85 - LKR - LKR
86 - LRD - LRD
87 - LSL - LSL
88 - LTL - LTL
89 - LVL - LVL
90 - LYD - LYD
91 - MAD - MAD
92 - MDL - MDL
93 - MGA - MGA
94 - MKD - MKD
95 - MMK - MMK
96 - MNT - MNT
97 - MOP - MOP
98 - MRO - MRO
99 - MTL - MTL
100 - MUR - MUR
101 - MVR - MVR
102 - MWK - MWK
103 - MXN - MXN
104 - MYR - MYR
105 - MZN - MZN
106 - NAD - NAD
107 - NGN - NGN
108 - NIO - NIO
109 - NOK - NOK
110 - NPR - NPR
111 - NZD - NZD
112 - OMR - OMR
113 - PAB - PAB
114 - PEN - PEN
115 - PGK - PGK
116 - PHP - PHP
117 - PKR - PKR
118 - PLN - PLN
119 - PYG - PYG
120 - QAR - QAR
121 - RON - RON
122 - RSD - RSD
123 - RUB - RUB
124 - RWF - RWF
125 - SAR - SAR
126 - SBD - SBD
127 - SCR - SCR
128 - SDG - SDG
129 - SEK - SEK
130 - SGD - SGD
131 - SHP - SHP
132 - SKK - SKK
133 - SLL - SLL
134 - SOS - SOS
135 - SPL - SPL
136 - SRD - SRD
137 - STD - STD
138 - SVC - SVC
139 - SYP - SYP
140 - SZL - SZL
141 - THB - THB
142 - TJS - TJS
143 - TMM - TMM
144 - TND - TND
145 - TOP - TOP
146 - TRY - TRY
147 - TTD - TTD
148 - TVD - TVD
149 - TWD - TWD
150 - TZS - TZS
151 - UAH - UAH
152 - UGX - UGX
153 - UYU - UYU
154 - UZS - UZS
155 - VEB - VEB
156 - VEF - VEF
157 - VND - VND
158 - VUV - VUV
159 - WST - WST
160 - XAF - XAF
161 - XAG - XAG
162 - XAU - XAU
163 - XCD - XCD
164 - XOF - XOF
165 - XPD - XPD
166 - XPF - XPF
167 - XPT - XPT
168 - YER - YER
169 - ZAR - ZAR
170 - ZMK - ZMK
171 - ZWD - ZWD
172 - UAE - UAE
