@curless/hotel-storefront 0.36.1 → 0.37.1
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/backend.d.ts +33 -1
- package/dist/backend.d.ts.map +1 -1
- package/dist/backend.js.map +1 -1
- package/dist/huazhu/backend.d.ts.map +1 -1
- package/dist/huazhu/backend.js +70 -0
- package/dist/huazhu/backend.js.map +1 -1
- package/dist/huazhu/make.d.ts.map +1 -1
- package/dist/huazhu/make.js +6 -0
- package/dist/huazhu/make.js.map +1 -1
- package/dist/lib.d.ts +1 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/paid.d.ts +40 -0
- package/dist/paid.d.ts.map +1 -0
- package/dist/paid.js +269 -0
- package/dist/paid.js.map +1 -0
- package/dist/payments/stripe-checkout.d.ts +7 -1
- package/dist/payments/stripe-checkout.d.ts.map +1 -1
- package/dist/payments/stripe-checkout.js +1 -1
- package/dist/payments/stripe-checkout.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +34 -1
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/dist/backend.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Booking, BookingChange, BookingResult, CancellationPreview, ChangePreview, DateOption, Extra, Guest, HotelDetail, HotelPolicy, HotelSearch, HotelSearchResult, Identity, Member, Names, NoRoomsArgs, NoRoomsCode, Quote, RoomRequestKind, RoomRequests, Stay, TripDraft } from './types.js';
|
|
1
|
+
import type { Booking, BookingChange, BookingResult, CancellationPreview, ChangePreview, DateOption, Extra, Guest, HotelDetail, HotelPolicy, HotelSearch, HotelSearchResult, Identity, Member, Money, Names, NoRoomsArgs, NoRoomsCode, Quote, RoomRequestKind, RoomRequests, Stay, TripDraft } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Where the rooms come from.
|
|
4
4
|
*
|
|
@@ -324,6 +324,38 @@ export type HotelBackend = {
|
|
|
324
324
|
cancelBooking(bookingRef: string, who: Identity, reason?: string): Promise<Booking | null>;
|
|
325
325
|
/** The hotel's own published policies. */
|
|
326
326
|
policies(hotelId: string): Promise<HotelPolicy[]>;
|
|
327
|
+
/**
|
|
328
|
+
* Where a guest lands from the payment page, paid (robin, 2026-10-15: "支付
|
|
329
|
+
* 成功要返回一个预订成功页面") - what became of the stay that page paid for,
|
|
330
|
+
* by the page's own session id. Undefined: no booking here was paid on that
|
|
331
|
+
* page, and the page says no more than that. Absent: nothing here is paid in
|
|
332
|
+
* advance, and there is no such page.
|
|
333
|
+
*
|
|
334
|
+
* ⚠️ ANYBODY WITH THE ADDRESS CAN OPEN IT. No name, email or phone of the
|
|
335
|
+
* guest's - what a confirmation in the hotel's lobby would show, no more.
|
|
336
|
+
*/
|
|
337
|
+
paymentReturn?(sessionId: string): Promise<PaymentReturn | undefined>;
|
|
338
|
+
};
|
|
339
|
+
/** What the page a paid guest lands on says - see `HotelBackend.paymentReturn`. */
|
|
340
|
+
export type PaymentReturn = {
|
|
341
|
+
/**
|
|
342
|
+
* `booked` - the hotel's system has it. `booking` - paid, and the hotel is
|
|
343
|
+
* still being asked. `refunded` - paid, not booked (or cancelled since), and
|
|
344
|
+
* the money is going back or back. `not-paid` - the page was not paid, or
|
|
345
|
+
* closed. `unknown` - none of these can be said.
|
|
346
|
+
*/
|
|
347
|
+
state: 'booked' | 'booking' | 'refunded' | 'not-paid' | 'unknown';
|
|
348
|
+
/** The confirmation code the guest quotes. */
|
|
349
|
+
code?: string;
|
|
350
|
+
hotelName: string;
|
|
351
|
+
hotelNames?: Names;
|
|
352
|
+
stay: {
|
|
353
|
+
checkIn: string;
|
|
354
|
+
checkOut: string;
|
|
355
|
+
};
|
|
356
|
+
/** The room and rate, as the booking names them. */
|
|
357
|
+
room: string;
|
|
358
|
+
amount: Money;
|
|
327
359
|
};
|
|
328
360
|
/**
|
|
329
361
|
* What a party too big for any one room here needs, said once for every backend.
|
package/dist/backend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"}
|
package/dist/backend.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;;;GAYG;AACH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAE3B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAW,CAAC;AAE1E,kEAAkE;AAClE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAkD,EAAY,EAAE,CAAC;IAC5F,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI;QACnC,CAAC,CAAC,CAAC,qBAAqB,YAAY,CAAC,IAAI,aAAa,CAAC;QACvD,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK;QACrC,CAAC,CAAC,CAAC,uBAAuB,YAAY,CAAC,KAAK,aAAa,CAAC;QAC1D,CAAC,CAAC,EAAE,CAAC;IACP,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK;QAC7C,CAAC,CAAC,CAAC,6BAA6B,YAAY,CAAC,KAAK,aAAa,CAAC;QAChE,CAAC,CAAC,EAAE,CAAC;CACR,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC9C,UAAU;IACV,WAAW;IACX,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,gBAAgB;IAChB,cAAc;IACd,iBAAiB;CAClB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB,aAAa,CAAC,MAAM,CACrE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,gBAAgB,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,KAAK,iBAAiB,CACjF,CAAC;AAEF,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AA4FpC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAwB;IACpD,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,MAAM;CAChB,CAAC;AAgOF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,OAAe,EAAU,EAAE,CACpE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC;AAEpC,wEAAwE;AACxE,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAc,EACd,OAAe,EACwC,EAAE;IACzD,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,EAAE,GAAG,EAAE,yBAAyB,MAAM,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACrF,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IACtC,OAAO;QACL,GAAG,EAAE,uBAAuB,MAAM,wBAAwB,OAAO,iBAAiB,CAAC,SAAS;QAC5F,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE,CAC/C,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/huazhu/backend.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../src/huazhu/backend.ts"],"names":[],"mappings":"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"}
|
package/dist/huazhu/backend.js
CHANGED
|
@@ -2157,6 +2157,75 @@ export const createHuazhuHotels = (opts) => {
|
|
|
2157
2157
|
}
|
|
2158
2158
|
return { booked: made.map((b) => publicBooking(store.get(b.id) ?? b)), failed };
|
|
2159
2159
|
};
|
|
2160
|
+
/** When each payment page last moved its booking on, for the page a paid guest lands on. */
|
|
2161
|
+
const returned = new Map();
|
|
2162
|
+
/** What the landing page says of a booking - never the guest's name, email or phone. */
|
|
2163
|
+
const returnOf = (row) => {
|
|
2164
|
+
const p = row.prepaid;
|
|
2165
|
+
const state = row.status === 'confirmed'
|
|
2166
|
+
? 'booked'
|
|
2167
|
+
: row.status === 'awaiting-payment'
|
|
2168
|
+
? p?.paidAt
|
|
2169
|
+
? 'booking'
|
|
2170
|
+
: 'not-paid'
|
|
2171
|
+
: row.status === 'requested'
|
|
2172
|
+
? p?.paidAt
|
|
2173
|
+
? 'booking'
|
|
2174
|
+
: 'not-paid'
|
|
2175
|
+
: row.status === 'expired'
|
|
2176
|
+
? 'not-paid'
|
|
2177
|
+
: p?.paidAt && (p.refund || row.status === 'failed' || row.status === 'unconfirmed')
|
|
2178
|
+
? 'refunded'
|
|
2179
|
+
: row.status === 'failed' && !p?.paidAt
|
|
2180
|
+
? 'not-paid'
|
|
2181
|
+
: 'unknown';
|
|
2182
|
+
const names = hotelNamesOf(row.hotelId);
|
|
2183
|
+
return {
|
|
2184
|
+
state,
|
|
2185
|
+
code: row.confirmationCode,
|
|
2186
|
+
hotelName: row.hotelName,
|
|
2187
|
+
...(names ? { hotelNames: names } : {}),
|
|
2188
|
+
stay: { checkIn: row.stay.checkIn, checkOut: row.stay.checkOut },
|
|
2189
|
+
room: row.quote.lines[0]?.title ?? '',
|
|
2190
|
+
amount: row.quote.total,
|
|
2191
|
+
};
|
|
2192
|
+
};
|
|
2193
|
+
/**
|
|
2194
|
+
* The page a paid guest lands on (robin, 2026-10-15). Stripe sends them back
|
|
2195
|
+
* the moment the money is taken - before the next pass has booked it - so
|
|
2196
|
+
* the page moves its own booking on: the same step the pass takes, under the
|
|
2197
|
+
* same one-at-a-time, so the two never book or refund it twice.
|
|
2198
|
+
*
|
|
2199
|
+
* ⚠️ AT MOST ONE STEP EVERY 10 SECONDS A PAGE (香格里拉, 2026-10-15): the
|
|
2200
|
+
* address is public and is reloaded, prefetched and opened twice; between
|
|
2201
|
+
* steps it answers what the booking already says.
|
|
2202
|
+
*/
|
|
2203
|
+
const paymentReturn = async (sessionId) => {
|
|
2204
|
+
const found = store.all().find((b) => b.prepaid?.sessionId === sessionId);
|
|
2205
|
+
if (!found)
|
|
2206
|
+
return undefined;
|
|
2207
|
+
const at = now();
|
|
2208
|
+
if (at - (returned.get(sessionId) ?? Number.NEGATIVE_INFINITY) >= 10_000 &&
|
|
2209
|
+
!ticking &&
|
|
2210
|
+
moneyPending(found)) {
|
|
2211
|
+
returned.set(sessionId, at);
|
|
2212
|
+
if (returned.size > 1_000)
|
|
2213
|
+
for (const [k, v] of returned)
|
|
2214
|
+
if (at - v > 10 * 60_000)
|
|
2215
|
+
returned.delete(k);
|
|
2216
|
+
ticking = true;
|
|
2217
|
+
try {
|
|
2218
|
+
await settlePrepaid(found);
|
|
2219
|
+
}
|
|
2220
|
+
catch (err) {
|
|
2221
|
+
console.error(`[huazhu prepaid ${found.id}] the landing page's step failed: ${err.message}`);
|
|
2222
|
+
}
|
|
2223
|
+
finally {
|
|
2224
|
+
ticking = false;
|
|
2225
|
+
}
|
|
2226
|
+
}
|
|
2227
|
+
return returnOf(store.get(found.id) ?? found);
|
|
2228
|
+
};
|
|
2160
2229
|
return {
|
|
2161
2230
|
brand: opts.brand,
|
|
2162
2231
|
capabilities: {
|
|
@@ -2169,6 +2238,7 @@ export const createHuazhuHotels = (opts) => {
|
|
|
2169
2238
|
* deployment takes payment (make.ts): pages paid or past their time, and
|
|
2170
2239
|
* money going back.
|
|
2171
2240
|
*/
|
|
2241
|
+
...(checkout ? { paymentReturn } : {}),
|
|
2172
2242
|
async prepaidTick() {
|
|
2173
2243
|
// ⚠️ ONE PASS AT A TIME: a pass slower than the ten seconds between
|
|
2174
2244
|
// them would otherwise book a paid stay, or give money back, twice.
|