@cimplify/sdk 0.90.0 → 0.93.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.
Files changed (67) hide show
  1. package/dist/advanced.d.mts +3 -3
  2. package/dist/advanced.d.ts +3 -3
  3. package/dist/advanced.js +20 -20
  4. package/dist/advanced.mjs +1 -1
  5. package/dist/{chunk-KJP4U6L3.js → chunk-6Y7KC5YZ.js} +23 -0
  6. package/dist/{chunk-JVWFIFQ7.js → chunk-AWNWP5J3.js} +4 -4
  7. package/dist/{chunk-2UDEWILL.mjs → chunk-FKARGZK3.mjs} +307 -90
  8. package/dist/{chunk-T7Z25EY4.js → chunk-HKN3YG76.js} +84 -0
  9. package/dist/{chunk-BN4V4ONE.js → chunk-QLGZIBRO.js} +348 -128
  10. package/dist/{chunk-NGE37REW.mjs → chunk-QXWX7CD2.mjs} +2 -2
  11. package/dist/{chunk-OZDDHSIB.mjs → chunk-RRBY35TJ.mjs} +80 -1
  12. package/dist/{chunk-GHFDYM5K.js → chunk-VEOAMBEX.js} +11 -4
  13. package/dist/{chunk-ZU4ZRYUR.mjs → chunk-VUSHG3HA.mjs} +11 -4
  14. package/dist/{chunk-NNGKC3MM.mjs → chunk-X36FZZT6.mjs} +23 -0
  15. package/dist/{client-YiSelM7x.d.mts → client-BTL9d_nN.d.mts} +117 -11
  16. package/dist/{client-CR1f94wY.d.ts → client-BX30FAWZ.d.ts} +117 -11
  17. package/dist/{client-DMttx1xk.d.mts → client-Bhe2TnFW.d.mts} +2 -2
  18. package/dist/{client-CqpOcbin.d.ts → client-DrkuEK_I.d.ts} +2 -2
  19. package/dist/{index-DD9z396M.d.mts → index-BuNjyfaV.d.mts} +3 -3
  20. package/dist/{index-CxTVu0HZ.d.ts → index-D-w5h82t.d.ts} +3 -3
  21. package/dist/index.d.mts +49 -7
  22. package/dist/index.d.ts +49 -7
  23. package/dist/index.js +103 -83
  24. package/dist/index.mjs +5 -5
  25. package/dist/mock/cli.mjs +23 -0
  26. package/dist/mock/library.js +23 -0
  27. package/dist/mock/library.mjs +23 -0
  28. package/dist/mock/msw.js +23 -0
  29. package/dist/mock/msw.mjs +23 -0
  30. package/dist/{payment-BX7ccIKY.d.ts → payment-By0JidTe.d.ts} +1 -1
  31. package/dist/{payment-5d8FTA1q.d.mts → payment-pKPpaORI.d.mts} +1 -1
  32. package/dist/{price-DtfP_Xfq.d.ts → price-23RNXftz.d.ts} +1 -1
  33. package/dist/{price-arl_4Rzn.d.mts → price-BvRtp6ak.d.mts} +1 -1
  34. package/dist/{product-DZX4QuKS.d.ts → product-O8-wcHSe.d.mts} +49 -0
  35. package/dist/{product-DZX4QuKS.d.mts → product-O8-wcHSe.d.ts} +49 -0
  36. package/dist/react.d.mts +79 -6
  37. package/dist/react.d.ts +79 -6
  38. package/dist/react.js +607 -379
  39. package/dist/react.mjs +539 -315
  40. package/dist/{server-BceZMxcK.d.mts → server-BN9ZCAKT.d.mts} +5 -1
  41. package/dist/{server-DoJGSC7L.d.ts → server-DDGbfW_S.d.ts} +5 -1
  42. package/dist/server.d.mts +4 -4
  43. package/dist/server.d.ts +4 -4
  44. package/dist/server.js +7 -7
  45. package/dist/server.mjs +2 -2
  46. package/dist/styles.css +1 -1
  47. package/dist/testing/msw.d.mts +2 -2
  48. package/dist/testing/msw.d.ts +2 -2
  49. package/dist/testing/msw.js +2 -2
  50. package/dist/testing/msw.mjs +1 -1
  51. package/dist/testing/suite.d.mts +6 -6
  52. package/dist/testing/suite.d.ts +6 -6
  53. package/dist/testing/suite.js +23 -23
  54. package/dist/testing/suite.mjs +4 -4
  55. package/dist/testing.d.mts +5 -5
  56. package/dist/testing.d.ts +5 -5
  57. package/dist/testing.js +79 -79
  58. package/dist/testing.mjs +5 -5
  59. package/dist/utils.d.mts +4 -4
  60. package/dist/utils.d.ts +4 -4
  61. package/package.json +1 -1
  62. package/registry/booking-page.json +1 -1
  63. package/registry/chat-widget.json +1 -1
  64. package/registry/customer-input-fields.json +1 -1
  65. package/registry/date-slot-picker.json +1 -1
  66. package/registry/product-customizer.json +1 -1
  67. package/registry/rental-service-card.json +1 -1
@@ -1,5 +1,5 @@
1
- import { createMockApp } from './chunk-NNGKC3MM.mjs';
2
- import { createCimplifyClient } from './chunk-2UDEWILL.mjs';
1
+ import { createMockApp } from './chunk-X36FZZT6.mjs';
2
+ import { createCimplifyClient } from './chunk-FKARGZK3.mjs';
3
3
  import { z } from 'zod';
4
4
 
5
5
  var cimplifyRegistry = z.registry();
@@ -72,6 +72,85 @@ function getVariantDisplayName(variant, productName) {
72
72
  return productName || (variant.is_default ? "Default" : "Option");
73
73
  }
74
74
 
