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

 

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

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

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