TOPSAIL™ Implementation Guide: Deep Link URL Layout
A deep link is a special URL that routes to a specific spot, whether that's on a booking engine or website.
The following guide walks through how to set up deep links into the TopSail™ Internet Booking Engine from SHR.
Base TopSail™ URL: https://res.windsurfercrs.com/ibe/index.aspx?
Variables are all appended onto the base link following the ‘?’. Additional variables can be added to the end of the URL by adding a ‘&’.
Example URL: https://res.windsurfercrs.com/ibe/index.aspx?propertyID=1002&checkin=11/01/2022
- 1 Property ID/Code Variables
- 2 Default Landing Page View Variables
- 3 Landing Page View for Calendar Driven Shopping
- 4 Language and Currency Variables
- 5 Calendar Variables
- 5.1 checkin - Arrival date, Format: MM/DD/YYYY (e.g. 12/01/2022 for December 1st, 2022)
- 5.2 checkout - Departure date, Format: MM/DD/YYYY (e.g. 12/03/2022 for December 3rd, 2022)
- 5.3 nights - Number of nights stayed (numeric value)
- 5.4 opencalendar=1 – Opens calendar automatically
- 5.5 suppressavail=1 - Works in conjunction with ‘open calendar’ allowing the system to ignore restrictions and still open the calendar to view
- 6 Occupancy Variables
- 6.1 adults – Specifies the number of adults per room (numeric value)
- 6.2 children – Specifies the number of children per room (numeric value)
- 6.3 rooms – Specifies the number of rooms in the request (numeric value 1-5)
- 6.4 bed – Bed Type (King=10, Queen=20, Double=30, Twin=40)
- 6.5 nonsmoking – Smoking or non-smoking rooms (YES = Non smoking room, NO or empty = no preference)
- 7 Room Type, Rate Code and Package Variables
- 8 Access and ID Code Variables
- 9 Loyalty Variables
- 10 IBE Reservation Confirmation Page Variables
- 11 Appendix
- 11.1 Language ID List
- 11.2 Currency ID List
Property ID/Code Variables
PCode – CRS Property code in Windsurfer CRS
• Found under Property Description > Address/Contacts > CRS Property ID
propertyID – CRS property numeric ID
• All clients: Found by hovering over the property name in Windsurfer CRS
• Multi-property clients: also found next to the property name in the select property drop-down box in Windsurfer CRS
Default Landing Page View Variables
viewtype= 1 results in List View Default
viewtype=2 results in Price View sorted Low to High
viewtype=3 results in Price view sorted High to Low
viewtype=4 results in Grid View Default
Landing Page View for Calendar Driven Shopping
viewtype=1 results in SortBy: Price: (Low to High)
viewtype=2 results in SortBy: Price: (Low to High)
viewtype=3 results in SortBy: Price: (High to Low)
Language and Currency Variables
langID – Property language (numerical value)
• See Language ID List for full details
• Default is &langID=1 for US English
currID – Currency ID (numeric value)
• See Currency ID List for full details
• Will default to the currency listed as default in Property Description > Currency
Calendar Variables
checkin - Arrival date, Format: MM/DD/YYYY (e.g. 12/01/2022 for December 1st, 2022)
checkout - Departure date, Format: MM/DD/YYYY (e.g. 12/03/2022 for December 3rd, 2022)
nights - Number of nights stayed (numeric value)
opencalendar=1 – Opens calendar automatically
suppressavail=1 - Works in conjunction with ‘open calendar’ allowing the system to ignore restrictions and still open the calendar to view
Occupancy Variables
adults – Specifies the number of adults per room (numeric value)
children – Specifies the number of children per room (numeric value)
rooms – Specifies the number of rooms in the request (numeric value 1-5)
bed – Bed Type (King=10, Queen=20, Double=30, Twin=40)
nonsmoking – Smoking or non-smoking rooms (YES = Non smoking room, NO or empty = no preference)
Room Type, Rate Code and Package Variables
Must use details view base URL: https://res.windsurfercrs.com/ibe/details.aspx?
Only one “Room Type, Rate Code and Package Variables” should be specified in a given URL.
Rate - Rate code (text string), Rate code as loaded in Windsurfer CRS
• Rate Code AAA – Use of “&Rate=aaa” will bring results showing the association rate offer first.
• https://res.windsurfercrs.com/ibe/index.aspx?propertyID=1002&langId=1&checkin=05/21/2022&nights=2&checkout=05/23/2022&adults=1&rooms=1&children=0&rcID=aaa
• Multiple rates can be specified by using a comma separator, no spaces between each rate code
rcID - Rate Code ID (Numeric ID)
• (Numeric ID) is the specific CRS rate code numeric ID found by hovering over the rate code directly in the CRS under Rate Management > Rate Code > Rate Code List
• Alternately, it can be found in the browser URL bar if the rate code is selected from the rate code list after “RatecodeID=”
roomType – Room Type Code
• (Alphanumeric Code) is the specific CRS rate code found on the Room Type List. CRS under Property Description Room Type Room Type List “roomType=”
rmID – Room Type ID (Numeric ID)
• (Numeric ID) is the specific CRS rate code numeric ID found by hovering over the rate code directly in the CRS under Property Description > Room Type > Room Type List
• Alternately, it can be found in the browser URL bar if the room type is selected from the room type list after “RoomTypeID=”
packageID – Package ID (Numeric ID)
• (Numeric ID) is the specific CRS rate code numeric ID found by hovering over the package directly in the CRS under Group/Package/Add-Ons > Package > Package List
• Alternately, it can be found in the browser URL bar if the package is selected from the package list after “PackageID=”
package – Package Code
• The specific CRS Package code found in the Group/Package/Add-Ons in the CRS under Group/Package/Add-Ons > Package > Package List
• “package=”<CRS package Type Code>
Access and ID Code Variables
Promo – Promo code (text string)
• Specifies a promotional rate code or ID offered by the property.
• Do not enter standard, discount, package, group, or corporate rate codes or IDs.
• https://res.windsurfercrs.com/ibe/index.aspx?propertyID=1002&langId=1&checkin=05/21/2022&nights=2&checkout=05/23/2022&adults=1&rooms=1&children=0&promo=promofall
Group – Group attendee ID (text string)
• Group attendee code: the code entered by a guest to retrieve and book a group rate.
• Group rates will not be displayed unless requested by the guest.
• Not the CRS or PMS group rate code, but what is entered in the ‘Group Code’ field on the UI of the IBE
• https://res.windsurfercrs.com/ibe/details.aspx?propertyid=1002&nights=1&checkin=01/01/2022&group=beourguest
Corp – Corporate Code (text string)
• Use of “corp=” for negotiated or corporate travelers will bring the rate within the corporate category directly to the guest.
• https://res.windsurfercrs.com/ibe/index.aspx?propertyID=1002&langId=1&checkin=05/21/2022&nights=2&checkout=05/23/2022&adults=1&rooms=1&children=0&corp=ibm
IATA – Travel agency IATA/ARC number (Numeric ID, 8 characters max)
• Assigns Travel Agent’s IATA or ARC ID to reservation made on the booking
openPromoIATA=true
This param will be used to open the Enter Additional Options ( Add Promo/ IATA ) block when we land on the Index page of IBE .
Loyalty Variables
• To force the booking engine to perform the loyalty guest login check using the configured authentication server. Should be included in the URL when hotel/CRM website are redirecting a logged-in guest to the booking engine. performAuthCheck=true
IBE Reservation Confirmation Page Variables
In order to deep link into an IBE Reservation Confirmation from 3rd party websites like Maverick CRM or the Hotel Website, the source website will need to know following things about the reservation:
• Hotel ID/Code of the property in Windsurfer
• CRS Resv # of the reservation
• Last name of the primary guest on the reservation
Once these details are known, the source website should:
• Combine the CRS Resv # and the Last Name in Upper Case using pipe | symbol
• Generate a SHA256 Hash of the above combined string
• Get lower-case hexadecimal string of the Hash
• Pass this as "resvKey" URL query param to the IBE confirmation page along with CRS Resv # in the "crsID" URL query parameter
Example - if CRS Resv # is RMSL7PBJG and Reservation primary guest name is Smith then
• Combine string will be: RMSL7PBJG|SMITH
• Lowercase hex SHA256 Hash will be : ec6eca59551334f65573a1c222b6985d95fbf6f19f60333de88b470bef6a7cca
• Windsurfer Hotel ID is: 14094
• Booking Engine base URL is: https://uat.windsurfercrs.com/ibe/
• Booking Engine direct link will be: https://uat.windsurfercrs.com/ibe/confirm.aspx?hotelID=14094&crsID=RMSL7PBJG&resvKey=ec6eca59551334f65573a1c222b6985d95fbf6f19f60333de88b470bef6a7cca
Appendix
Language ID List
Language ID = Language – Date Format | Language ID = Language – Date Format |
---|---|
1 = English – MM/dd/yyyy | 12 = Czech – dd.MM.yyyy |
2 = French – dd/MM/yyyy | 13 = Swedish – yyyy/MM/dd |
3 = Spanish – dd/MM/yyyy | 14 = Arabic – dd/MM/yyyy |
4 = German – dd.MM.yyyy | 15 = Greek – dd/MM/yyyy |
5 = Italian – dd/MM/yyyy | 16 = Hindi – MM/dd/yyyy |
6 = English (GB) – dd/MM/yyyy | 17 = Dutch – dd/MM/yyyy |
7 = Chinese (Simplified) – yyyy-‐MM-‐dd | 18 = Dutch – dd/MM/yyyy |
8 = Russian – dd.MM.yyyy | 19 = Romanian - dd/MM/yyyy |
9 = Japanese – yyyy/MM/dd | 20 = Slovak - dd/MM/yyyy |
10 = Chinese (Traditional) – yyyy-‐MM-‐dd | 21 = Korean - dd/MM/yyyy |
11 = Portuguese – dd/MM/yyyy | 22 = Bahasa Indonesia - dd/MM/yyyy |
Currency ID List
Currency ID | Currency | CSymbol |
---|---|---|
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 |
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 |