75
+ // src/utils/price-basis.ts
76
+ var MULTI_DAY_UNITS = /* @__PURE__ */ new Set([
77
+ "days",
78
+ "nights",
79
+ "weeks",
80
+ "months",
81
+ "years"
82
+ ]);
83
+ var PERIOD_LABELS = {
84
+ minutes: "session",
85
+ hours: "session",
86
+ days: "day",
87
+ nights: "night",
88
+ weeks: "week",
89
+ months: "month",
90
+ years: "year"
91
+ };
92
+ function isMultiDayService(product) {
93
+ if ((product.type || "product") !== "service") return false;
94
+ if (product.scheduling_mode) return product.scheduling_mode === "multi_day";
95
+ return product.duration_unit != null && MULTI_DAY_UNITS.has(product.duration_unit);
96
+ }
97
+ function priceBasisLabel(product) {
98
+ if ((product.type || "product") !== "service") return null;
99
+ const basis = product.price_basis ?? (isMultiDayService(product) ? "per_duration_unit" : null);
100
+ if (basis === null || basis === "flat") return null;
101
+ if (basis === "per_person") return "person";
102
+ return PERIOD_LABELS[product.duration_unit ?? "nights"];
103
+ }
104
+ var DAY_MS = 864e5;
105
+ function utcDateParts(iso) {
106
+ const date = new Date(iso);
107
+ if (Number.isNaN(date.getTime())) return null;
108
+ return { year: date.getUTCFullYear(), month: date.getUTCMonth() + 1, day: date.getUTCDate() };
109
+ }
110
+ function stayPeriods(scheduledStart, scheduledEnd, durationUnit) {
111
+ const start = utcDateParts(scheduledStart);
112
+ const end = utcDateParts(scheduledEnd);
113
+ if (!start || !end) return 1;
114
+ const days = Math.max(
115
+ 1,
116
+ Math.round(
117
+ (Date.UTC(end.year, end.month - 1, end.day) - Date.UTC(start.year, start.month - 1, start.day)) / DAY_MS
118
+ )
119
+ );
120
+ switch (durationUnit) {
121
+ case "weeks":
122
+ return Math.max(1, Math.ceil(days / 7));
123
+ case "months": {
124
+ let months = (end.year - start.year) * 12 + (end.month - start.month);
125
+ if (end.day > start.day) months += 1;
126
+ return Math.max(1, months);
127
+ }
128
+ case "years": {
129
+ let years = end.year - start.year;
130
+ if (end.month > start.month || end.month === start.month && end.day > start.day) {
131
+ years += 1;
132
+ }
133
+ return Math.max(1, years);
134
+ }
135
+ default:
136
+ return days;
137
+ }
138
+ }
139
+ function stayLength(scheduledStart, scheduledEnd, durationUnit) {
140
+ const periods = stayPeriods(scheduledStart, scheduledEnd, durationUnit);
141
+ const label = PERIOD_LABELS[durationUnit ?? "nights"];
142
+ return `${periods} ${label}${periods === 1 ? "" : "s"}`;
143
+ }
144
+ function serviceBillingMultiplier(product, selection) {
145
+ if ((product.type || "product") !== "service") return null;
146
+ const basis = product.price_basis ?? (isMultiDayService(product) ? "per_duration_unit" : "per_person");
147
+ const units = Math.max(1, selection.units ?? 1);
148
+ if (basis === "flat") return units;
149
+ if (basis === "per_person") return Math.max(1, selection.quantity) * units;
150
+ const periods = selection.scheduledStart && selection.scheduledEnd ? stayPeriods(selection.scheduledStart, selection.scheduledEnd, product.duration_unit) : 1;
151
+ return periods * units;
152
+ }
153
+
75
154
  // src/types/product.ts
76
155
  var PRODUCT_TYPE = {
77
156
  Product: "product",
@@ -161,4 +240,4 @@ function appendTransform(url, t) {
161
240
  return `${url}${url.includes("?") ? "&" : "?"}${query}`;
162
241
  }
163
242
 
164
- export { BOUNDARY_KIND, CIMPLIFY_CDN_HOSTS, DEFAULT_CDN_BASE_URL, DURATION_UNIT, INPUT_FIELD_TYPE, PRODUCT_TYPE, RENDER_HINT, allGalleryImages, assetUrl, getVariantDisplayName, isCimplifyAsset, resolveGallery };
243
+ export { BOUNDARY_KIND, CIMPLIFY_CDN_HOSTS, DEFAULT_CDN_BASE_URL, DURATION_UNIT, INPUT_FIELD_TYPE, PRODUCT_TYPE, RENDER_HINT, allGalleryImages, assetUrl, getVariantDisplayName, isCimplifyAsset, isMultiDayService, priceBasisLabel, resolveGallery, serviceBillingMultiplier, stayLength, stayPeriods };
@@ -1673,7 +1673,10 @@ var CheckoutService = class {
1673
1673
  idempotency_key: data.idempotency_key || generateIdempotencyKey(),
1674
1674
  metadata: data.metadata,
1675
1675
  pay_currency: data.pay_currency,
1676
- fx_quote_id: data.fx_quote_id
1676
+ fx_quote_id: data.fx_quote_id,
1677
+ use_store_credit: data.use_store_credit,
1678
+ voucher_code: data.voucher_code,
1679
+ pay_deposit: data.pay_deposit
1677
1680
  };
1678
1681
  const baseCurrency = chunkAETVRBKI_js.currencyCode(
1679
1682
  (cart.pricing.currency || checkoutData.pay_currency || "GHS").toUpperCase()
@@ -1804,6 +1807,7 @@ var LinkService = class {
1804
1807
  );
1805
1808
  if (result.ok && result.value.session_token) {
1806
1809
  this.client.setAccessToken(result.value.session_token);
1810
+ this.client.autoClaimChatIdentity();
1807
1811
  }
1808
1812
  return result;
1809
1813
  }
@@ -1815,14 +1819,13 @@ var LinkService = class {
1815
1819
  );
1816
1820
  if (result.ok && result.value.session_token) {
1817
1821
  this.client.setAccessToken(result.value.session_token);
1822
+ this.client.autoClaimChatIdentity();
1818
1823
  }
1819
1824
  return result;
1820
1825
  }
1821
1826
  async logout() {
1822
1827
  const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
1823
- if (result.ok) {
1824
- this.client.clearSession();
1825
- }
1828
+ this.client.clearSession();
1826
1829
  return result;
1827
1830
  }
1828
1831
  async checkStatus(contact) {
@@ -2000,6 +2003,7 @@ var AuthService = class {
2000
2003
  );
2001
2004
  if (result.ok && result.value.session_token) {
2002
2005
  this.client.setAccessToken(result.value.session_token);
2006
+ this.client.autoClaimChatIdentity();
2003
2007
  }
2004
2008
  return result;
2005
2009
  }
@@ -2153,6 +2157,7 @@ var SchedulingService = class {
2153
2157
  service_id: input.service_id,
2154
2158
  date: input.date,
2155
2159
  participant_count: input.participant_count,
2160
+ units: input.units,
2156
2161
  variant_id: input.variant_id
2157
2162
  });
2158
2163
  return safe(this.client.get(path));
@@ -2173,6 +2178,7 @@ var SchedulingService = class {
2173
2178
  end_date: params.end_date,
2174
2179
  location_id: params.location_id,
2175
2180
  participant_count: params.participant_count,
2181
+ units: params.units,
2176
2182
  variant_id: params.variant_id
2177
2183
  });
2178
2184
  return safe(this.client.get(path));
