@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-stripe.js","sourceRoot":"","sources":["../../src/payments/fake-stripe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Checkout, CheckoutState, OpenedCheckout, PaymentMethod } from './checkout.js';
|
|
2
|
+
export type StripeCheckoutOptions = {
|
|
3
|
+
/** A Stripe secret key in test mode: `sk_test_…`. */
|
|
4
|
+
apiKey: string;
|
|
5
|
+
/** Where Stripe sends the guest back after paying, or after turning back. */
|
|
6
|
+
returnUrl: string;
|
|
7
|
+
fetch?: typeof fetch;
|
|
8
|
+
timeoutMs?: number;
|
|
9
|
+
/** Stripe's API - a test's fake answers in its place. */
|
|
10
|
+
apiBase?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class StripeCheckout implements Checkout {
|
|
13
|
+
private readonly opts;
|
|
14
|
+
readonly method: PaymentMethod;
|
|
15
|
+
private readonly fetch;
|
|
16
|
+
private readonly base;
|
|
17
|
+
constructor(opts: StripeCheckoutOptions);
|
|
18
|
+
private call;
|
|
19
|
+
/** A Checkout page for one stay, at the total the guest was shown. */
|
|
20
|
+
open(o: {
|
|
21
|
+
ref: string;
|
|
22
|
+
title: string;
|
|
23
|
+
amountMinor: number;
|
|
24
|
+
currency: string;
|
|
25
|
+
}): Promise<OpenedCheckout>;
|
|
26
|
+
state(sessionId: string): Promise<CheckoutState>;
|
|
27
|
+
/** Expires an unpaid page; one paid in the last second answers `paid`, and that money is the caller's. */
|
|
28
|
+
close(sessionId: string): Promise<CheckoutState>;
|
|
29
|
+
/** All of it back - a refund of the payment the page took. */
|
|
30
|
+
refund(sessionId: string, reason: string): Promise<{
|
|
31
|
+
requestId: string;
|
|
32
|
+
status: string;
|
|
33
|
+
}>;
|
|
34
|
+
refundState(requestId: string): Promise<string>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=stripe-checkout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe-checkout.d.ts","sourceRoot":"","sources":["../../src/payments/stripe-checkout.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG5F,MAAM,MAAM,qBAAqB,GAAG;IAClC,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AA6BF,qBAAa,cAAe,YAAW,QAAQ;IAKjC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAED,IAAI,EAAE,qBAAqB;YAS1C,IAAI;IA2BlB,sEAAsE;IAChE,IAAI,CAAC,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,cAAc,CAAC;IAqBrB,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMtD,0GAA0G;IACpG,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBtD,8DAA8D;IACxD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAgBzF,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOtD"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// Taking a guest's money for a stay paid in advance on Stripe directly - its
|
|
2
|
+
// hosted Checkout page and its refunds - while the agentbank gateway cannot
|
|
3
|
+
// take it yet: Curless's acquiring is not connected, and no merchant can be
|
|
4
|
+
// opened there (robin, 2026-10-15).
|
|
5
|
+
//
|
|
6
|
+
// ⚠️ TEST MODE ONLY. The key must be a Stripe test key (`sk_test_…`): a live
|
|
7
|
+
// one is refused before anything starts. A card is paid on Stripe's own page
|
|
8
|
+
// and never reaches us - nor does a test card.
|
|
9
|
+
//
|
|
10
|
+
// The same five calls as `GatewayCheckout`, so the booking path does not know
|
|
11
|
+
// which one it is talking to: open a page, read whether it was paid, close an
|
|
12
|
+
// unpaid one, give the money back whole, and follow that refund.
|
|
13
|
+
import { CheckoutError } from './checkout.js';
|
|
14
|
+
/** Stripe keeps a Checkout page open at least 30 minutes - ours closes it itself at its own deadline. */
|
|
15
|
+
const PAGE_LIFE_S = 31 * 60;
|
|
16
|
+
/** Stripe's refund states, as `GatewayCheckout.refundState` says them. */
|
|
17
|
+
const REFUND = {
|
|
18
|
+
pending: 'approved',
|
|
19
|
+
requires_action: 'approved',
|
|
20
|
+
succeeded: 'refunded',
|
|
21
|
+
failed: 'failed',
|
|
22
|
+
canceled: 'rejected',
|
|
23
|
+
};
|
|
24
|
+
const stateOf = (s) => s.status === 'complete' && s.payment_status === 'paid'
|
|
25
|
+
? 'paid'
|
|
26
|
+
: s.status === 'expired'
|
|
27
|
+
? 'closed'
|
|
28
|
+
: 'open';
|
|
29
|
+
export class StripeCheckout {
|
|
30
|
+
opts;
|
|
31
|
+
method = 'card';
|
|
32
|
+
fetch;
|
|
33
|
+
base;
|
|
34
|
+
constructor(opts) {
|
|
35
|
+
this.opts = opts;
|
|
36
|
+
if (!/^sk_test_/.test(opts.apiKey))
|
|
37
|
+
throw new CheckoutError('paying on Stripe directly takes a test-mode key only (sk_test_…) - no real card is charged here');
|
|
38
|
+
this.fetch = opts.fetch ?? globalThis.fetch;
|
|
39
|
+
this.base = (opts.apiBase ?? 'https://api.stripe.com').replace(/\/$/, '');
|
|
40
|
+
}
|
|
41
|
+
async call(method, path, form) {
|
|
42
|
+
let res;
|
|
43
|
+
try {
|
|
44
|
+
res = await this.fetch(`${this.base}${path}`, {
|
|
45
|
+
method,
|
|
46
|
+
headers: {
|
|
47
|
+
authorization: `Bearer ${this.opts.apiKey}`,
|
|
48
|
+
...(form ? { 'content-type': 'application/x-www-form-urlencoded' } : {}),
|
|
49
|
+
},
|
|
50
|
+
...(form ? { body: new URLSearchParams(form).toString() } : {}),
|
|
51
|
+
signal: AbortSignal.timeout(this.opts.timeoutMs ?? 15_000),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
throw new CheckoutError(`Stripe did not answer (${err.message})`);
|
|
56
|
+
}
|
|
57
|
+
const text = await res.text();
|
|
58
|
+
if (!res.ok) {
|
|
59
|
+
// Stripe's own message, never the request: the key rides in a header.
|
|
60
|
+
let said = text.slice(0, 300);
|
|
61
|
+
try {
|
|
62
|
+
said = JSON.parse(text).error?.message ?? said;
|
|
63
|
+
}
|
|
64
|
+
catch { }
|
|
65
|
+
throw new CheckoutError(`Stripe answered ${res.status}: ${said}`, res.status);
|
|
66
|
+
}
|
|
67
|
+
return (text ? JSON.parse(text) : {});
|
|
68
|
+
}
|
|
69
|
+
/** A Checkout page for one stay, at the total the guest was shown. */
|
|
70
|
+
async open(o) {
|
|
71
|
+
const back = this.opts.returnUrl;
|
|
72
|
+
const s = await this.call('POST', '/v1/checkout/sessions', {
|
|
73
|
+
mode: 'payment',
|
|
74
|
+
'payment_method_types[0]': 'card',
|
|
75
|
+
'line_items[0][quantity]': '1',
|
|
76
|
+
'line_items[0][price_data][currency]': o.currency.toLowerCase(),
|
|
77
|
+
'line_items[0][price_data][unit_amount]': String(o.amountMinor),
|
|
78
|
+
'line_items[0][price_data][product_data][name]': o.title.slice(0, 200),
|
|
79
|
+
// The booking it pays for: the distributorResId, found again on both sides.
|
|
80
|
+
client_reference_id: o.ref,
|
|
81
|
+
'metadata[ref]': o.ref,
|
|
82
|
+
'payment_intent_data[metadata][ref]': o.ref,
|
|
83
|
+
success_url: `${back}${back.includes('?') ? '&' : '?'}paid=1`,
|
|
84
|
+
cancel_url: back,
|
|
85
|
+
expires_at: String(Math.floor(Date.now() / 1000) + PAGE_LIFE_S),
|
|
86
|
+
});
|
|
87
|
+
if (!s?.id || !s.url)
|
|
88
|
+
throw new CheckoutError('Stripe opened no Checkout page');
|
|
89
|
+
return { sessionId: s.id, url: s.url };
|
|
90
|
+
}
|
|
91
|
+
async state(sessionId) {
|
|
92
|
+
return stateOf(await this.call('GET', `/v1/checkout/sessions/${encodeURIComponent(sessionId)}`));
|
|
93
|
+
}
|
|
94
|
+
/** Expires an unpaid page; one paid in the last second answers `paid`, and that money is the caller's. */
|
|
95
|
+
async close(sessionId) {
|
|
96
|
+
try {
|
|
97
|
+
return stateOf(await this.call('POST', `/v1/checkout/sessions/${encodeURIComponent(sessionId)}/expire`, {}));
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
// "Only Checkout Sessions with a status of open can be expired."
|
|
101
|
+
if (err instanceof CheckoutError && err.status === 400)
|
|
102
|
+
return this.state(sessionId);
|
|
103
|
+
throw err;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/** All of it back - a refund of the payment the page took. */
|
|
107
|
+
async refund(sessionId, reason) {
|
|
108
|
+
const s = await this.call('GET', `/v1/checkout/sessions/${encodeURIComponent(sessionId)}`);
|
|
109
|
+
const intent = typeof s.payment_intent === 'string' ? s.payment_intent : s.payment_intent?.id;
|
|
110
|
+
if (!intent)
|
|
111
|
+
throw new CheckoutError('that Checkout page took no payment to give back');
|
|
112
|
+
const r = await this.call('POST', '/v1/refunds', {
|
|
113
|
+
payment_intent: intent,
|
|
114
|
+
reason: 'requested_by_customer',
|
|
115
|
+
'metadata[why]': reason.slice(0, 450),
|
|
116
|
+
});
|
|
117
|
+
if (!r?.id)
|
|
118
|
+
throw new CheckoutError('Stripe opened no refund');
|
|
119
|
+
return { requestId: r.id, status: REFUND[String(r.status)] ?? 'approved' };
|
|
120
|
+
}
|
|
121
|
+
async refundState(requestId) {
|
|
122
|
+
const r = await this.call('GET', `/v1/refunds/${encodeURIComponent(requestId)}`);
|
|
123
|
+
return REFUND[String(r.status)] ?? 'approved';
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=stripe-checkout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripe-checkout.js","sourceRoot":"","sources":["../../src/payments/stripe-checkout.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export declare const INITIALIZE_PER_MINUTE = 300;
|
|
|
28
28
|
* number. Found by reading the boot banner of a container that had just been
|
|
29
29
|
* deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
|
|
30
30
|
*/
|
|
31
|
-
export declare const VERSION = "0.
|
|
31
|
+
export declare const VERSION = "0.35.0";
|
|
32
32
|
/**
|
|
33
33
|
* The card's resource URI.
|
|
34
34
|
*
|
|
@@ -37,7 +37,7 @@ export declare const VERSION = "0.34.0";
|
|
|
37
37
|
* connector went storefront-v35 → v40 in a single day of UI work for exactly
|
|
38
38
|
* this reason.
|
|
39
39
|
*/
|
|
40
|
-
export declare const CARD_URI = "ui://curless/hotel/booking-
|
|
40
|
+
export declare const CARD_URI = "ui://curless/hotel/booking-v70.html";
|
|
41
41
|
/**
|
|
42
42
|
* The URI one deployment names its card by: `CARD_URI` with a short hash of
|
|
43
43
|
* everything a host caches under it - the card itself, and the hosts it may
|
package/dist/server.js
CHANGED
|
@@ -46,7 +46,7 @@ export const INITIALIZE_PER_MINUTE = 300;
|
|
|
46
46
|
* number. Found by reading the boot banner of a container that had just been
|
|
47
47
|
* deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
|
|
48
48
|
*/
|
|
49
|
-
export const VERSION = '0.
|
|
49
|
+
export const VERSION = '0.35.0';
|
|
50
50
|
/**
|
|
51
51
|
* The card's resource URI.
|
|
52
52
|
*
|
|
@@ -55,7 +55,7 @@ export const VERSION = '0.34.0';
|
|
|
55
55
|
* connector went storefront-v35 → v40 in a single day of UI work for exactly
|
|
56
56
|
* this reason.
|
|
57
57
|
*/
|
|
58
|
-
export const CARD_URI = 'ui://curless/hotel/booking-
|
|
58
|
+
export const CARD_URI = 'ui://curless/hotel/booking-v70.html';
|
|
59
59
|
/** The card as it ships, hashed once - what a host caches under the URI. */
|
|
60
60
|
const CARD_HTML_SHA = createHash('sha256').update(HOTEL_CARD_HTML).digest('hex');
|
|
61
61
|
/**
|
package/dist/surface.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAE3E,OAAO,
|
|
1
|
+
{"version":3,"file":"surface.d.ts","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,YAAY,CAAC;AA8BlE,eAAO,MAAM,iBAAiB,GAC5B,OAAO,aAAa,EACpB,OAAM,mBAAuC,KAC5C,MAiLF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EACzE,OAAO,SAAS,CAAC,EAAE,EACnB,eAAe,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,SAAS,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClD,YAAW,WAAW,CAAC,MAAM,CAAa;;;;;;;;;;;;;;;;;KAwBxC,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;CAIb,CAAC;AAEX,6DAA6D;AAC7D,eAAO,MAAM,aAAa,GAAI,OAAO,aAAa,KAAG,WAAW,CAAC,MAAM,CAkBnE,CAAC"}
|
package/dist/surface.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FULL_CAPABILITIES } from './backend.js';
|
|
2
2
|
import { FENCE_RULE } from './fence.js';
|
|
3
|
-
import {
|
|
3
|
+
import { noteFor, upFirst } from './vocab.js';
|
|
4
4
|
// What a host is told about this connector: the `instructions` it injects into
|
|
5
5
|
// the model's context, and the tool list with each tool's card metadata.
|
|
6
6
|
//
|
|
@@ -31,6 +31,8 @@ export const buildInstructions = (brand, caps = FULL_CAPABILITIES) => {
|
|
|
31
31
|
const suppliers = v.market ? (brand.config.data.suppliers ?? []) : [];
|
|
32
32
|
const groups = and(suppliers.map((x) => x.name));
|
|
33
33
|
const simulated = suppliers.filter((x) => x.data.source === 'api' && x.data.api?.sandbox);
|
|
34
|
+
// …and the ones whose rooms come from their own test system (华住, 2026-10-15).
|
|
35
|
+
const testing = suppliers.filter((x) => x.data.source === 'api' && x.data.api?.test);
|
|
34
36
|
// ⚠️ NOTHING HERE NAMES A TOOL THIS DEPLOYMENT DOES NOT OFFER. A model told
|
|
35
37
|
// about a sign-in that does not exist asks the guest for a membership number
|
|
36
38
|
// and then has nowhere to put it.
|
|
@@ -46,16 +48,24 @@ export const buildInstructions = (brand, caps = FULL_CAPABILITIES) => {
|
|
|
46
48
|
// it is; "Otaless has your room" sends a guest to a desk that never
|
|
47
49
|
// heard of Otaless (robin, 2026-10-07).
|
|
48
50
|
`These tools read the ${v.nounPlural} of ${groups} through ${v.brand}: what each property offers, what a room costs on given nights, and what its cancellation terms are. ${v.brand} holds no booking itself - each one is with the group whose ${v.noun} it is, and every answer about a booking names that group. Never say ${v.brand} holds, receives or confirms a booking.`
|
|
49
|
-
: v.
|
|
50
|
-
? `These tools read
|
|
51
|
-
:
|
|
51
|
+
: v.test
|
|
52
|
+
? `These tools read ${v.brand}'s own TEST system, for testing: its properties, prices and cancellation terms are ${v.brand}'s test data, not its live ones.`
|
|
53
|
+
: v.sandbox
|
|
54
|
+
? `These tools read a simulated copy of ${v.brand}'s system, for testing: its properties, prices and cancellation terms are invented, not ${v.brand}'s.`
|
|
55
|
+
: `These tools read ${v.brand}'s own ${v.noun} data: what each property offers, what a room costs on given nights, and what its cancellation terms are.`,
|
|
52
56
|
// Demonstration data is a fact about the answer, not a disclaimer to bury.
|
|
53
57
|
...(v.demo
|
|
54
58
|
? [
|
|
55
|
-
`⚠️ ${
|
|
59
|
+
`⚠️ ${noteFor(v)} Say so the first time you quote a price, and never imply a room can actually be occupied.`,
|
|
56
60
|
]
|
|
57
61
|
: []),
|
|
58
62
|
...simulated.map((x) => `⚠️ ${x.name}'s ${v.nounPlural}, rates and bookings here come from a simulated copy of ${x.name}'s booking system, not from ${x.name}: a booking with them made here is not a ${x.name} reservation, holds no real room and is paid by nobody. The answer says so for each such booking; say so whenever you report one.`),
|
|
63
|
+
...testing.map((x) => `⚠️ ${x.name}'s ${v.nounPlural}, rates and bookings here come from ${x.name}'s own test system, not its live one: a booking with them made here is a test booking that holds no room for anyone and is paid by nobody. The answer says so for each such booking; say so whenever you report one.`),
|
|
64
|
+
...(v.test
|
|
65
|
+
? [
|
|
66
|
+
`⚠️ THIS IS A TEST ENVIRONMENT. The ${v.nounPlural}, rates and bookings come from ${v.brand}'s own test system, not its live one: a booking made here is a test booking in that system, holds no room for anyone, needs nobody to go to the hotel and ${caps.prepaid ? "moves no real money - a rate paid in advance is paid in the card page's test mode" : 'is paid by nobody'}. Say so whenever you report a booking, and never call it a reservation or say it is held for the guest.`,
|
|
67
|
+
]
|
|
68
|
+
: []),
|
|
59
69
|
...(v.sandbox
|
|
60
70
|
? [
|
|
61
71
|
`⚠️ THIS IS A TEST ENVIRONMENT. The ${v.nounPlural}, rates and bookings come from a simulated copy of ${v.brand}'s booking system, not from ${v.brand}: a booking made here is not a ${v.brand} reservation, holds no real room and ${caps.prepaid ? "moves no real money - a rate paid in advance is paid in the card page's test mode" : 'is paid by nobody'}. Say so whenever you report a booking.`,
|
|
@@ -87,22 +97,26 @@ export const buildInstructions = (brand, caps = FULL_CAPABILITIES) => {
|
|
|
87
97
|
takesPayment
|
|
88
98
|
? `${t.requestBooking} holds the rooms; payment follows. Do not describe a held booking as paid.`
|
|
89
99
|
: v.market
|
|
90
|
-
? `${t.requestBooking} books the rooms for a named guest with the group each ${v.noun} belongs to, one group at a time: a trip holding two groups' ${v.nounPlural} is booked group by group. What a booking makes is that group's, and the answer says it for every stay - a demonstration hold that lapses on its own (report it as a demonstration, never as a real hold), a test booking in a simulated system (report it as a test, never as a reservation), or the hotel's own reservation paid at the hotel (report it as booked, to be paid at the hotel, never as paid). IT TAKES NO MONEY AND COLLECTS NO CARD. Never ask for a card or a payment.`
|
|
91
|
-
: caps.booking === 'pay-at-hotel' && v.
|
|
100
|
+
? `${t.requestBooking} books the rooms for a named guest with the group each ${v.noun} belongs to, one group at a time: a trip holding two groups' ${v.nounPlural} is booked group by group. What a booking makes is that group's, and the answer says it for every stay - a demonstration hold that lapses on its own (report it as a demonstration, never as a real hold), a test booking in a simulated system${testing.length ? " or in a group's own test system" : ''} (report it as a test, never as a reservation), or the hotel's own reservation paid at the hotel (report it as booked, to be paid at the hotel, never as paid). IT TAKES NO MONEY AND COLLECTS NO CARD. Never ask for a card or a payment.`
|
|
101
|
+
: caps.booking === 'pay-at-hotel' && v.test
|
|
92
102
|
? caps.prepaid
|
|
93
|
-
?
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
? `${t.requestBooking} makes a TEST booking in ${v.brand}'s test system: report it as a test booking with its code, never as a reservation, and never tell the guest to expect a room or to go to the hotel. A rate marked paid in advance is not booked at once: the answer gives a card page in test mode and the time it must be paid by - pass both on, say it is a test payment with no real money, and never call it booked until ${t.listBookings} says so. Every other rate is paid by nobody. Card details are typed only on that page: never ask for a card number, and never put one into any field.`
|
|
104
|
+
: `${t.requestBooking} makes a TEST booking in ${v.brand}'s test system: report it as a test booking with its code, never as a reservation, and never tell the guest to pay anything, expect a room or go to the hotel. IT TAKES NO MONEY AND COLLECTS NO CARD. Never ask for a card number, and never put one into any field.`
|
|
105
|
+
: caps.booking === 'pay-at-hotel' && v.sandbox
|
|
106
|
+
? caps.prepaid
|
|
107
|
+
? // ⚠️ A SANDBOX THAT TAKES TEST PAYMENTS still books nothing real -
|
|
108
|
+
// and its paid-in-advance rates are paid, in test mode, on the
|
|
109
|
+
// gateway's card page (总线程, 2026-10-12).
|
|
110
|
+
`${t.requestBooking} makes a TEST booking in the simulated system: report it as a test booking with its code, never as a reservation, and never tell the guest to expect a room. A rate marked paid in advance is not booked at once: the answer gives a card page in test mode and the time it must be paid by - pass both on, say it is a test payment with no real money, and never call it booked until ${t.listBookings} says so. Every other rate is paid by nobody. Card details are typed only on that page: never ask for a card number, and never put one into any field.`
|
|
111
|
+
: `${t.requestBooking} makes a TEST booking in the simulated system: report it as a test booking with its code, never as a reservation, and never tell the guest to pay anything or expect a room. IT TAKES NO MONEY AND COLLECTS NO CARD. Never ask for a card number, and never put one into any field.`
|
|
112
|
+
: caps.booking === 'pay-at-hotel'
|
|
113
|
+
? `${t.requestBooking} books the rooms with ${v.brand} for a named guest: each stay becomes the hotel's own reservation with its own confirmation code, kept until it is cancelled and PAID AT THE HOTEL. IT TAKES NO MONEY AND COLLECTS NO CARD. Report it as booked and to be paid at the hotel, never as paid. When the answer says ${v.brand} has not confirmed it yet, say exactly that - it is neither booked nor failed until ${t.listBookings} says so. Never ask for a card number, and never put one into any field - if the guest offers card details, tell them this connector does not take them.`
|
|
114
|
+
: v.demo
|
|
115
|
+
? // ⚠️ THIS SAID "a card is presented at check-in" two lines after
|
|
116
|
+
// "never imply a room can actually be occupied" (2026-10-05 audit,
|
|
117
|
+
// P2) - and a guest could have taken the code to the real hotel.
|
|
118
|
+
`${t.requestBooking} makes a DEMONSTRATION booking request: it returns a confirmation code and the moment the demonstration hold lapses on its own. ${v.brand} does not receive it and no real room is held anywhere. IT TAKES NO MONEY AND COLLECTS NO CARD. Report it as a demonstration booking with its code and when the hold lapses - never as booked, paid or held by the hotel, and never tell the guest to present anything at a hotel. Never ask for a card number, and never put one into any field - if the guest offers card details, tell them this connector does not take them.`
|
|
119
|
+
: `${t.requestBooking} asks ${v.brand} to hold the rooms for a named guest and returns a confirmation code and the moment the hold lapses. IT TAKES NO MONEY AND COLLECTS NO CARD. Report it as requested and held, never as booked-and-paid, and tell the guest when the hold lapses and that a card is presented at check-in. Never ask for a card number, and never put one into any field - if the guest offers card details, tell them this connector does not take them.`,
|
|
106
120
|
// ⚠️ THE SAME RULE AS THE EMAIL, AND FOR THE SAME REASON. A membership
|
|
107
121
|
// number is the guest's to give; filled in from an account or a profile it
|
|
108
122
|
// would hand somebody else's tier and point balance to whoever is typing.
|
package/dist/surface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"surface.js","sourceRoot":"","sources":["../src/surface.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EASzB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAa,YAAY,EAAgB,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAmBhD,OAAO,EAIL,KAAK,SAAS,EAIf,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAmBV,eAAe,EAKhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAa,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|