@curless/hotel-storefront 0.34.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aggregate/make.d.ts.map +1 -1
- package/dist/aggregate/make.js +7 -1
- package/dist/aggregate/make.js.map +1 -1
- package/dist/backend.d.ts +2 -2
- package/dist/backend.d.ts.map +1 -1
- package/dist/card.generated.d.ts +1 -1
- package/dist/card.generated.js +2 -2
- package/dist/card.generated.js.map +1 -1
- package/dist/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/huazhu/backend.d.ts +2 -2
- package/dist/huazhu/backend.d.ts.map +1 -1
- package/dist/huazhu/backend.js +38 -1
- package/dist/huazhu/backend.js.map +1 -1
- package/dist/legal.d.ts.map +1 -1
- package/dist/legal.js +118 -82
- package/dist/legal.js.map +1 -1
- package/dist/payments/checkout.d.ts +24 -1
- package/dist/payments/checkout.d.ts.map +1 -1
- package/dist/payments/checkout.js.map +1 -1
- package/dist/payments/fake-stripe.d.ts +34 -0
- package/dist/payments/fake-stripe.d.ts.map +1 -0
- package/dist/payments/fake-stripe.js +93 -0
- package/dist/payments/fake-stripe.js.map +1 -0
- package/dist/payments/stripe-checkout.d.ts +36 -0
- package/dist/payments/stripe-checkout.d.ts.map +1 -0
- package/dist/payments/stripe-checkout.js +126 -0
- package/dist/payments/stripe-checkout.js.map +1 -0
- package/dist/server.d.ts +2 -2
- package/dist/server.js +2 -2
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +34 -20
- package/dist/surface.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +42 -23
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vocab.d.ts +13 -0
- package/dist/vocab.d.ts.map +1 -1
- package/dist/vocab.js +22 -2
- package/dist/vocab.js.map +1 -1
- package/package.json +1 -1
package/dist/legal.js
CHANGED
|
@@ -35,18 +35,12 @@ const footer = (config) => {
|
|
|
35
35
|
<br><a href="./docs">What this does</a> · <a href="./privacy">Privacy</a> · <a href="./terms">Terms</a>
|
|
36
36
|
</div>`;
|
|
37
37
|
};
|
|
38
|
-
/**
|
|
39
|
-
* Where the rooms come from: a demonstration file, a simulated copy of the
|
|
40
|
-
* group's system (a test deployment), or the group's own system. Every page
|
|
41
|
-
* that says who holds a booking asks this, never `data.source` alone - an api
|
|
42
|
-
* source can be the simulation.
|
|
43
|
-
*/
|
|
44
38
|
const sourceOf = (c) => c.data.source === 'aggregate'
|
|
45
39
|
? groupsOf(c).every((g) => g.source !== 'live')
|
|
46
40
|
? 'demo'
|
|
47
41
|
: 'live'
|
|
48
42
|
: dataSource(c.data);
|
|
49
|
-
const dataSource = (d) => d.source !== 'api' ? 'demo' : d.api?.sandbox ? 'sandbox' : 'live';
|
|
43
|
+
const dataSource = (d) => d.source !== 'api' ? 'demo' : d.api?.sandbox ? 'sandbox' : d.api?.test ? 'test' : 'live';
|
|
50
44
|
/**
|
|
51
45
|
* A market's groups, and where each one's rooms come from - or none, on a
|
|
52
46
|
* group's own connector.
|
|
@@ -59,6 +53,8 @@ const dataSource = (d) => d.source !== 'api' ? 'demo' : d.api?.sandbox ? 'sandbo
|
|
|
59
53
|
const groupsOf = (c) => c.data.source === 'aggregate'
|
|
60
54
|
? (c.data.suppliers ?? []).map((x) => ({ name: x.name, source: dataSource(x.data) }))
|
|
61
55
|
: [];
|
|
56
|
+
/** A test deployment - a simulated copy of the group's system or its own test system: nothing is paid. */
|
|
57
|
+
const testing = (c) => sourceOf(c) === 'sandbox' || sourceOf(c) === 'test';
|
|
62
58
|
const andOf = (xs) => xs.length < 2 ? (xs[0] ?? '') : `${xs.slice(0, -1).join(', ')} and ${xs[xs.length - 1]}`;
|
|
63
59
|
/** One line per group, saying what `say` says about it. */
|
|
64
60
|
const perGroup = (c, say) => `<ul>${groupsOf(c)
|
|
@@ -68,18 +64,27 @@ const perGroup = (c, say) => `<ul>${groupsOf(c)
|
|
|
68
64
|
const demoBanner = (config) => config.data.source === 'aggregate'
|
|
69
65
|
? sourceOf(config) === 'live'
|
|
70
66
|
? ''
|
|
71
|
-
:
|
|
67
|
+
: groupsOf(config).some((g) => g.source === 'test')
|
|
68
|
+
? `<p><strong>This is a demonstration.</strong> Every hotel group here is a demonstration, a
|
|
69
|
+
simulated copy of its booking system or the group's own test system: none of the rates is one
|
|
70
|
+
anyone can book. Nothing booked through it reserves a real room, and no money changes hands.</p>`
|
|
71
|
+
: `<p><strong>This is a demonstration.</strong> Every hotel group here is a demonstration or a
|
|
72
72
|
simulated copy of its booking system: the properties may be real, but every rate, room count,
|
|
73
73
|
add-on price and cancellation fee was made up. Nothing booked through it reserves a real room,
|
|
74
74
|
and no money changes hands.</p>`
|
|
75
75
|
: sourceOf(config) === 'live'
|
|
76
76
|
? ''
|
|
77
|
-
: sourceOf(config) === '
|
|
78
|
-
? `<p><strong>This is a test environment.</strong> It answers from
|
|
77
|
+
: sourceOf(config) === 'test'
|
|
78
|
+
? `<p><strong>This is a test environment.</strong> It answers from ${esc(config.brand)}'s own test
|
|
79
|
+
system, not its live one: the hotels, rates and rooms are ${esc(config.brand)}'s test data, and a
|
|
80
|
+
booking made through it is a test booking in that system. It holds no room for anyone, nothing is
|
|
81
|
+
paid, and nobody needs to go to the hotel.</p>`
|
|
82
|
+
: sourceOf(config) === 'sandbox'
|
|
83
|
+
? `<p><strong>This is a test environment.</strong> It answers from a simulated copy of
|
|
79
84
|
${esc(config.brand)}'s booking system, not from ${esc(config.brand)}: the hotels, rates, rooms and fees
|
|
80
85
|
were invented for testing, and nothing booked through it is a ${esc(config.brand)} reservation.
|
|
81
86
|
No room is held and no money changes hands.</p>`
|
|
82
|
-
|
|
87
|
+
: `<p><strong>This is a demonstration.</strong> The ${esc(config.brand)} properties named here are real, but
|
|
83
88
|
every rate, room count, add-on price and cancellation fee it answers with was made up for the demo.
|
|
84
89
|
Nothing booked through it reserves a real room, and no money changes hands.</p>`;
|
|
85
90
|
/**
|
|
@@ -139,20 +144,27 @@ const marksNotice = (config) => config.data.source === 'aggregate'
|
|
|
139
144
|
? `<h2>Names and pictures</h2>
|
|
140
145
|
<p>${marketMarks(config)} ${esc(config.brand)} shows their ${esc(config.naming?.nounPlural ?? 'hotels')} side by side; it is operated by ${esc(config.legal.operator ?? 'Curless')}, is none of them, and
|
|
141
146
|
does not speak for any of them.</p>`
|
|
142
|
-
: sourceOf(config) === '
|
|
143
|
-
? `<h2>Names</h2>
|
|
147
|
+
: sourceOf(config) === 'test'
|
|
148
|
+
? `<h2>Names and pictures</h2>
|
|
149
|
+
<p>${esc(config.brand)}, the names of its brands and properties and the photographs shown on the card
|
|
150
|
+
belong to ${esc(config.brand)}, and come from its own test system. They are used here to test a
|
|
151
|
+
booking connector for ${esc(config.brand)} against that test system, before it is connected to the
|
|
152
|
+
live one. This connector is operated by ${esc(config.legal.operator ?? 'Curless')}; it is not
|
|
153
|
+
${esc(config.brand)} and does not speak for it.</p>`
|
|
154
|
+
: sourceOf(config) === 'sandbox'
|
|
155
|
+
? `<h2>Names</h2>
|
|
144
156
|
<p>${esc(config.brand)} and the names of its brands belong to ${esc(config.brand)}. They are used here to
|
|
145
157
|
test a booking connector for ${esc(config.brand)} against a simulated copy of its distribution system,
|
|
146
158
|
before it is connected to the real one; the hotels shown are invented. This connector is operated by
|
|
147
159
|
${esc(config.legal.operator ?? 'Curless')}; it is not ${esc(config.brand)} and does not speak for it.</p>
|
|
148
160
|
<p>${stockPhotos(config.brand)}</p>`
|
|
149
|
-
|
|
150
|
-
|
|
161
|
+
: sourceOf(config) === 'live'
|
|
162
|
+
? `<h2>Names and pictures</h2>
|
|
151
163
|
<p>${esc(config.brand)}, the names of its properties and the photographs shown on the card belong to
|
|
152
164
|
${esc(config.brand)}, and come from its own distribution system. This connector is operated by
|
|
153
165
|
${esc(config.legal.operator ?? 'Curless')}, which sells ${esc(config.brand)}'s rooms as a distributor;
|
|
154
166
|
it is not ${esc(config.brand)}.</p>`
|
|
155
|
-
|
|
167
|
+
: `<h2>Names and pictures</h2>
|
|
156
168
|
<p>${esc(config.brand)}, the names of its properties and the photographs shown on the card belong to
|
|
157
169
|
${esc(config.brand)}. They are used here to demonstrate a booking connector against the group's real
|
|
158
170
|
property list. This connector is operated by ${esc(config.legal.operator ?? 'Curless')} and is not
|
|
@@ -164,11 +176,13 @@ export const docsPage = (config, caps = FULL_CAPABILITIES) => shell('What this c
|
|
|
164
176
|
${esc(config.brand)} holds no booking itself.</p>
|
|
165
177
|
${demoBanner(config)}
|
|
166
178
|
<h2>Who a booking is with</h2>
|
|
167
|
-
${perGroup(config, (g) => g.source === '
|
|
168
|
-
? `a booking in
|
|
169
|
-
: g.source === '
|
|
170
|
-
? `a
|
|
171
|
-
:
|
|
179
|
+
${perGroup(config, (g) => g.source === 'test'
|
|
180
|
+
? `a test booking in ${esc(g.name)}'s own test system, for testing: a confirmation code there, no room held for anyone, nothing paid.`
|
|
181
|
+
: g.source === 'sandbox'
|
|
182
|
+
? `a booking in a simulated copy of ${esc(g.name)}'s booking system, for testing: a confirmation code there, no room, nothing paid. Its ${esc(config.naming?.nounPlural ?? 'hotels')} are invented. ${stockPhotos(g.name)}`
|
|
183
|
+
: g.source === 'demo'
|
|
184
|
+
? `a demonstration booking request: a confirmation code is issued, but ${esc(g.name)} does not receive it and no room is held.`
|
|
185
|
+
: `${esc(g.name)}'s own booking, made in its system under its terms; this connector takes no payment.`)}
|
|
172
186
|
<h2>What it will not do</h2>
|
|
173
187
|
<ul>
|
|
174
188
|
<li><strong>Take payment.</strong> This connector collects no card details and charges nothing.</li>
|
|
@@ -178,14 +192,16 @@ export const docsPage = (config, caps = FULL_CAPABILITIES) => shell('What this c
|
|
|
178
192
|
${footer(config)}`
|
|
179
193
|
: `<h1>${esc(config.brand)} ${esc(config.naming?.nounPlural ?? 'hotels')}</h1>
|
|
180
194
|
<p>An MCP connector that lets an AI assistant look up ${esc(config.brand)} properties, price a stay on
|
|
181
|
-
given nights, put ${caps.extras ? 'rooms and add-ons' : 'rooms'} into a trip, and ${sourceOf(config) === '
|
|
182
|
-
? 'book those rooms in a
|
|
183
|
-
:
|
|
184
|
-
? 'book those rooms
|
|
185
|
-
:
|
|
186
|
-
?
|
|
187
|
-
|
|
188
|
-
|
|
195
|
+
given nights, put ${caps.extras ? 'rooms and add-ons' : 'rooms'} into a trip, and ${sourceOf(config) === 'test'
|
|
196
|
+
? 'book those rooms in its own test system, for testing - a test booking holds no room for anyone'
|
|
197
|
+
: sourceOf(config) === 'sandbox'
|
|
198
|
+
? 'book those rooms in a simulated copy of its system, for testing'
|
|
199
|
+
: caps.booking === 'pay-at-hotel'
|
|
200
|
+
? 'book those rooms, to be paid at the hotel'
|
|
201
|
+
: sourceOf(config) === 'demo'
|
|
202
|
+
? // The list below says nothing is held - this line said "held" (2026-10-05 audit, P3).
|
|
203
|
+
'make a demonstration booking request for them - nothing is held and nothing is paid'
|
|
204
|
+
: 'ask for those rooms to be held'}.</p>
|
|
189
205
|
${demoBanner(config)}${sourceOf(config) === 'sandbox' ? `\n <p>${stockPhotos(config.brand)}</p>` : ''}
|
|
190
206
|
<h2>What it can do</h2>
|
|
191
207
|
<ul>
|
|
@@ -193,13 +209,15 @@ export const docsPage = (config, caps = FULL_CAPABILITIES) => shell('What this c
|
|
|
193
209
|
<li>Show one property's rooms for specific nights, with the stay total including taxes and fees,
|
|
194
210
|
the cancellation terms, and how many rooms are left.</li>
|
|
195
211
|
<li>Build a trip of room nights${caps.extras ? ' and add-ons' : ''}, and price it.</li>
|
|
196
|
-
<li>${sourceOf(config) === '
|
|
197
|
-
?
|
|
198
|
-
:
|
|
199
|
-
?
|
|
200
|
-
:
|
|
201
|
-
? `
|
|
202
|
-
:
|
|
212
|
+
<li>${sourceOf(config) === 'test'
|
|
213
|
+
? `Book: each stay becomes a test booking in ${esc(config.brand)}'s test system, with its own confirmation code - it holds no room for anyone.`
|
|
214
|
+
: sourceOf(config) === 'sandbox'
|
|
215
|
+
? 'Book: each stay becomes a reservation in the simulated system, with its own confirmation code.'
|
|
216
|
+
: caps.booking === 'pay-at-hotel'
|
|
217
|
+
? `Book: each stay becomes ${esc(config.brand)}'s own reservation, with its own confirmation code, paid at the hotel.`
|
|
218
|
+
: sourceOf(config) === 'demo'
|
|
219
|
+
? `Request a demonstration booking: a confirmation code is issued, but ${esc(config.brand)} does not receive it and no room is held.`
|
|
220
|
+
: 'Request a booking: the rooms are held and a confirmation code is issued.'}</li>
|
|
203
221
|
<li>Show what cancelling would cost before anything is cancelled, then cancel.</li>
|
|
204
222
|
${caps.policies === false ? '' : "<li>Answer from the property's own published policies.</li>"}
|
|
205
223
|
</ul>
|
|
@@ -212,8 +230,8 @@ export const docsPage = (config, caps = FULL_CAPABILITIES) => shell('What this c
|
|
|
212
230
|
: 'Take payment'}.</strong> ${config.payment?.mode === 'wallet'
|
|
213
231
|
? 'A charge follows the guest pressing pay, never an assistant deciding to.'
|
|
214
232
|
: caps.prepaid
|
|
215
|
-
? `A rate marked paid in advance is paid by the guest on the card page of ${esc(config.legal.operator ?? 'Curless')}'s payment gateway, run by Stripe${
|
|
216
|
-
:
|
|
233
|
+
? `A rate marked paid in advance is paid by the guest on the card page of ${esc(config.legal.operator ?? 'Curless')}'s payment gateway, run by Stripe${testing(config) ? ' - here in test mode: test cards only, and no real money moves' : ''}. Card details go to Stripe; this connector never sees them, and charges nothing itself. Every other rate is paid at the hotel${testing(config) ? ', and in this test environment nothing is paid anywhere' : ''}.`
|
|
234
|
+
: testing(config)
|
|
217
235
|
? 'This connector collects no card details and charges nothing, and in this test environment nothing is paid anywhere.'
|
|
218
236
|
: sourceOf(config) === 'demo'
|
|
219
237
|
? 'This connector collects no card details and charges nothing, and a demonstration booking is never paid anywhere.'
|
|
@@ -247,20 +265,24 @@ persisted = false) => shell('Privacy', config.brand, `<h1>Privacy</h1>
|
|
|
247
265
|
early check-in or a late arrival), your arrival time and any note, the dates, rooms and price${sourceOf(config) === 'demo'
|
|
248
266
|
? ',\n and the reason if you give one for cancelling'
|
|
249
267
|
: ''}. ${config.data.source === 'aggregate'
|
|
250
|
-
? `Where it goes is the group's whose ${esc(config.naming?.noun ?? 'hotel')} it is:${perGroup(config, (g) => g.source === '
|
|
251
|
-
? `sent to
|
|
252
|
-
: g.source === '
|
|
253
|
-
? `sent to ${esc(g.name)}
|
|
254
|
-
:
|
|
255
|
-
? `
|
|
256
|
-
:
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
268
|
+
? `Where it goes is the group's whose ${esc(config.naming?.noun ?? 'hotel')} it is:${perGroup(config, (g) => g.source === 'test'
|
|
269
|
+
? `sent to ${esc(g.name)}'s own test system - not its live one - which keeps it as a test booking; this connector also keeps a copy on its own server until 90 days after the check-out date.`
|
|
270
|
+
: g.source === 'sandbox'
|
|
271
|
+
? `sent to a simulated copy of ${esc(g.name)}'s system that ${esc(config.legal.operator ?? 'Curless')} runs on the same server - never to ${esc(g.name)} - and both keep it until 90 days after the check-out date.`
|
|
272
|
+
: g.source === 'live'
|
|
273
|
+
? `sent to ${esc(g.name)}, who make and keep the reservation; this connector also keeps a copy on its own server until 90 days after the check-out date, so that the booking can be found and cancelled from the conversation.`
|
|
274
|
+
: persisted
|
|
275
|
+
? `a demonstration: ${esc(g.name)} never receives it. It is kept on this connector's server until 90 days after the check-out date, and then deleted.`
|
|
276
|
+
: `a demonstration: ${esc(g.name)} never receives it. It is kept in memory for as long as this process runs, and nothing is written to disk.`)}`
|
|
277
|
+
: sourceOf(config) === 'test'
|
|
278
|
+
? `In this test environment it is sent to ${esc(config.brand)}'s own test system - not its live one - which keeps it as a test booking; this connector also keeps a copy on its own server until 90 days after the check-out date, so that the booking can be found and cancelled from the conversation.`
|
|
279
|
+
: sourceOf(config) === 'sandbox'
|
|
280
|
+
? `In this test environment it is sent to a simulated copy of ${esc(config.brand)}'s system that ${esc(config.legal.operator ?? 'Curless')} runs on the same server - never to ${esc(config.brand)} - and both keep it until 90 days after the check-out date, so that the booking can be found and cancelled from the conversation.`
|
|
281
|
+
: sourceOf(config) === 'live'
|
|
282
|
+
? `It is sent to ${esc(config.brand)}, who make and keep the reservation - the name, the email, the phone number, the dates, the rooms and the requests, which reach the hotel's desk. This connector also keeps a copy on its own server, until 90 days after the check-out date, so that the booking can be found and cancelled from the conversation: ${esc(config.brand)}'s system does not give back the email a booking was made with. A booking a person here has to confirm or cancel with ${esc(config.brand)} by hand is kept until 90 days after that is done, if that is later.`
|
|
283
|
+
: persisted
|
|
284
|
+
? "In this demonstration it is kept on this connector's server until 90 days after the check-out date, so that the booking can be found and cancelled from the conversation, and then deleted."
|
|
285
|
+
: 'In this demonstration it is kept in memory for as long as this process runs, and nothing is written to disk; once there are many, bookings that are over are forgotten first.'}</li>
|
|
264
286
|
<li><strong>Who can open a booking.</strong> The conversation it was made in — and anyone who
|
|
265
287
|
gives its confirmation code together with the email it was made with, as a front desk would
|
|
266
288
|
ask. That pair lets the booking be ${caps.changes ? 'read, changed or cancelled' : 'read or cancelled'}, from another conversation too,
|
|
@@ -320,7 +342,9 @@ sourceOf(config) !== 'demo' || groupsOf(config).some((g) => g.source !== 'demo')
|
|
|
320
342
|
? marketPictures(config)
|
|
321
343
|
: sourceOf(config) === 'sandbox'
|
|
322
344
|
? 'stock photographs - not pictures of these hotels, which are invented -'
|
|
323
|
-
:
|
|
345
|
+
: sourceOf(config) === 'test'
|
|
346
|
+
? `the photographs ${esc(config.brand)}'s test system has for its test hotels,`
|
|
347
|
+
: "the hotels' own photographs,"} loaded straight from ${imageHosts
|
|
324
348
|
.map((h) => `<code>${esc(h.replace(/^https?:\/\//, ''))}</code>`)
|
|
325
349
|
.join(', ')}. As with any picture on the web, that host sees the address of the device the card
|
|
326
350
|
is open on when it loads one. Nothing else is sent to it.</p>`
|
|
@@ -342,39 +366,51 @@ export const termsPage = (config, caps = FULL_CAPABILITIES) => shell('Terms', co
|
|
|
342
366
|
your behalf. ${config.data.source === 'aggregate'
|
|
343
367
|
? `It shows the ${esc(config.naming?.nounPlural ?? 'hotels')} of several groups side by side; ${esc(config.brand)} is not a hotel and holds no booking. ${sourceOf(config) === 'live'
|
|
344
368
|
? "Each group's rooms, rates and policies come from that group, and a booking is between you and it."
|
|
345
|
-
:
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
369
|
+
: groupsOf(config).some((g) => g.source === 'test')
|
|
370
|
+
? "The rates, availability, fees, descriptions and policies it shows come from demonstration files, simulated booking systems and the groups' own test systems, and do not reserve anything."
|
|
371
|
+
: 'The rates, availability, fees, descriptions and policies it shows come from demonstration files and simulated booking systems, and do not reserve anything.'}`
|
|
372
|
+
: sourceOf(config) === 'test'
|
|
373
|
+
? `The hotels, rates and availability it shows come from ${esc(config.brand)}'s own test system, for testing, and do not reserve anything.`
|
|
374
|
+
: sourceOf(config) === 'sandbox'
|
|
375
|
+
? 'The hotels, rates and availability it shows come from a simulated booking system, for testing, and do not reserve anything.'
|
|
376
|
+
: sourceOf(config) === 'live'
|
|
377
|
+
? `The rooms, rates and policies come from ${esc(config.brand)}; the booking is between you and them.`
|
|
378
|
+
: // Said as the fence around a policy says it - written for the demo,
|
|
379
|
+
// not the hotel's own words (2026-10-05 audit, P3).
|
|
380
|
+
'The rates, availability, fees, descriptions and policies it shows were written for this demonstration and do not reserve anything.'}</p>
|
|
353
381
|
<h2>Bookings</h2>
|
|
354
382
|
${config.data.source === 'aggregate'
|
|
355
383
|
? `<p>A booking is made with the group the ${esc(config.naming?.noun ?? 'hotel')} belongs to, one group at a time, under that group's terms; this connector takes no payment.</p>
|
|
356
|
-
${perGroup(config, (g) => g.source === '
|
|
357
|
-
? `
|
|
358
|
-
: g.source === '
|
|
359
|
-
? `
|
|
360
|
-
:
|
|
384
|
+
${perGroup(config, (g) => g.source === 'test'
|
|
385
|
+
? `a test booking in ${esc(g.name)}'s own test system: it holds no room for anyone, and nothing is paid. Its cancellation terms are the test rate's.`
|
|
386
|
+
: g.source === 'sandbox'
|
|
387
|
+
? `made in a simulated copy of ${esc(g.name)}'s system: it reserves no room, and nothing is paid. Its cancellation terms are the simulated rate's.`
|
|
388
|
+
: g.source === 'demo'
|
|
389
|
+
? `a demonstration, not a confirmed reservation: ${esc(g.name)} does not receive it, no real room is held, and nothing is paid. Its demonstration hold lapses at the time stated on the confirmation, and its cancellation terms were written for this demonstration.`
|
|
390
|
+
: `${esc(g.name)}'s own booking, under its terms. Its cancellation terms are the property's own.`)}
|
|
361
391
|
<p>Cancellation terms are shown in full before anything is cancelled.</p>`
|
|
362
|
-
: `<p>${sourceOf(config) === '
|
|
363
|
-
? `In this test environment a booking is
|
|
364
|
-
? ". A rate marked paid in advance is paid first, on the payment gateway's card page in test mode, and booked once it is paid; if the
|
|
365
|
-
: ',
|
|
366
|
-
: config
|
|
367
|
-
?
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
392
|
+
: `<p>${sourceOf(config) === 'test'
|
|
393
|
+
? `In this test environment a booking is a test booking in ${esc(config.brand)}'s own test system: it holds no room for anyone${caps.prepaid
|
|
394
|
+
? ". A rate marked paid in advance is paid first, on the payment gateway's card page in test mode, and booked once it is paid; if the test system does not take it, or it is cancelled in its free period, all of it goes back. Nothing else is paid."
|
|
395
|
+
: ', nothing is paid, and nobody needs to go to the hotel.'}`
|
|
396
|
+
: sourceOf(config) === 'sandbox'
|
|
397
|
+
? `In this test environment a booking is made in a simulated copy of ${esc(config.brand)}'s system: it reserves no room${caps.prepaid
|
|
398
|
+
? ". A rate marked paid in advance is paid first, on the payment gateway's card page in test mode, and booked once it is paid; if the simulated system does not take it, or it is cancelled in its free period, all of it goes back. Nothing else is paid."
|
|
399
|
+
: ', and nothing is paid.'}`
|
|
400
|
+
: config.payment?.mode === 'wallet'
|
|
401
|
+
? 'A booking is confirmed once payment completes. Until then the rooms are held only.'
|
|
402
|
+
: caps.booking === 'pay-at-hotel'
|
|
403
|
+
? `A booking is ${esc(config.brand)}'s own reservation, made in your name and paid at the hotel under its terms; this connector takes no payment. A booking whose confirmation has not come back from ${esc(config.brand)} is said to be waiting until it has.`
|
|
404
|
+
: sourceOf(config) === 'demo'
|
|
405
|
+
? `A booking request here is a demonstration and is not a confirmed reservation: ${esc(config.brand)} does not receive it, no real room is held, and nothing is paid. Its demonstration hold lapses at the time stated on the confirmation.`
|
|
406
|
+
: 'A booking request holds rooms; it takes no payment and is not a confirmed reservation. The hold lapses at the time stated on the confirmation.'} ${sourceOf(config) === 'test'
|
|
407
|
+
? 'Cancellation terms are the test rate’s, and are'
|
|
408
|
+
: sourceOf(config) === 'sandbox'
|
|
409
|
+
? 'Cancellation terms are the simulated rate’s, and are'
|
|
410
|
+
: sourceOf(config) === 'demo'
|
|
411
|
+
? // Written for the demo like everything else here - not the property's (2026-10-05 audit, P3).
|
|
412
|
+
'Cancellation terms were written for this demonstration, and are'
|
|
413
|
+
: "Cancellation terms are the property's own, and are"} shown in full before anything is cancelled.</p>`}
|
|
378
414
|
<h2>No warranty</h2>
|
|
379
415
|
<p>This connector is provided as is. ${sourceOf(config) === 'live'
|
|
380
416
|
? 'Rates and availability can change between a quote and a booking.'
|
package/dist/legal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legal.js","sourceRoot":"","sources":["../src/legal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legal.js","sourceRoot":"","sources":["../src/legal.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,12 +23,35 @@ export type CheckoutOptions = {
|
|
|
23
23
|
fetch?: typeof fetch;
|
|
24
24
|
timeoutMs?: number;
|
|
25
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* What the booking path takes a guest's money through - the agentbank
|
|
28
|
+
* gateway (`GatewayCheckout`) or, while the gateway cannot take it, Stripe
|
|
29
|
+
* directly in test mode (`StripeCheckout`, 2026-10-15). It does not know which.
|
|
30
|
+
*/
|
|
31
|
+
export type Checkout = {
|
|
32
|
+
readonly method: PaymentMethod;
|
|
33
|
+
/** A page for one stay, at the total the guest was shown. `ref` is the booking's distributorResId. */
|
|
34
|
+
open(o: {
|
|
35
|
+
ref: string;
|
|
36
|
+
title: string;
|
|
37
|
+
amountMinor: number;
|
|
38
|
+
currency: string;
|
|
39
|
+
}): Promise<OpenedCheckout>;
|
|
40
|
+
state(sessionId: string): Promise<CheckoutState>;
|
|
41
|
+
close(sessionId: string): Promise<CheckoutState>;
|
|
42
|
+
refund(sessionId: string, reason: string): Promise<{
|
|
43
|
+
requestId: string;
|
|
44
|
+
status: string;
|
|
45
|
+
}>;
|
|
46
|
+
/** requested, approved (on its way), refunded, failed or rejected. */
|
|
47
|
+
refundState(requestId: string): Promise<string>;
|
|
48
|
+
};
|
|
26
49
|
/** The gateway refused, or could not be reached - with what it said. */
|
|
27
50
|
export declare class CheckoutError extends Error {
|
|
28
51
|
readonly status?: number | undefined;
|
|
29
52
|
constructor(message: string, status?: number | undefined);
|
|
30
53
|
}
|
|
31
|
-
export declare class GatewayCheckout {
|
|
54
|
+
export declare class GatewayCheckout implements Checkout {
|
|
32
55
|
private readonly opts;
|
|
33
56
|
private readonly fetch;
|
|
34
57
|
readonly method: PaymentMethod;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/payments/checkout.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG;IAC3B,0FAA0F;IAC1F,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,8FAA8F;IAC9F,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wEAAwE;AACxE,qBAAa,aAAc,SAAQ,KAAK;IAGpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;gBADxB,OAAO,EAAE,MAAM,EACN,MAAM,CAAC,EAAE,MAAM,YAAA;CAK3B;AAQD,qBAAa,
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../src/payments/checkout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/payments/checkout.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,2EAA2E;AAC3E,8CAA8C;AAC9C,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,6CAA6C;
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../src/payments/checkout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
type Session = {
|
|
2
|
+
id: string;
|
|
3
|
+
url: string;
|
|
4
|
+
status: 'open' | 'complete' | 'expired';
|
|
5
|
+
payment_status: 'paid' | 'unpaid';
|
|
6
|
+
amount: number;
|
|
7
|
+
currency: string;
|
|
8
|
+
ref?: string;
|
|
9
|
+
expiresAt: number;
|
|
10
|
+
payment_intent: string | null;
|
|
11
|
+
};
|
|
12
|
+
type Refund = {
|
|
13
|
+
id: string;
|
|
14
|
+
payment_intent: string;
|
|
15
|
+
status: 'pending' | 'succeeded' | 'failed';
|
|
16
|
+
};
|
|
17
|
+
export declare const createFakeStripe: (opts: {
|
|
18
|
+
apiKey: string;
|
|
19
|
+
}) => {
|
|
20
|
+
sessions: Map<string, Session>;
|
|
21
|
+
refunds: Map<string, Refund>;
|
|
22
|
+
calls: {
|
|
23
|
+
method: string;
|
|
24
|
+
path: string;
|
|
25
|
+
form: Record<string, string>;
|
|
26
|
+
}[];
|
|
27
|
+
fetch: typeof fetch;
|
|
28
|
+
/** The guest pays on the page. */
|
|
29
|
+
pay(id: string): void;
|
|
30
|
+
/** The money arrives back on the card. */
|
|
31
|
+
settleRefunds(): void;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=fake-stripe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-stripe.d.ts","sourceRoot":"","sources":["../../src/payments/fake-stripe.ts"],"names":[],"mappings":"AAMA,KAAK,OAAO,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACxC,cAAc,EAAE,MAAM,GAAG,QAAQ,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,KAAK,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;CAAE,CAAC;AAEjG,eAAO,MAAM,gBAAgB,GAAI,MAAM;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;;;gBAGhC,MAAM;cAAQ,MAAM;cAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;WAsE/D,OAAO,KAAK;IACpB,kCAAkC;YAC1B,MAAM;IAOd,0CAA0C;;CAK7C,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// Stripe's Checkout and refund API, in memory - what `StripeCheckout` talks
|
|
2
|
+
// to - so a stay paid in advance on Stripe can be run through in a test with
|
|
3
|
+
// no Stripe and no card. It keeps Stripe's own rules: only the account's own
|
|
4
|
+
// key, an expired or paid page cannot be expired again, a refund only of a
|
|
5
|
+
// payment that was made.
|
|
6
|
+
export const createFakeStripe = (opts) => {
|
|
7
|
+
const sessions = new Map();
|
|
8
|
+
const refunds = new Map();
|
|
9
|
+
const calls = [];
|
|
10
|
+
let seq = 0;
|
|
11
|
+
const json = (status, body) => new Response(JSON.stringify(body), { status, headers: { 'content-type': 'application/json' } });
|
|
12
|
+
const err = (status, message) => json(status, { error: { message } });
|
|
13
|
+
const handle = async (url, init) => {
|
|
14
|
+
const method = (init.method ?? 'GET').toUpperCase();
|
|
15
|
+
const path = url.pathname;
|
|
16
|
+
const form = Object.fromEntries(new URLSearchParams(String(init.body ?? '')));
|
|
17
|
+
calls.push({ method, path, form });
|
|
18
|
+
if (new Headers(init.headers).get('authorization') !== `Bearer ${opts.apiKey}`)
|
|
19
|
+
return err(401, 'Invalid API Key provided');
|
|
20
|
+
if (method === 'POST' && path === '/v1/checkout/sessions') {
|
|
21
|
+
const amount = Number(form['line_items[0][price_data][unit_amount]']);
|
|
22
|
+
if (!(amount > 0))
|
|
23
|
+
return err(400, 'unit_amount must be positive');
|
|
24
|
+
const id = `cs_test_${++seq}`;
|
|
25
|
+
const s = {
|
|
26
|
+
id,
|
|
27
|
+
url: `https://checkout.stripe.com/c/pay/${id}`,
|
|
28
|
+
status: 'open',
|
|
29
|
+
payment_status: 'unpaid',
|
|
30
|
+
amount,
|
|
31
|
+
currency: String(form['line_items[0][price_data][currency]']),
|
|
32
|
+
...(form['metadata[ref]'] ? { ref: form['metadata[ref]'] } : {}),
|
|
33
|
+
expiresAt: Number(form.expires_at),
|
|
34
|
+
payment_intent: null,
|
|
35
|
+
};
|
|
36
|
+
sessions.set(id, s);
|
|
37
|
+
return json(200, s);
|
|
38
|
+
}
|
|
39
|
+
const sessionPath = /^\/v1\/checkout\/sessions\/([^/]+)(\/expire)?$/.exec(path);
|
|
40
|
+
if (sessionPath) {
|
|
41
|
+
const s = sessions.get(decodeURIComponent(sessionPath[1] ?? ''));
|
|
42
|
+
if (!s)
|
|
43
|
+
return err(404, 'No such checkout.session');
|
|
44
|
+
if (method === 'GET')
|
|
45
|
+
return json(200, s);
|
|
46
|
+
if (method === 'POST' && sessionPath[2]) {
|
|
47
|
+
if (s.status !== 'open')
|
|
48
|
+
return err(400, 'Only Checkout Sessions with a status of open can be expired.');
|
|
49
|
+
s.status = 'expired';
|
|
50
|
+
return json(200, s);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (method === 'POST' && path === '/v1/refunds') {
|
|
54
|
+
const paid = [...sessions.values()].find((s) => s.payment_intent === form.payment_intent);
|
|
55
|
+
if (!paid || paid.status !== 'complete')
|
|
56
|
+
return err(400, 'No such payment_intent');
|
|
57
|
+
if ([...refunds.values()].some((r) => r.payment_intent === form.payment_intent))
|
|
58
|
+
return err(400, 'Charge has already been refunded.');
|
|
59
|
+
const id = `re_test_${++seq}`;
|
|
60
|
+
const r = { id, payment_intent: String(form.payment_intent), status: 'pending' };
|
|
61
|
+
refunds.set(id, r);
|
|
62
|
+
return json(200, r);
|
|
63
|
+
}
|
|
64
|
+
const refundPath = /^\/v1\/refunds\/([^/]+)$/.exec(path);
|
|
65
|
+
if (method === 'GET' && refundPath) {
|
|
66
|
+
const r = refunds.get(decodeURIComponent(refundPath[1] ?? ''));
|
|
67
|
+
return r ? json(200, r) : err(404, 'No such refund');
|
|
68
|
+
}
|
|
69
|
+
return err(404, `Unrecognized request URL (${method}: ${path})`);
|
|
70
|
+
};
|
|
71
|
+
return {
|
|
72
|
+
sessions,
|
|
73
|
+
refunds,
|
|
74
|
+
calls,
|
|
75
|
+
fetch: (async (input, init) => handle(new URL(String(input instanceof Request ? input.url : input)), init ?? {})),
|
|
76
|
+
/** The guest pays on the page. */
|
|
77
|
+
pay(id) {
|
|
78
|
+
const s = sessions.get(id);
|
|
79
|
+
if (!s || s.status !== 'open')
|
|
80
|
+
throw new Error(`cannot pay ${id}`);
|
|
81
|
+
s.status = 'complete';
|
|
82
|
+
s.payment_status = 'paid';
|
|
83
|
+
s.payment_intent = `pi_test_${++seq}`;
|
|
84
|
+
},
|
|
85
|
+
/** The money arrives back on the card. */
|
|
86
|
+
settleRefunds() {
|
|
87
|
+
for (const r of refunds.values())
|
|
88
|
+
if (r.status === 'pending')
|
|
89
|
+
r.status = 'succeeded';
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=fake-stripe.js.map
|