@@ -3145,6 +3151,7 @@ var CimplifyElements = class {
3145
3151
  this.accessToken = token;
3146
3152
  this.accountId = decodeJwtSub(token);
3147
3153
  this.client.setAccessToken(token);
3154
+ this.client.autoClaimChatIdentity();
3148
3155
  await this.hydrateCustomerData();
3149
3156
  return {
3150
3157
  accountId: this.accountId ?? "",
@@ -1671,7 +1671,10 @@ var CheckoutService = class {
1671
1671
  idempotency_key: data.idempotency_key || generateIdempotencyKey(),
1672
1672
  metadata: data.metadata,
1673
1673
  pay_currency: data.pay_currency,
1674
- fx_quote_id: data.fx_quote_id
1674
+ fx_quote_id: data.fx_quote_id,
1675
+ use_store_credit: data.use_store_credit,
1676
+ voucher_code: data.voucher_code,
1677
+ pay_deposit: data.pay_deposit
1675
1678
  };
1676
1679
  const baseCurrency = currencyCode(
1677
1680
  (cart.pricing.currency || checkoutData.pay_currency || "GHS").toUpperCase()
@@ -1802,6 +1805,7 @@ var LinkService = class {
1802
1805
  );
1803
1806
  if (result.ok && result.value.session_token) {
1804
1807
  this.client.setAccessToken(result.value.session_token);
1808
+ this.client.autoClaimChatIdentity();
1805
1809
  }
1806
1810
  return result;
1807
1811
  }
@@ -1813,14 +1817,13 @@ var LinkService = class {
1813
1817
  );
1814
1818
  if (result.ok && result.value.session_token) {
1815
1819
  this.client.setAccessToken(result.value.session_token);
1820
+ this.client.autoClaimChatIdentity();
1816
1821
  }
1817
1822
  return result;
1818
1823
  }
1819
1824
  async logout() {
1820
1825
  const result = await safe(this.client.linkPost("/v1/link/auth/logout"));
1821
- if (result.ok) {
1822
- this.client.clearSession();
1823
- }
1826
+ this.client.clearSession();
1824
1827
  return result;
1825
1828
  }
1826
1829
  async checkStatus(contact) {
@@ -1998,6 +2001,7 @@ var AuthService = class {
1998
2001
  );
1999
2002
  if (result.ok && result.value.session_token) {
2000
2003
  this.client.setAccessToken(result.value.session_token);
2004
+ this.client.autoClaimChatIdentity();
2001
2005
  }
2002
2006
  return result;
2003
2007
  }
@@ -2151,6 +2155,7 @@ var SchedulingService = class {
2151
2155
  service_id: input.service_id,
2152
2156
  date: input.date,
2153
2157
  participant_count: input.participant_count,
2158
+ units: input.units,
2154
2159
  variant_id: input.variant_id
2155
2160
  });
2156
2161
  return safe(this.client.get(path));
@@ -2171,6 +2176,7 @@ var SchedulingService = class {
2171
2176
  end_date: params.end_date,
2172
2177
  location_id: params.location_id,
2173
2178
  participant_count: params.participant_count,
2179
+ units: params.units,
2174
2180
  variant_id: params.variant_id
2175
2181
  });
2176
2182
  return safe(this.client.get(path));
