@curless/hotel-storefront 0.40.1 → 0.42.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.
@@ -42,8 +42,13 @@ export declare const penaltyAt: (p: CancelPolicy, checkIn: string, tz: string, t
42
42
  * not free now. A window that has already closed is no window.
43
43
  */
44
44
  export declare const freeUntilOf: (p: CancelPolicy, checkIn: string, tz: string, now: number) => number | undefined;
45
- /** True unless every window from now on keeps the whole order. */
46
- export declare const refundableFrom: (p: CancelPolicy, checkIn: string, tz: string, now: number) => boolean;
45
+ /**
46
+ * True unless every window from now on keeps the whole order. With `nights`,
47
+ * a fee of that many nights or more keeps it all too - one night's fee on a
48
+ * one-night stay gives nothing back, and the card says "non-refundable" from
49
+ * this (香格里拉, 2026-10-19, judge r7 ⑨).
50
+ */
51
+ export declare const refundableFrom: (p: CancelPolicy, checkIn: string, tz: string, now: number, nights?: number) => boolean;
47
52
  /** What the order is worth, in the shapes the penalties are written against. */
48
53
  export type OrderAmounts = {
49
54
  currency: string;
@@ -64,6 +69,24 @@ export declare const feeFor: (penalty: Penalty, o: OrderAmounts) => number | nul
64
69
  * 2026-10-05 18:00; from then until the end of the arrival day, the first night
65
70
  * (¥328); after that, the whole stay (¥656). Times are the hotel's."
66
71
  */
72
+ /**
73
+ * The terms as steps in time, each with what cancelling the order costs in
74
+ * it - `describePolicy` as facts, for the card to say in the guest's language
75
+ * (华住 / 香格里拉, 2026-10-19; `CancellationStep`). In time order: the step
76
+ * reaching the end of the arrival day has no `until`, and the no-show after
77
+ * it is `noShow`. Steps costing the same in a row are one. `current`: the
78
+ * step `now` is in - the one the fee shown is worked out by.
79
+ *
80
+ * `startsAt`: a room by the hour - nothing after its start is a
81
+ * cancellation, and its no-show is the whole order at most (`beforeStart`).
82
+ */
83
+ export type Step = {
84
+ until?: number;
85
+ fee: number | null;
86
+ noShow?: true;
87
+ current?: true;
88
+ };
89
+ export declare const stepsOf: (p: CancelPolicy, checkIn: string, tz: string, o: OrderAmounts, now: number, startsAt?: number) => Step[];
67
90
  export declare const describePolicy: (p: CancelPolicy, checkIn: string, tz: string, o: OrderAmounts) => string;
68
91
  export {};
69
92
  //# sourceMappingURL=cancel-policy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancel-policy.d.ts","sourceRoot":"","sources":["../../src/huazhu/cancel-policy.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACnC,uEAAuE;GACrE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1B,MAAM,MAAM,UAAU,GAAG;IACvB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAgClF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,YAAY,GAAG,IAoB3E,CAAC;AAQF,iEAAiE;AACjE,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,IAAI,MAAM,KAAG,MACT,CAAC;AAEnD,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/D,6FAA6F;AAC7F,eAAO,MAAM,QAAQ,GAAI,GAAG,YAAY,EAAE,SAAS,MAAM,EAAE,IAAI,MAAM,KAAG,KAAK,EAoB5E,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,GAAG,YAAY,EAAE,SAAS,MAAM,EAAE,IAAI,MAAM,EAAE,GAAG,MAAM,KAAG,OACM,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,GAAG,YAAY,EACf,SAAS,MAAM,EACf,IAAI,MAAM,EACV,KAAK,MAAM,KACV,MAAM,GAAG,SAaX,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,cAAc,GACzB,GAAG,YAAY,EACf,SAAS,MAAM,EACf,IAAI,MAAM,EACV,KAAK,MAAM,KACV,OASE,CAAC;AAEN,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,GAAG,YAAY,KAAG,MAAM,GAAG,IAiBnE,CAAC;AAuCF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,GAAG,YAAY,EACf,SAAS,MAAM,EACf,IAAI,MAAM,EACV,GAAG,YAAY,KACd,MAoBF,CAAC"}
1
+ {"version":3,"file":"cancel-policy.d.ts","sourceRoot":"","sources":["../../src/huazhu/cancel-policy.ts"],"names":[],"mappings":"AA0BA,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACnC,uEAAuE;GACrE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1B,MAAM,MAAM,UAAU,GAAG;IACvB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAgClF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,YAAY,GAAG,IAoB3E,CAAC;AAQF,iEAAiE;AACjE,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,IAAI,MAAM,KAAG,MACT,CAAC;AAEnD,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/D,6FAA6F;AAC7F,eAAO,MAAM,QAAQ,GAAI,GAAG,YAAY,EAAE,SAAS,MAAM,EAAE,IAAI,MAAM,KAAG,KAAK,EAoB5E,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,GAAG,YAAY,EAAE,SAAS,MAAM,EAAE,IAAI,MAAM,EAAE,GAAG,MAAM,KAAG,OACM,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,GAAG,YAAY,EACf,SAAS,MAAM,EACf,IAAI,MAAM,EACV,KAAK,MAAM,KACV,MAAM,GAAG,SAaX,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,GAAG,YAAY,EACf,SAAS,MAAM,EACf,IAAI,MAAM,EACV,KAAK,MAAM,EACX,SAAS,MAAM,KACd,OASE,CAAC;AAEN,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,GAAI,SAAS,OAAO,EAAE,GAAG,YAAY,KAAG,MAAM,GAAG,IAiBnE,CAAC;AAuCF;;;;GAIG;AACH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,IAAI,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEzF,eAAO,MAAM,OAAO,GAClB,GAAG,YAAY,EACf,SAAS,MAAM,EACf,IAAI,MAAM,EACV,GAAG,YAAY,EACf,KAAK,MAAM,EACX,WAAW,MAAM,KAChB,IAAI,EA2BN,CAAC;AAEF,eAAO,MAAM,cAAc,GACzB,GAAG,YAAY,EACf,SAAS,MAAM,EACf,IAAI,MAAM,EACV,GAAG,YAAY,KACd,MAoBF,CAAC"}
@@ -110,11 +110,16 @@ export const freeUntilOf = (p, checkIn, tz, now) => {
110
110
  end = phases[j]?.until ?? end;
111
111
  return Math.min(end, audit);
112
112
  };
113
- /** True unless every window from now on keeps the whole order. */
114
- export const refundableFrom = (p, checkIn, tz, now) => phasesOf(p, checkIn, tz)
113
+ /**
114
+ * True unless every window from now on keeps the whole order. With `nights`,
115
+ * a fee of that many nights or more keeps it all too - one night's fee on a
116
+ * one-night stay gives nothing back, and the card says "non-refundable" from
117
+ * this (香格里拉, 2026-10-19, judge r7 ⑨).
118
+ */
119
+ export const refundableFrom = (p, checkIn, tz, now, nights) => phasesOf(p, checkIn, tz)
115
120
  .filter((ph) => ph.until > now && ph.from < nightAuditOf(checkIn, tz))
116
121
  .some((ph) => ph.penalty.kind === 'none' ||
117
- ph.penalty.kind === 'nights' ||
122
+ (ph.penalty.kind === 'nights' && (nights === undefined || ph.penalty.value < nights)) ||
118
123
  ph.penalty.kind === 'amount' ||
119
124
  (ph.penalty.kind === 'percent' && ph.penalty.value < 100));
120
125
  /**
@@ -175,11 +180,36 @@ const penaltyWords = (penalty, o) => {
175
180
  return `a fee of ${formatMoney(money(toMinor(penalty.value, o.currency), o.currency))}`;
176
181
  }
177
182
  };
178
- /**
179
- * The terms in words, with the hotel's own times: "Free to cancel until
180
- * 2026-10-05 18:00; from then until the end of the arrival day, the first night
181
- * (¥328); after that, the whole stay (¥656). Times are the hotel's."
182
- */
183
+ export const stepsOf = (p, checkIn, tz, o, now, startsAt) => {
184
+ const audit = nightAuditOf(checkIn, tz);
185
+ const end = startsAt !== undefined ? Math.min(startsAt, audit) : audit;
186
+ const out = [];
187
+ for (const ph of phasesOf(p, checkIn, tz)) {
188
+ if (ph.from >= end)
189
+ continue;
190
+ const until = Math.min(ph.until, end);
191
+ const fee = feeFor(ph.penalty, o);
192
+ const here = now >= ph.from && now < until;
193
+ const last = out.at(-1);
194
+ if (last && last.fee === fee) {
195
+ last.until = until;
196
+ if (here)
197
+ last.current = true;
198
+ continue;
199
+ }
200
+ out.push({ until, fee, ...(here ? { current: true } : {}) });
201
+ }
202
+ const total = o.nightlyMinor.reduce((a, b) => a + b, 0) * o.rooms;
203
+ return [
204
+ // The end of the arrival day is said as that, not as a clock.
205
+ ...out.map(({ until, ...rest }) => (until === audit ? rest : { until, ...rest })),
206
+ {
207
+ fee: startsAt !== undefined ? total : feeFor(p.noShow, o),
208
+ noShow: true,
209
+ ...(now >= end ? { current: true } : {}),
210
+ },
211
+ ];
212
+ };
183
213
  export const describePolicy = (p, checkIn, tz, o) => {
184
214
  const phases = phasesOf(p, checkIn, tz);
185
215
  const audit = nightAuditOf(checkIn, tz);
@@ -1 +1 @@
1
- {"version":3,"file":"cancel-policy.js","sourceRoot":"","sources":["../../src/huazhu/cancel-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cancel-policy.js","sourceRoot":"","sources":["../../src/huazhu/cancel-policy.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.40.1";
31
+ export declare const VERSION = "0.42.0";
32
32
  /**
33
33
  * The card's resource URI.
34
34
  *
@@ -37,7 +37,7 @@ export declare const VERSION = "0.40.1";
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-v79.html";
40
+ export declare const CARD_URI = "ui://curless/hotel/booking-v81.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
@@ -47,7 +47,7 @@ export const INITIALIZE_PER_MINUTE = 300;
47
47
  * number. Found by reading the boot banner of a container that had just been
48
48
  * deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
49
49
  */
50
- export const VERSION = '0.40.1';
50
+ export const VERSION = '0.42.0';
51
51
  /**
52
52
  * The card's resource URI.
53
53
  *
@@ -56,7 +56,7 @@ export const VERSION = '0.40.1';
56
56
  * connector went storefront-v35 → v40 in a single day of UI work for exactly
57
57
  * this reason.
58
58
  */
59
- export const CARD_URI = 'ui://curless/hotel/booking-v79.html';
59
+ export const CARD_URI = 'ui://curless/hotel/booking-v81.html';
60
60
  /** The card as it ships, hashed once - what a host caches under the URI. */
61
61
  const CARD_HTML_SHA = createHash('sha256').update(HOTEL_CARD_HTML).digest('hex');
62
62
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -897,11 +897,21 @@ const CANCEL_SCHEMA = {
897
897
  demo: BOOL,
898
898
  demoNote: STR,
899
899
  booking: OBJ,
900
+ hotelName: STR,
901
+ hotelNames: OBJ,
902
+ stay: OBJ,
903
+ terms: ARR,
904
+ demoHold: BOOL,
905
+ addOnsFree: BOOL,
900
906
  fee: STR,
901
907
  refund: STR,
902
908
  rule: STR,
903
909
  freeUntil: STR,
904
910
  cancellable: BOOL,
911
+ /** The terms as facts, for the card to say in the guest's language (`CancellationPreview`). */
912
+ feeIsCap: BOOL,
913
+ reason: STR,
914
+ steps: ARR,
905
915
  },
906
916
  required: ['view'],
907
917
  };
@@ -2489,9 +2499,16 @@ const suggestionsFor = async (deps, d) => {
2489
2499
  // The add-on's own name, quoted: "Airport transfer, one way" unquoted
2490
2500
  // ran on into the code as if the transfer went TO the booking. Pressed,
2491
2501
  // it is the change PREVIEW - the booking moves only on its confirm.
2502
+ // \`words\`: what the label says, for the card to say in the guest's
2503
+ // language (r7 jury: English chips on a Chinese success screen); the
2504
+ // label stays English, for whoever reads the answer.
2492
2505
  if (transfer && !has)
2493
2506
  out.push({
2494
2507
  label: `Add "${transfer.name}" to ${b.confirmationCode}`,
2508
+ words: {
2509
+ kind: 'add-transfer',
2510
+ ...(all.length > 1 ? { code: b.confirmationCode } : {}),
2511
+ },
2495
2512
  ask: {
2496
2513
  tool: 'previewChange',
2497
2514
  args: { booking: b.confirmationCode, extra: transfer.id, quantity: 1 },
@@ -2502,6 +2519,11 @@ const suggestionsFor = async (deps, d) => {
2502
2519
  if (first?.hotelId)
2503
2520
  out.push({
2504
2521
  label: `Check-in times at ${first.hotelName}`,
2522
+ words: {
2523
+ kind: 'check-in-times',
2524
+ hotel: first.hotelName,
2525
+ ...(first.hotelNames ? { names: first.hotelNames } : {}),
2526
+ },
2505
2527
  ask: { tool: 'policies', args: { hotel: first.hotelId, topic: 'check-in' } },
2506
2528
  });
2507
2529
  }
@@ -4136,11 +4158,59 @@ const answerTool = async (deps, name, rawArgs, ctx) => {
4136
4158
  : 'No booking here matches that code. A booking made in another conversation needs the email it was made with.',
4137
4159
  };
4138
4160
  }
4161
+ // What is being cancelled, and on what terms, for the card to say in the
4162
+ // guest's language (r7 jury: the code alone, and the terms in English).
4163
+ const booked = await deps.backend.findBooking(ref, who).catch(() => null);
4164
+ const rooms = (booked?.quote.lines ?? []).filter((l) => l.kind === 'room');
4165
+ const which = booked
4166
+ ? {
4167
+ hotelName: booked.hotelName,
4168
+ ...(booked.hotelNames ? { hotelNames: booked.hotelNames } : {}),
4169
+ stay: {
4170
+ checkIn: booked.stay.checkIn,
4171
+ checkOut: booked.stay.checkOut,
4172
+ nights: nightsBetween(booked.stay.checkIn, booked.stay.checkOut),
4173
+ rooms: rooms.reduce((n, l) => n + Math.max(1, l.quantity ?? 1), 0) || 1,
4174
+ roomName: [...new Set(rooms.map((l) => l.title))].join(' + '),
4175
+ },
4176
+ }
4177
+ : {};
4178
+ // This connector's own demonstration: its rule is only these terms, that
4179
+ // its add-ons go free, and that nothing is charged - which the card says
4180
+ // in the guest's words.
4181
+ const ownDemo = demoBookingNote(deps, preview.supplier)
4182
+ ? {
4183
+ demoHold: true,
4184
+ ...(booked?.quote.lines.some((l) => l.kind === 'extra') ? { addOnsFree: true } : {}),
4185
+ }
4186
+ : {};
4139
4187
  const asPreview = {
4140
4188
  structured: {
4141
4189
  view: 'cancellation-preview',
4142
4190
  ...common(deps, key),
4143
4191
  booking: { id: preview.bookingId, confirmationCode: preview.confirmationCode },
4192
+ ...which,
4193
+ ...(booked
4194
+ ? {
4195
+ // Each room's terms as they stand now: free while its own free
4196
+ // time lasts (the backend's \`freeUntil\` is the earliest of those
4197
+ // still running), non-refundable, or past it and charged.
4198
+ terms: rooms.map((l) => ({
4199
+ room: l.title,
4200
+ state: l.refundable === false
4201
+ ? 'non-refundable'
4202
+ : preview.fee.minor === 0 ||
4203
+ (!!preview.freeUntil &&
4204
+ !!l.freeCancellationUntil &&
4205
+ l.freeCancellationUntil >= preview.freeUntil)
4206
+ ? 'free'
4207
+ : 'charged',
4208
+ ...(l.freeCancellationLocal ? { until: l.freeCancellationLocal } : {}),
4209
+ ...(l.freeCancellationLocalIso ? { untilIso: l.freeCancellationLocalIso } : {}),
4210
+ })),
4211
+ }
4212
+ : {}),
4213
+ ...ownDemo,
4144
4214
  fee: formatMoney(preview.fee),
4145
4215
  // ⚠️ NO "REFUND": nothing was ever paid here - a demonstration takes no
4146
4216
  // money and a hotel's own booking is paid at the hotel - so a figure
@@ -4148,6 +4218,23 @@ const answerTool = async (deps, name, rawArgs, ctx) => {
4148
4218
  rule: preview.rule,
4149
4219
  freeUntil: preview.freeUntil,
4150
4220
  cancellable: preview.cancellable,
4221
+ // The terms as facts, so the card can say them in the guest's language
4222
+ // instead of showing `rule` as the backend wrote it. Money becomes a
4223
+ // string here like `fee`; `free` is a step whose fee is nothing, so the
4224
+ // card need not read it out of the string.
4225
+ ...(preview.feeIsCap ? { feeIsCap: true } : {}),
4226
+ ...(preview.reason ? { reason: preview.reason } : {}),
4227
+ ...(preview.steps?.length
4228
+ ? {
4229
+ steps: preview.steps.map((step) => ({
4230
+ ...(step.untilLocalIso ? { untilLocalIso: step.untilLocalIso } : {}),
4231
+ fee: step.fee ? formatMoney(step.fee) : null,
4232
+ ...(step.fee && step.fee.minor === 0 ? { free: true } : {}),
4233
+ ...(step.noShow ? { noShow: true } : {}),
4234
+ ...(step.current ? { current: true } : {}),
4235
+ })),
4236
+ }
4237
+ : {}),
4151
4238
  toolToConfirm: t.cancelBooking,
4152
4239
  },
4153
4240
  text: [
@@ -4198,6 +4285,8 @@ const answerTool = async (deps, name, rawArgs, ctx) => {
4198
4285
  view: 'cancelled',
4199
4286
  ...common(deps, key),
4200
4287
  booking: bookingForCard(cancelled),
4288
+ ...which,
4289
+ ...ownDemo,
4201
4290
  fee: formatMoney(charged),
4202
4291
  rule: preview.rule,
4203
4292
  cancellable: false,