@@ -3143,6 +3149,7 @@ var CimplifyElements = class {
3143
3149
  this.accessToken = token;
3144
3150
  this.accountId = decodeJwtSub(token);
3145
3151
  this.client.setAccessToken(token);
3152
+ this.client.autoClaimChatIdentity();
3146
3153
  await this.hydrateCustomerData();
3147
3154
  return {
3148
3155
  accountId: this.accountId ?? "",
@@ -2480,6 +2480,10 @@ function buildV1(deps) {
2480
2480
  "/support/conversation",
2481
2481
  (c) => tryRoute(c, () => deps.support.openConversation(deps.defaultBusinessId, c.var.session.customer_id))
2482
2482
  );
2483
+ app.get(
2484
+ "/support/conversation",
2485
+ (c) => tryRoute(c, () => deps.support.peekConversation(deps.defaultBusinessId, c.var.session.customer_id))
2486
+ );
2483
2487
  app.post("/support/conversation/messages", async (c) => {
2484
2488
  const body = await c.req.json().catch(() => ({}));
2485
2489
  return tryRoute(
@@ -2496,6 +2500,18 @@ function buildV1(deps) {
2496
2500
  return tryRoute(c, () => deps.support.react(c.req.param("messageId"), body.emoji ?? ""));
2497
2501
  });
2498
2502
  app.post("/support/conversation/handoff", (c) => c.json({ data: { requested: true } }));
2503
+ app.post("/support/conversation/claim", async (c) => {
2504
+ const body = await c.req.json().catch(() => ({}));
2505
+ if (!body.access_token) return c.json({ error: "access_token is required" }, 400);
2506
+ const session = c.var.session;
2507
+ return c.json({
2508
+ data: {
2509
+ session_token: session.token,
2510
+ thread_id: null,
2511
+ customer_name: session.customer_name ?? "Test User"
2512
+ }
2513
+ });
2514
+ });
2499
2515
  app.get(
2500
2516
  "/support/conversation/ws",
2501
2517
  (c) => c.json({ note: "WebSocket connection \u2014 connect via ws:// at the same path", supported: false }, 426)
@@ -5466,6 +5482,13 @@ function createSupportService(opts) {
5466
5482
  registry.conversations.put(id, conv);
5467
5483
  return conv;
5468
5484
  },
5485
+ peekConversation(businessId, customerId) {
5486
+ const matches = registry.conversations.list(
5487
+ (c) => c.business_id === businessId && c.customer_id === customerId
5488
+ );
5489
+ const conv = matches[matches.length - 1];
5490
+ return conv ? { conversation: conv, messages: conv.messages } : { conversation: null, messages: [] };
5491
+ },
5469
5492
  sendMessage(conversationId, body) {
5470
5493
  const conv = registry.conversations.get(conversationId);
5471
5494
  if (!conv) throw notFound(`Conversation ${conversationId} not found`);
@@ -1,5 +1,5 @@
1
- import { V as CimplifyError, S as Category, aZ as Product, f as AddOnWithOptions, aQ as Pagination, bb as ProductWithDetails, b9 as ProductVariant, bF as VariantAxis, bG as VariantAxisSelection, A as AddOn, W as Collection, G as BundleSummary, u as Bundle, a3 as Composite, a1 as ComponentSelectionInput, a8 as CompositePriceResult, U as ChosenPrice, b6 as ProductTaxonomy, bx as TaxonomyWithChildren, ax as EligiblePlansQuery, b1 as ProductBillingPlan, b7 as ProductTimeProfile, b0 as ProductAvailabilityNow, aj as Deal, b2 as ProductDealInfo, ap as DiscountValidation, bu as TagsResponse, ae as CustomAttributeDefinition, af as CustomAttributeValue, bc as PropertyFacet, bw as TaxonomyAttributeTemplate, aJ as KnowledgeArticle, by as UICart, L as CartItem, Q as CartSummary, g as AddToCartInput, N as CartMutationResult, bE as UpdateCartItemInput, ao as DiscountDetails, aO as Money, ad as CurrencyCode, aK as LineConfiguration, bL as VariantDetails, bM as VariantDetailsDTO, a as AddOnDetails, d as AddOnOptionDetails, b as AddOnGroupDetails, D as BundleSelectionData, aa as CompositeSelectionData, ag as CustomerInputValue, bS as components, bk as SchedulingMode, av as DurationUnit, bo as Subscription, bs as SubscriptionWithDetails } from './product-DZX4QuKS.mjs';
2
- import { a as AuthorizationType, c as PaymentMethod, I as InitializePaymentResult, S as SubmitAuthorizationInput, i as PaymentStatusResponse } from './payment-5d8FTA1q.mjs';
1
+ import { V as CimplifyError, S as Category, aZ as Product, f as AddOnWithOptions, aQ as Pagination, bb as ProductWithDetails, b9 as ProductVariant, bF as VariantAxis, bG as VariantAxisSelection, A as AddOn, W as Collection, G as BundleSummary, u as Bundle, a3 as Composite, a1 as ComponentSelectionInput, a8 as CompositePriceResult, U as ChosenPrice, b6 as ProductTaxonomy, bx as TaxonomyWithChildren, ax as EligiblePlansQuery, b1 as ProductBillingPlan, b7 as ProductTimeProfile, b0 as ProductAvailabilityNow, aj as Deal, b2 as ProductDealInfo, ap as DiscountValidation, bu as TagsResponse, ae as CustomAttributeDefinition, af as CustomAttributeValue, bc as PropertyFacet, bw as TaxonomyAttributeTemplate, aJ as KnowledgeArticle, by as UICart, L as CartItem, Q as CartSummary, g as AddToCartInput, N as CartMutationResult, bE as UpdateCartItemInput, ao as DiscountDetails, aO as Money, ad as CurrencyCode, aK as LineConfiguration, bL as VariantDetails, bM as VariantDetailsDTO, a as AddOnDetails, d as AddOnOptionDetails, b as AddOnGroupDetails, D as BundleSelectionData, aa as CompositeSelectionData, ag as CustomerInputValue, bS as components, bk as SchedulingMode, av as DurationUnit, bo as Subscription, bs as SubscriptionWithDetails } from './product-O8-wcHSe.mjs';
2
+ import { a as AuthorizationType, c as PaymentMethod, I as InitializePaymentResult, S as SubmitAuthorizationInput, i as PaymentStatusResponse } from './payment-pKPpaORI.mjs';
3
3
 
4
4
  interface RequestContext {
5
5
  method: "GET" | "POST" | "PATCH" | "DELETE";
@@ -65,12 +65,43 @@ interface OutboxFullEvent {
65
65
  operation: string;
66
66
  idempotencyKey: string;
67
67
  }
68
+ interface TokenChangedEvent {
69
+ token: string | null;
70
+ }
71
+ interface SessionClaimedEvent {
72
+ sessionToken: string;
73
+ threadId: string | null;
74
+ customerName: string;
75
+ }
76
+ declare const MUTATION_ERROR: "mutation:error";
77
+ declare const OUTBOX_REPLAY_SUCCESS: "outbox:replay-success";
78
+ declare const OUTBOX_REPLAY_ERROR: "outbox:replay-error";
79
+ declare const OUTBOX_DEAD_LETTER: "outbox:dead-letter";
80
+ declare const OUTBOX_FULL: "outbox:full";
81
+ declare const AUTH_TOKEN_CHANGED: "auth:token-changed";
82
+ declare const SESSION_CLAIMED: "session:claimed";
83
+ declare const SESSION_CLEARED: "session:cleared";
68
84
  interface ClientEventMap {
69
- "mutation:error": MutationErrorEvent;
70
- "outbox:replay-success": OutboxReplayEvent;
71
- "outbox:replay-error": OutboxReplayErrorEvent;
72
- "outbox:dead-letter": OutboxReplayEvent;
73
- "outbox:full": OutboxFullEvent;
85
+ [MUTATION_ERROR]: MutationErrorEvent;
86
+ [OUTBOX_REPLAY_SUCCESS]: OutboxReplayEvent;
87
+ [OUTBOX_REPLAY_ERROR]: OutboxReplayErrorEvent;
88
+ [OUTBOX_DEAD_LETTER]: OutboxReplayEvent;
89
+ [OUTBOX_FULL]: OutboxFullEvent;
90
+ [AUTH_TOKEN_CHANGED]: TokenChangedEvent;
91
+ /**
92
+ * The anonymous session was claimed for a verified Link identity: the
93
+ * session token rotated (already adopted by the client) and server-side
94
+ * state — conversation, cart, orders — now resolves customer-first.
95
+ * Consumers should refetch anything session-derived.
96
+ */
97
+ [SESSION_CLAIMED]: SessionClaimedEvent;
98
+ /**
99
+ * The session was cleared (sign-out): the access token is gone and a
100
+ * fresh anonymous session token was minted. Everything keyed to the old
101
+ * session — conversation, cart, identity — must reset, not linger for
102
+ * the next person at this browser.
103
+ */
104
+ [SESSION_CLEARED]: Record<string, never>;
74
105
  }
75
106
  type ClientEventName = keyof ClientEventMap;
76
107
  type ClientEventListener<K extends ClientEventName> = (payload: ClientEventMap[K]) => void;
@@ -1381,6 +1412,10 @@ interface CheckoutFormData {
1381
1412
  /** Store-credit voucher / gift code to claim into the wallet and apply to this
1382
1413
  * order. Presenting a code implies applying store credit. */
1383
1414
  voucher_code?: string;
1415
+ /** Pay only the required deposit now (balance collected later) instead of the
1416
+ * full total. Only honored when the order is deposit-eligible and paying in
1417
+ * the order's native currency. */
1418
+ pay_deposit?: boolean;
1384
1419
  }
1385
1420
  type NextAction = {
1386
1421
  type: "none";
@@ -1560,6 +1595,7 @@ interface EnrichedOrderItem {
1560
1595
  scheduled_end?: string;
1561
1596
  confirmation_code?: string;
1562
1597
  primary_staff_id?: string;
1598
+ units?: number;
1563
1599
  base_price: Money;
1564
1600
  add_ons_price: Money;
1565
1601
  total_price: Money;
@@ -2005,6 +2041,7 @@ interface Service {
2005
2041
  duration_value?: number;
2006
2042
  duration_minutes: number;
2007
2043
  duration_unit?: DurationUnit;
2044
+ price_basis?: "flat" | "per_person" | "per_duration_unit";
2008
2045
  image_url?: string | null;
2009
2046
  category_id?: string | null;
2010
2047
  is_available: boolean;
@@ -2108,6 +2145,8 @@ interface GetAvailableSlotsInput {
2108
2145
  service_id: string;
2109
2146
  date: string;
2110
2147
  participant_count?: number;
2148
+ /** Whole units needed; slots that can't seat them drop out. Default 1. */
2149
+ units?: number;
2111
2150
  variant_id?: string;
2112
2151
  }
2113
2152
  interface CheckSlotAvailabilityInput {
@@ -2163,6 +2202,8 @@ interface ServiceAvailabilityParams {
2163
2202
  end_date: string;
2164
2203
  location_id?: string;
2165
2204
  participant_count?: number;
2205
+ /** Whole units needed; short check-in days report unavailable. Default 1. */
2206
+ units?: number;
2166
2207
  variant_id?: string;
2167
2208
  }
2168
2209
  interface ServiceAvailabilityResult {
@@ -2254,7 +2295,11 @@ interface LiteBootstrapLocation {
2254
2295
  interface LiteBootstrap {
2255
2296
  business: LiteBootstrapBusiness;
2256
2297
  categories: LiteBootstrapCategory[];
2298
+ /** The resolved ordering location: the QR / query choice, else the first
2299
+ * active branch. Null only for a business with no locations at all. */
2257
2300
  location?: LiteBootstrapLocation | null;
2301
+ /** Every active branch — more than one means the customer can switch. */
2302
+ locations?: LiteBootstrapLocation[];
2258
2303
  }
2259
2304
  interface LiteResource {
2260
2305
  id: string;
@@ -2299,6 +2344,10 @@ declare class FxService {
2299
2344
  lockQuote(request: FxQuoteRequest, opts?: IdempotencyOption$3): Promise<Result<FxQuote, CimplifyError>>;
2300
2345
  }
2301
2346
 
2347
+ interface TrackPageViewOptions {
2348
+ pagePath?: string;
2349
+ pageTitle?: string;
2350
+ }
2302
2351
  interface TrackProductViewOptions {
2303
2352
  productName?: string;
2304
2353
  categoryId?: string;
@@ -2372,6 +2421,13 @@ declare class ActivityService {
2372
2421
  */
2373
2422
  startSession(): void;
2374
2423
  private buildSessionPayload;
2424
+ /**
2425
+ * Record a page the visitor landed on. Product and category views already
2426
+ * imply one, so call this for everything else — home, listings, booking,
2427
+ * checkout — or entry pages, exits and bounce rate are computed from
2428
+ * product pages alone.
2429
+ */
2430
+ trackPageView(options?: TrackPageViewOptions): void;
2375
2431
  trackProductView(productId: string, options?: TrackProductViewOptions): void;
2376
2432
  trackCategoryView(categoryId: string, options?: TrackCategoryViewOptions): void;
2377
2433
  getState(): Promise<Result<ActivityStateResponse, CimplifyError>>;
@@ -2509,6 +2565,8 @@ interface ChatMessage {
2509
2565
  metadata: Record<string, unknown>;
2510
2566
  /** Server-resolved quote context; absent when the message isn't a reply. */
2511
2567
  reply_to?: ChatReplyContext | null;
2568
+ /** Echo of the sender's idempotency key on widget customer messages. */
2569
+ client_id?: string | null;
2512
2570
  created_at: string;
2513
2571
  }
2514
2572
  /**
@@ -2560,13 +2618,17 @@ type ChatReplyCard = {
2560
2618
  order_number?: string;
2561
2619
  status?: string;
2562
2620
  };
2563
- declare function chatMessageCards(message: {
2564
- metadata: Record<string, unknown>;
2565
- }): ChatReplyCard[];
2566
2621
  interface ChatConversationResponse {
2567
2622
  conversation: ChatConversation;
2568
2623
  messages: ChatMessage[];
2569
2624
  }
2625
+ interface ClaimConversationResult {
2626
+ /** The rotated, customer-bound session token; the SDK adopts it automatically. */
2627
+ session_token: string;
2628
+ /** The adopted (or merged-into) conversation; null when there was nothing to adopt. */
2629
+ thread_id?: string | null;
2630
+ customer_name: string;
2631
+ }
2570
2632
  interface ChatWidgetStarter {
2571
2633
  icon?: string;
2572
2634
  text: string;
@@ -2577,7 +2639,30 @@ interface IdempotencyOption {
2577
2639
  }
2578
2640
  declare class SupportService {
2579
2641
  private client;
2642
+ private claimInFlight;
2643
+ private claimInFlightToken;
2644
+ private lastClaimedAccessToken;
2645
+ private claimedName;
2580
2646
  constructor(client: CimplifyClient);
2647
+ /** The verified customer this session's conversation was claimed for, null while anonymous. */
2648
+ get claimedCustomerName(): string | null;
2649
+ /**
2650
+ * Claim the anonymous session for the verified Link identity: the server
2651
+ * verifies the access token, rotates the session token (adopted here, so
2652
+ * every subsequent request rides the bound session), folds the guest cart
2653
+ * in, and adopts or merges the widget conversation.
2654
+ *
2655
+ * Idempotent and single-flight: concurrent calls share one request, and a
2656
+ * token already claimed by this instance short-circuits without a network
2657
+ * round trip. Emits `session:claimed` on the client's event channel.
2658
+ */
2659
+ claimConversation(): Promise<Result<ClaimConversationResult, CimplifyError>>;
2660
+ /**
2661
+ * Peek at the conversation without creating one: resolves the existing
2662
+ * thread (or null) so a page load can hydrate history without littering
2663
+ * the inbox with empty threads.
2664
+ */
2665
+ peekConversation(): Promise<Result<ChatConversationResponse | null, CimplifyError>>;
2581
2666
  /** Open (or resume) the customer's widget conversation. */
2582
2667
  openConversation(opts?: IdempotencyOption): Promise<Result<ChatConversationResponse, CimplifyError>>;
2583
2668
  /**
@@ -2708,6 +2793,7 @@ declare function createElements(client: CimplifyClient, businessId?: string, opt
2708
2793
  interface RequestOptions {
2709
2794
  idempotencyKey?: string;
2710
2795
  headers?: Record<string, string>;
2796
+ timeoutMs?: number;
2711
2797
  }
2712
2798
  /**
2713
2799
  * Per-call cache hints for server-side reads. Forwarded as `next: { revalidate, tags }`
@@ -2751,6 +2837,7 @@ declare class CimplifyClient {
2751
2837
  private credentials;
2752
2838
  private accessToken;
2753
2839
  private sessionToken;
2840
+ private sessionEpoch;
2754
2841
  private timeout;
2755
2842
  private maxRetries;
2756
2843
  private retryDelay;
@@ -2794,7 +2881,25 @@ declare class CimplifyClient {
2794
2881
  getCredentialsMode(): RequestCredentials;
2795
2882
  isTestMode(): boolean;
2796
2883
  setAccessToken(token: string | null): void;
2884
+ /**
2885
+ * Zero-UI claim: a freshly verified customer identity (OTP verify, silent
2886
+ * refresh restore) binds the anonymous session so the conversation, cart
2887
+ * and orders survive a cleared browser. Best-effort by design — a failed
2888
+ * claim leaves the session anonymous, exactly as it was. Called by the
2889
+ * auth flows, never by the raw token setter.
2890
+ */
2891
+ autoClaimChatIdentity(): void;
2892
+ /**
2893
+ * Adopt a server-rotated session token (claim flow). The old token stays
2894
+ * in flight-safe use until the next request; the storage swap makes the
2895
+ * rotation durable across reloads.
2896
+ */
2897
+ adoptSessionToken(token: string): void;
2797
2898
  clearSession(): void;
2899
+ getSessionEpoch(): number;
2900
+ publishSessionClaimed(customerName: string | null): void;
2901
+ private broadcastSessionSync;
2902
+ private watchCrossTabSession;
2798
2903
  setOrderToken(orderId: string, token: string): void;
2799
2904
  getOrderToken(orderId: string): string | null;
2800
2905
  clearOrderTokens(): void;
@@ -2805,6 +2910,7 @@ declare class CimplifyClient {
2805
2910
  getBusinessId(): string | null;
2806
2911
  resolveBusinessId(): Promise<string>;
2807
2912
  private authedFetch;
2913
+ private safeStorage;
2808
2914
  private loadSessionToken;
2809
2915
  /**
2810
2916
  * Mint the session token client-side so the very first request already
@@ -2853,4 +2959,4 @@ declare class CimplifyClient {
2853
2959
  }
2854
2960
  declare function createCimplifyClient(config?: CimplifyConfig): CimplifyClient;
2855
2961
 
2856
- export { type CheckSlotAvailabilityInput as $, AUTHORIZATION_TYPE as A, type Booking as B, BusinessService as C, type BusinessSettings as D, type BusinessWithLocations as E, CHECKOUT_MODE as F, CHECKOUT_MUTATION as G, CHECKOUT_STEP as H, CONTACT_TYPE as I, type CacheOptions as J, type CancelBookingInput as K, type CancelBookingResult as L, type CancelOrderInput as M, type CancellationPolicy as N, CartOperations as O, CatalogueQueries as P, type CatalogueResult as Q, type CatalogueSnapshot as R, type CategoryInfo as S, type ChatAttachment as T, type ChatConversation as U, type ChatConversationResponse as V, type ChatMessage as W, type ChatReplyCard as X, type ChatReplyContext as Y, type ChatUploadAttachment as Z, type ChatWidgetStarter as _, AUTH_MUTATION as a, type EnrollAndLinkOrderResult as a$, type CheckSlotAvailabilityResult as a0, type CheckoutAddressInfo as a1, type CheckoutCartData as a2, type CheckoutCartItem as a3, type CheckoutCustomerInfo as a4, type CheckoutFormData as a5, type CheckoutInput as a6, type CheckoutMode as a7, type CheckoutOrderType as a8, type CheckoutPaymentMethod as a9, type DeliveryOption as aA, type DeliveryOptionsResponse as aB, DeliveryService as aC, type DepositResult as aD, type DeviceType as aE, type DismissMessageResponse as aF, ELEMENTS_AUTH_CONTACT_TYPES as aG, ELEMENTS_AUTH_MODES as aH, ELEMENTS_AUTH_PROMPTS as aI, ELEMENT_TYPES as aJ, EVENT_TYPES as aK, type ElementAppearance as aL, type ElementEventHandler as aM, type ElementEventType as aN, type ElementOptions as aO, type ElementType as aP, type ElementsAuthContactType as aQ, type ElementsAuthMode as aR, type ElementsAuthOptions as aS, type ElementsAuthPrompt as aT, type ElementsCheckoutData as aU, type ElementsCheckoutResult as aV, type ElementsCustomerInfo as aW, type ElementsOptions as aX, type EnrichedOrder as aY, type EnrichedOrderItem as aZ, type EnrollAndLinkOrderInput as a_, type CheckoutResult as aa, CheckoutService as ab, type CheckoutStatus as ac, type CheckoutStatusContext as ad, type CheckoutStep as ae, CimplifyClient as af, type CimplifyConfig as ag, CimplifyElement as ah, CimplifyElements as ai, type ContactType as aj, type ContentType as ak, type CreateAddressInput as al, type CreateMobileMoneyInput as am, type Customer as an, type CustomerAddress as ao, type CustomerBooking as ap, type CustomerBookingServiceItem as aq, type CustomerLinkPreferences as ar, type CustomerMobileMoney as as, type CustomerServicePreferences as at, DEFAULT_COUNTRY as au, DEFAULT_CURRENCY as av, DEVICE_TYPE as aw, type DayAvailability as ax, type DeliveryFeeDetails as ay, type DeliveryFeeResponse as az, type AbortablePromise as b, type OrderLineState as b$, type EnrollmentData as b0, type Err as b1, type FeeBearerType as b2, type FetchQuoteInput as b3, type FulfillmentLink as b4, type FulfillmentStatus as b5, type FulfillmentSummaryDTO as b6, type FulfillmentType as b7, type FxQuote as b8, type FxQuoteRequest as b9, type LocationTaxBehavior as bA, type LocationTaxOverrides as bB, type LocationTimeProfile as bC, type LocationWithDetails as bD, MESSAGE_TYPES as bE, MOBILE_MONEY_PROVIDER as bF, type MobileMoneyData as bG, type MobileMoneyDetails as bH, type MobileMoneyProvider as bI, type NextAction as bJ, ORDER_MUTATION as bK, ORDER_TYPE as bL, type ObservabilityHooks as bM, type Ok as bN, type Order as bO, type OrderCustomerInfo as bP, type OrderDiscountInfo as bQ, type OrderFilter as bR, type OrderFulfillmentSummary as bS, type OrderGroup as bT, type OrderGroupDetails as bU, type OrderGroupPayment as bV, type OrderGroupPaymentState as bW, type OrderGroupPaymentStatus as bX, type OrderGroupPaymentSummary as bY, type OrderGroupStatus as bZ, type OrderHistory as b_, type FxQuoteStatus as ba, type FxRateResponse as bb, FxService as bc, type GetAvailableSlotsInput as bd, type GetDeliveryOptionsParams as be, type GetOrdersOptions as bf, type GetProductsOptions as bg, type GroupOrderInfo as bh, type IframeToParentMessage as bi, InventoryService as bj, LINK_MUTATION as bk, LINK_QUERY as bl, type LifecyclePhase as bm, type LineItem as bn, type LineType as bo, type LinkData as bp, type LinkEnrollResult as bq, LinkService as br, type LinkSession as bs, type LinkStatusResult as bt, type LiteBootstrap as bu, type LiteDayHours as bv, type LiteHoursRange as bw, LiteService as bx, type Location as by, type LocationBooking as bz, type ActivityRecommendation as c, type RevokeSessionResult as c$, type OrderLineStatus as c0, type OrderLocationInfo as c1, type OrderPaymentEvent as c2, type OrderPricingView as c3, OrderQueries as c4, type OrderSplitDetail as c5, type OrderStaffInfo as c6, type OrderStatus as c7, type OrderTimestampsDTO as c8, type OrderType as c9, type QuoteUiMessage as cA, type ReadRequestOptions as cB, type RefreshQuoteInput as cC, type RefreshQuoteResult as cD, type RefundOrderInput as cE, type RelatedCandidate as cF, type RelatedProduct as cG, type RelatedProductsEnrichment as cH, type RelationType as cI, type ReminderMethod as cJ, type ReminderSettings as cK, type ReorderResult as cL, type RequestContext as cM, type RequestErrorEvent as cN, type RequestOptions as cO, type RequestOtpInput as cP, type RequestSource as cQ, type RequestStartEvent as cR, type RequestSuccessEvent as cS, type RescheduleBookingInput as cT, type RescheduleBookingResult as cU, type RescheduleHistoryRecord as cV, type ResourceAssignment as cW, type ResourceInfo as cX, type Result as cY, type RetryEvent as cZ, type RevokeAllSessionsResult as c_, type Origin as ca, type OriginActor as cb, type OriginChannel as cc, type OtpResult as cd, PAYMENT_METHOD as ce, PAYMENT_MUTATION as cf, PAYMENT_STATE as cg, PICKUP_TIME_TYPE as ch, type ParentToIframeMessage as ci, type PaymentInfoDTO as cj, type PaymentMethodInfo as ck, type PaymentState as cl, type PickupTime as cm, type PickupTimeType as cn, type PlaceDetailsResponse as co, PlacesService as cp, type PriceQuote as cq, type PricingOverrides as cr, type ProcessAndResolveOptions as cs, type ProcessCheckoutOptions as ct, type ProcessCheckoutResult as cu, type ProviderResolutionSource as cv, type QuoteBundleSelectionInput as cw, type QuoteCompositeSelectionInput as cx, type QuoteDynamicBuckets as cy, type QuoteStatus as cz, type ActivityRecommendationsResponse as d, type Room as d0, type SchedulingMetadata as d1, type SchedulingResult as d2, SchedulingService as d3, type SenderType as d4, type Service as d5, type ServiceAvailabilityParams as d6, type ServiceAvailabilityResult as d7, type ServiceCharge as d8, type ServiceNotes as d9, type UpdateOrderStatusInput as dA, type UpdateProfileInput as dB, type UploadInitResponse as dC, type UploadResult as dD, UploadService as dE, type VerifyOtpInput as dF, chatMessageCards as dG, combine as dH, combineObject as dI, createCimplifyClient as dJ, createElements as dK, err as dL, flatMap as dM, fromPromise as dN, getOrElse as dO, isErr as dP, isOk as dQ, mapError as dR, mapResult as dS, ok as dT, toNullable as dU, tryCatch as dV, unwrap as dW, type ServiceScheduleRequest as da, type ServiceStatus as db, type SessionActivityData as dc, type SessionChangeEvent as dd, type SessionMessage as de, type SlotResourceInfo as df, type SlotStaffInfo as dg, type Staff as dh, type StaffAssignment as di, type StaffRole as dj, type StaffScheduleItem as dk, type StockLevel as dl, type StockStatus as dm, type StoreCreditBalance as dn, StoreCreditQueries as dp, type StorefrontBootstrap as dq, SubscriptionService as dr, SupportService as ds, type Table as dt, type TimeRange as du, type TimeRanges as dv, type TimeSlot as dw, type TrackCategoryViewOptions as dx, type TrackProductViewOptions as dy, type UpdateAddressInput as dz, ActivityService as e, type ActivityStateResponse as f, type AddressData as g, type AddressInfo as h, type AmountToPay as i, type AuthResponse as j, AuthService as k, type AuthStatus as l, type AuthenticatedCustomer as m, type AuthenticatedData as n, type AutocompletePrediction as o, type AutocompleteResponse as p, type AvailabilityResult as q, type AvailableSlot as r, type BookingModificationType as s, type BookingStatus as t, type BookingWithDetails as u, type BufferTimes as v, type Business as w, type BusinessDetailsDTO as x, type BusinessHours as y, type BusinessPreferences as z };
2962
+ export { type CheckSlotAvailabilityInput as $, AUTHORIZATION_TYPE as A, type Booking as B, BusinessService as C, type BusinessSettings as D, type BusinessWithLocations as E, CHECKOUT_MODE as F, CHECKOUT_MUTATION as G, CHECKOUT_STEP as H, CONTACT_TYPE as I, type CacheOptions as J, type CancelBookingInput as K, type CancelBookingResult as L, type CancelOrderInput as M, type CancellationPolicy as N, CartOperations as O, CatalogueQueries as P, type CatalogueResult as Q, type CatalogueSnapshot as R, type CategoryInfo as S, type ChatAttachment as T, type ChatConversation as U, type ChatConversationResponse as V, type ChatMessage as W, type ChatReplyCard as X, type ChatReplyContext as Y, type ChatUploadAttachment as Z, type ChatWidgetStarter as _, AUTH_MUTATION as a, type EnrollAndLinkOrderInput as a$, type CheckSlotAvailabilityResult as a0, type CheckoutAddressInfo as a1, type CheckoutCartData as a2, type CheckoutCartItem as a3, type CheckoutCustomerInfo as a4, type CheckoutFormData as a5, type CheckoutInput as a6, type CheckoutMode as a7, type CheckoutOrderType as a8, type CheckoutPaymentMethod as a9, type DeliveryFeeResponse as aA, type DeliveryOption as aB, type DeliveryOptionsResponse as aC, DeliveryService as aD, type DepositResult as aE, type DeviceType as aF, type DismissMessageResponse as aG, ELEMENTS_AUTH_CONTACT_TYPES as aH, ELEMENTS_AUTH_MODES as aI, ELEMENTS_AUTH_PROMPTS as aJ, ELEMENT_TYPES as aK, EVENT_TYPES as aL, type ElementAppearance as aM, type ElementEventHandler as aN, type ElementEventType as aO, type ElementOptions as aP, type ElementType as aQ, type ElementsAuthContactType as aR, type ElementsAuthMode as aS, type ElementsAuthOptions as aT, type ElementsAuthPrompt as aU, type ElementsCheckoutData as aV, type ElementsCheckoutResult as aW, type ElementsCustomerInfo as aX, type ElementsOptions as aY, type EnrichedOrder as aZ, type EnrichedOrderItem as a_, type CheckoutResult as aa, CheckoutService as ab, type CheckoutStatus as ac, type CheckoutStatusContext as ad, type CheckoutStep as ae, CimplifyClient as af, type CimplifyConfig as ag, CimplifyElement as ah, CimplifyElements as ai, type ClaimConversationResult as aj, type ContactType as ak, type ContentType as al, type CreateAddressInput as am, type CreateMobileMoneyInput as an, type Customer as ao, type CustomerAddress as ap, type CustomerBooking as aq, type CustomerBookingServiceItem as ar, type CustomerLinkPreferences as as, type CustomerMobileMoney as at, type CustomerServicePreferences as au, DEFAULT_COUNTRY as av, DEFAULT_CURRENCY as aw, DEVICE_TYPE as ax, type DayAvailability as ay, type DeliveryFeeDetails as az, type AbortablePromise as b, type OrderHistory as b$, type EnrollAndLinkOrderResult as b0, type EnrollmentData as b1, type Err as b2, type FeeBearerType as b3, type FetchQuoteInput as b4, type FulfillmentLink as b5, type FulfillmentStatus as b6, type FulfillmentSummaryDTO as b7, type FulfillmentType as b8, type FxQuote as b9, type LocationBooking as bA, type LocationTaxBehavior as bB, type LocationTaxOverrides as bC, type LocationTimeProfile as bD, type LocationWithDetails as bE, MESSAGE_TYPES as bF, MOBILE_MONEY_PROVIDER as bG, type MobileMoneyData as bH, type MobileMoneyDetails as bI, type MobileMoneyProvider as bJ, type NextAction as bK, ORDER_MUTATION as bL, ORDER_TYPE as bM, type ObservabilityHooks as bN, type Ok as bO, type Order as bP, type OrderCustomerInfo as bQ, type OrderDiscountInfo as bR, type OrderFilter as bS, type OrderFulfillmentSummary as bT, type OrderGroup as bU, type OrderGroupDetails as bV, type OrderGroupPayment as bW, type OrderGroupPaymentState as bX, type OrderGroupPaymentStatus as bY, type OrderGroupPaymentSummary as bZ, type OrderGroupStatus as b_, type FxQuoteRequest as ba, type FxQuoteStatus as bb, type FxRateResponse as bc, FxService as bd, type GetAvailableSlotsInput as be, type GetDeliveryOptionsParams as bf, type GetOrdersOptions as bg, type GetProductsOptions as bh, type GroupOrderInfo as bi, type IframeToParentMessage as bj, InventoryService as bk, LINK_MUTATION as bl, LINK_QUERY as bm, type LifecyclePhase as bn, type LineItem as bo, type LineType as bp, type LinkData as bq, type LinkEnrollResult as br, LinkService as bs, type LinkSession as bt, type LinkStatusResult as bu, type LiteBootstrap as bv, type LiteDayHours as bw, type LiteHoursRange as bx, LiteService as by, type Location as bz, type ActivityRecommendation as c, type RevokeAllSessionsResult as c$, type OrderLineState as c0, type OrderLineStatus as c1, type OrderLocationInfo as c2, type OrderPaymentEvent as c3, type OrderPricingView as c4, OrderQueries as c5, type OrderSplitDetail as c6, type OrderStaffInfo as c7, type OrderStatus as c8, type OrderTimestampsDTO as c9, type QuoteStatus as cA, type QuoteUiMessage as cB, type ReadRequestOptions as cC, type RefreshQuoteInput as cD, type RefreshQuoteResult as cE, type RefundOrderInput as cF, type RelatedCandidate as cG, type RelatedProduct as cH, type RelatedProductsEnrichment as cI, type RelationType as cJ, type ReminderMethod as cK, type ReminderSettings as cL, type ReorderResult as cM, type RequestContext as cN, type RequestErrorEvent as cO, type RequestOptions as cP, type RequestOtpInput as cQ, type RequestSource as cR, type RequestStartEvent as cS, type RequestSuccessEvent as cT, type RescheduleBookingInput as cU, type RescheduleBookingResult as cV, type RescheduleHistoryRecord as cW, type ResourceAssignment as cX, type ResourceInfo as cY, type Result as cZ, type RetryEvent as c_, type OrderType as ca, type Origin as cb, type OriginActor as cc, type OriginChannel as cd, type OtpResult as ce, PAYMENT_METHOD as cf, PAYMENT_MUTATION as cg, PAYMENT_STATE as ch, PICKUP_TIME_TYPE as ci, type ParentToIframeMessage as cj, type PaymentInfoDTO as ck, type PaymentMethodInfo as cl, type PaymentState as cm, type PickupTime as cn, type PickupTimeType as co, type PlaceDetailsResponse as cp, PlacesService as cq, type PriceQuote as cr, type PricingOverrides as cs, type ProcessAndResolveOptions as ct, type ProcessCheckoutOptions as cu, type ProcessCheckoutResult as cv, type ProviderResolutionSource as cw, type QuoteBundleSelectionInput as cx, type QuoteCompositeSelectionInput as cy, type QuoteDynamicBuckets as cz, type ActivityRecommendationsResponse as d, type RevokeSessionResult as d0, type Room as d1, type SchedulingMetadata as d2, type SchedulingResult as d3, SchedulingService as d4, type SenderType as d5, type Service as d6, type ServiceAvailabilityParams as d7, type ServiceAvailabilityResult as d8, type ServiceCharge as d9, type UpdateAddressInput as dA, type UpdateOrderStatusInput as dB, type UpdateProfileInput as dC, type UploadInitResponse as dD, type UploadResult as dE, UploadService as dF, type VerifyOtpInput as dG, combine as dH, combineObject as dI, createCimplifyClient as dJ, createElements as dK, err as dL, flatMap as dM, fromPromise as dN, getOrElse as dO, isErr as dP, isOk as dQ, mapError as dR, mapResult as dS, ok as dT, toNullable as dU, tryCatch as dV, unwrap as dW, type ServiceNotes as da, type ServiceScheduleRequest as db, type ServiceStatus as dc, type SessionActivityData as dd, type SessionChangeEvent as de, type SessionMessage as df, type SlotResourceInfo as dg, type SlotStaffInfo as dh, type Staff as di, type StaffAssignment as dj, type StaffRole as dk, type StaffScheduleItem as dl, type StockLevel as dm, type StockStatus as dn, type StoreCreditBalance as dp, StoreCreditQueries as dq, type StorefrontBootstrap as dr, SubscriptionService as ds, SupportService as dt, type Table as du, type TimeRange as dv, type TimeRanges as dw, type TimeSlot as dx, type TrackCategoryViewOptions as dy, type TrackProductViewOptions as dz, ActivityService as e, type ActivityStateResponse as f, type AddressData as g, type AddressInfo as h, type AmountToPay as i, type AuthResponse as j, AuthService as k, type AuthStatus as l, type AuthenticatedCustomer as m, type AuthenticatedData as n, type AutocompletePrediction as o, type AutocompleteResponse as p, type AvailabilityResult as q, type AvailableSlot as r, type BookingModificationType as s, type BookingStatus as t, type BookingWithDetails as u, type BufferTimes as v, type Business as w, type BusinessDetailsDTO as x, type BusinessHours as y, type BusinessPreferences as z };