@riverbankcms/sdk 0.148.0 → 0.149.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 (154) hide show
  1. package/README.md +1 -1
  2. package/dist/{PreviewEditorSidebar-DvEPG3Z2.mjs → PreviewEditorSidebar-DBKln68M.mjs} +103 -66
  3. package/dist/{PreviewEditorUI-D6eb6fkx.mjs → PreviewEditorUI-DpRX4Mum.mjs} +3 -6
  4. package/dist/{PreviewQueryProvider-5znTyJuz.mjs → PreviewQueryProvider-C0mndwHB.mjs} +3 -3
  5. package/dist/{SdkPreviewModeRuntime-DJ6utQ_R.mjs → SdkPreviewModeRuntime-DJPmPY-r.mjs} +95 -67
  6. package/dist/{SiteChromeCustomizeContext-CFJYh6vo.mjs → SiteChromeCustomizeContext-JYA0cJ_Z.mjs} +982 -734
  7. package/dist/_dts/api/src/bookingConfig.d.ts +33 -48
  8. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +2 -6
  9. package/dist/_dts/api/src/bookingOperations.d.ts +5 -7
  10. package/dist/_dts/api/src/bookingRecords.d.ts +15 -11
  11. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +5 -5
  12. package/dist/_dts/api/src/clientErrorReporting.d.ts +11 -0
  13. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +0 -2
  14. package/dist/_dts/api/src/common/cancellation.d.ts +23 -0
  15. package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +1 -1
  16. package/dist/_dts/api/src/endpoints.d.ts +2 -10
  17. package/dist/_dts/api/src/eventManagementContracts.d.ts +4 -7
  18. package/dist/_dts/api/src/index.d.ts +3 -3
  19. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +2 -2
  20. package/dist/_dts/api/src/publicExperience/commerceEndpoints.d.ts +2 -29
  21. package/dist/_dts/api/src/request.d.ts +1 -1
  22. package/dist/_dts/api/src/sdk-event-upsert.d.ts +1 -1
  23. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +1 -1
  24. package/dist/_dts/api/src/siteOperations.d.ts +6 -2
  25. package/dist/_dts/blocks/src/contracts/index.d.ts +1 -1
  26. package/dist/_dts/blocks/src/contracts/non-block-islands.d.ts +2 -2
  27. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +38 -10
  28. package/dist/_dts/blocks/src/portal/types.d.ts +9 -6
  29. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +24 -24
  30. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +1 -1
  31. package/dist/_dts/blocks/src/system/blocks/shared/bookingPaymentTerms.d.ts +84 -160
  32. package/dist/_dts/blocks/src/system/blocks/shop.d.ts +2 -2
  33. package/dist/_dts/blocks/src/system/blocks/shop.shared.d.ts +31 -4
  34. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +2 -2
  35. package/dist/_dts/blocks/src/system/runtime/api/types/core.d.ts +3 -1
  36. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +48 -6
  37. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +24 -3
  38. package/dist/_dts/blocks/src/system/runtime/hooks/useBookingNowIso.d.ts +8 -0
  39. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -1
  40. package/dist/_dts/blocks/src/system/runtime/nodes/commerce/shared/display.d.ts +9 -2
  41. package/dist/_dts/blocks/src/system/runtime/nodes/event-details/presentation.d.ts +14 -2
  42. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentSelectionStep.d.ts +2 -0
  43. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventPaymentOptions.d.ts +3 -3
  44. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +4 -0
  45. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +24 -24
  46. package/dist/_dts/blocks/src/system/runtime/nodes/shop.interactive.d.ts +41 -6
  47. package/dist/_dts/blocks/src/system/runtime/shared/bookingPaymentOptions.d.ts +7 -2
  48. package/dist/_dts/commerce/src/purchase/bookingPaymentSelection.d.ts +54 -0
  49. package/dist/_dts/commerce/src/purchase/checkoutCommitPlan.d.ts +58 -13
  50. package/dist/_dts/commerce/src/purchase/checkoutErrorCodes.d.ts +1 -1
  51. package/dist/_dts/commerce/src/purchase/checkoutPaymentPlanPlanning.d.ts +16 -21
  52. package/dist/_dts/commerce/src/purchase/checkoutPaymentTerms.d.ts +23 -40
  53. package/dist/_dts/commerce/src/purchase/checkoutSessionMetadata.d.ts +2 -2
  54. package/dist/_dts/commerce/src/purchase/checkoutStripeSessionPlanning.d.ts +5 -4
  55. package/dist/_dts/commerce/src/purchase/index.d.ts +1 -3
  56. package/dist/_dts/commerce/src/purchase/membershipOrderItemMetadata.d.ts +4 -0
  57. package/dist/_dts/commerce/src/purchase/oneTimeCheckoutPlanning.d.ts +9 -4
  58. package/dist/_dts/commerce/src/purchase/orderInstalmentClosure.d.ts +13 -1
  59. package/dist/_dts/commerce/src/purchase/orderInstalmentLifecycle.d.ts +5 -0
  60. package/dist/_dts/commerce/src/purchase/orderItemMetadata.d.ts +3 -1
  61. package/dist/_dts/commerce/src/purchase/orderTypes.d.ts +7 -1
  62. package/dist/_dts/commerce/src/purchase/refundRailSplit.d.ts +1 -1
  63. package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +2 -2
  64. package/dist/_dts/commerce/src/purchase/stripeMinimumCharge.d.ts +6 -0
  65. package/dist/_dts/commerce/src/purchase/types.d.ts +2 -1
  66. package/dist/_dts/content-editor/src/controller/editLeaseHandover.d.ts +30 -0
  67. package/dist/_dts/content-editor/src/lib/browserStorage.d.ts +5 -0
  68. package/dist/_dts/core/src/booking-flexible-balance.d.ts +2 -2
  69. package/dist/_dts/core/src/booking-instalment-deposit.d.ts +20 -0
  70. package/dist/_dts/core/src/booking-live-payment-terms.d.ts +72 -0
  71. package/dist/_dts/core/src/booking-payment-options.d.ts +24 -0
  72. package/dist/_dts/core/src/booking-payment-schemas.d.ts +522 -0
  73. package/dist/_dts/core/src/branded.d.ts +3 -0
  74. package/dist/_dts/core/src/edit-lease.d.ts +5 -0
  75. package/dist/_dts/core/src/index.d.ts +3 -0
  76. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +297 -36
  77. package/dist/_dts/media-editor/src/MediaPickerDialog.d.ts +3 -1
  78. package/dist/_dts/media-editor/src/MediaPickerMiniDialog.d.ts +10 -0
  79. package/dist/_dts/media-editor/src/index.d.ts +2 -0
  80. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +0 -1
  81. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +1 -1
  82. package/dist/_dts/preview-next/src/client/previewAuthStore.d.ts +7 -0
  83. package/dist/_dts/preview-next/src/constants.d.ts +4 -0
  84. package/dist/_dts/preview-next/src/keepAlive.d.ts +1 -0
  85. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +2 -12
  86. package/dist/_dts/sdk/src/version.d.ts +1 -1
  87. package/dist/_dts/theme-core/src/site-styles/pageDesignIntent.d.ts +0 -5
  88. package/dist/_dts/ui/src/color-picker.d.ts +1 -1
  89. package/dist/_dts/ui/src/palette/useHexDraft.d.ts +7 -0
  90. package/dist/client/{BookingMailingListNote-CzRt2dF_.mjs → BookingMailingListNote-Cr3EeTP5.mjs} +408 -69
  91. package/dist/client/{DemoBookingPortalAccess-mxqwap3f.mjs → DemoBookingPortalAccess-BFGB1Fay.mjs} +2 -2
  92. package/dist/client/{EventCombined.client-CDb11igO.mjs → EventCombined.client-DKYV0_ft.mjs} +6 -6
  93. package/dist/client/{EventListing.client-EgYhzKPa.mjs → EventListing.client-B9UIcEYc.mjs} +2 -2
  94. package/dist/client/{LeafletStaticMap-gtmtaA2b.mjs → LeafletStaticMap-CFLPkP0K.mjs} +1 -1
  95. package/dist/client/{TerminalPanel-DvNUP5ot.mjs → TerminalPanel-JjmgxEsR.mjs} +1 -1
  96. package/dist/client/{ThemedButton-C7CeUJjW.mjs → ThemedButton-CKV1Jh2m.mjs} +1 -1
  97. package/dist/client/{accordion-kjvt49rA.mjs → accordion-DXWIfT3T.mjs} +1 -1
  98. package/dist/client/{bookingForm-pbRZordh.mjs → bookingForm-CjZgHNvv.mjs} +11 -8
  99. package/dist/client/bookings.mjs +424 -320
  100. package/dist/client/{carousel-f4Zbmicv.mjs → carousel-DSLikmvZ.mjs} +1 -1
  101. package/dist/client/{cart-DO20An50.mjs → cart-HDjWReFt.mjs} +3 -3
  102. package/dist/client/{checkout-Du5amDR_.mjs → checkout-CUvRZA3W.mjs} +3 -3
  103. package/dist/client/client.mjs +963 -866
  104. package/dist/client/{context-eW97E945.mjs → context-DFmaZa-Q.mjs} +1 -1
  105. package/dist/client/{dates-jPCirRea.mjs → dates-BBep1JnF.mjs} +2 -2
  106. package/dist/client/{eventCalendar-C2M-iE4j.mjs → eventCalendar-zEobhxo4.mjs} +9 -9
  107. package/dist/client/{eventCombined-W6ns3LHg.mjs → eventCombined-Dp7bz5k-.mjs} +4 -4
  108. package/dist/client/{eventDetails-CR-GT0f0.mjs → eventDetails-FE-zqTt7.mjs} +4 -4
  109. package/dist/client/{eventListing-BK8AfYZz.mjs → eventListing-BMt5snal.mjs} +4 -4
  110. package/dist/client/{eventRegistration-BJSd4KUu.mjs → eventRegistration-O6ZxHfOb.mjs} +67 -342
  111. package/dist/client/{form-BvpfbQaT.mjs → form-DFa1D8vt.mjs} +3 -3
  112. package/dist/client/{headerSection-I5sUQ8x-.mjs → headerSection-CmjHLR-N.mjs} +3 -3
  113. package/dist/client/hooks.mjs +160 -129
  114. package/dist/client/{locationMap-BLvwf9_f.mjs → locationMap-BXKP_lGh.mjs} +3 -3
  115. package/dist/client/{newsletterForm-DrQ2weE8.mjs → newsletterForm-CU-HmxGx.mjs} +3 -3
  116. package/dist/client/{pricing-BES87mrR.mjs → pricing-KEAEsibq.mjs} +1 -1
  117. package/dist/client/{productDetail-Url9jcc5.mjs → productDetail-Ckp7MGnt.mjs} +3 -3
  118. package/dist/client/{productList-DE7ngEZJ.mjs → productList-D91V0sYa.mjs} +3 -3
  119. package/dist/client/{propsDecoder-D1OtGXDV.mjs → propsDecoder-DZd6RJeA.mjs} +155 -77
  120. package/dist/client/rendering/client.mjs +3356 -3192
  121. package/dist/client/rendering/islands.mjs +17 -17
  122. package/dist/client/rendering.mjs +956 -841
  123. package/dist/client/{routeIslandApiConfig-BG9Y-SHg.mjs → routeIslandApiConfig-E1EkhhYY.mjs} +1 -1
  124. package/dist/client/{shop-CJkuySJ3.mjs → shop-4F2jLQPI.mjs} +12 -13
  125. package/dist/client/{shop-commerce-4rKj5n9h.mjs → shop-commerce-BbfCJjB3.mjs} +6 -6
  126. package/dist/client/{shop-commerce-store-Bxm75Pg6.mjs → shop-commerce-store-vicweP2K.mjs} +1 -1
  127. package/dist/client/{shopShared-DpoQDWfz.mjs → shopShared-DlONJt0T.mjs} +4 -4
  128. package/dist/client/{useEventFilters-D8HliSqR.mjs → useEventFilters-COYyL3m7.mjs} +6 -6
  129. package/dist/preview-next/before-render.mjs +15 -22
  130. package/dist/preview-next/client/runtime.mjs +4 -4
  131. package/dist/preview-next/constants.mjs +5 -1
  132. package/dist/preview-next/index.mjs +5 -1
  133. package/dist/preview-next/keepAlive.mjs +149 -82
  134. package/dist/preview-next/middleware.mjs +15 -22
  135. package/dist/{previewAuthStore-BXXF3hhW.mjs → previewAuthStore-BBmV7UsW.mjs} +49 -29
  136. package/dist/{sdk-runtime-C2a05WjL.mjs → sdk-runtime-CwvFFjB-.mjs} +2 -2
  137. package/dist/{separator-CuNhBAhS.mjs → separator-ByL72zUT.mjs} +1 -1
  138. package/dist/server/components.mjs +167 -131
  139. package/dist/server/config-validation.mjs +160 -129
  140. package/dist/server/config.mjs +160 -129
  141. package/dist/server/data.mjs +160 -129
  142. package/dist/server/index.mjs +20 -27
  143. package/dist/server/next.mjs +174 -156
  144. package/dist/server/page-converter.mjs +145 -65
  145. package/dist/server/prebuild.mjs +1 -1
  146. package/dist/server/rendering/server.mjs +169 -131
  147. package/dist/server/rendering.mjs +167 -131
  148. package/dist/server/routing.mjs +165 -118
  149. package/dist/server/server.mjs +167 -154
  150. package/package.json +1 -1
  151. package/dist/_dts/api/src/bookingPaymentTermSchemas.d.ts +0 -123
  152. package/dist/_dts/commerce/src/purchase/checkoutPaymentTermPlanning.d.ts +0 -10
  153. package/dist/_dts/commerce/src/purchase/checkoutValidatedItemPlanning.d.ts +0 -55
  154. package/dist/_dts/commerce/src/purchase/orderInstalmentPayoff.d.ts +0 -24
@@ -3,7 +3,7 @@ import type { AttendeeNotificationIntent } from './occurrenceScheduling';
3
3
  import type { EventVisibility } from './event-visibility';
4
4
  import type { CreateEventRequest } from './eventManagementContracts';
5
5
  import { BOOKING_SETTINGS_SECTION_KEYS } from './bookingSettingsSections';
6
- import { type ResolvedEventCatalogue, type EventPreset } from '../../core/src/index';
6
+ import { type ResolvedEventCatalogue, type EventPreset, type BookingPaymentCollectionOption, type BookingPaymentCollectionOptionKind } from '../../core/src/index';
7
7
  export { BOOKING_SETTINGS_SECTION_KEYS, BOOKING_SETTINGS_SECTION_LABELS, } from './bookingSettingsSections';
8
8
  import type { EventBookingOffer, EventPricing, EventPricingAttendanceScope, PricingOptionId, PublicEventPricingOptionAvailability, SiteVerticalBookingConfig, StaffMemberId, UserId } from '../../core/src/index';
9
9
  /**
@@ -15,9 +15,15 @@ import type { EventBookingOffer, EventPricing, EventPricingAttendanceScope, Pric
15
15
  * Note: Do NOT use these API types as validation schemas. They document wire
16
16
  * contracts while the owning services validate and normalize inputs.
17
17
  */
18
- export type BookingCollectionOptionKind = 'upfront' | 'deferred_manual' | 'instalment_plan' | 'flexible_balance';
18
+ export type BookingCollectionOptionKind = BookingPaymentCollectionOptionKind;
19
+ /** Every option kind; the checkout routes validate the requested kind against it. */
19
20
  export declare const DIRECT_CHECKOUT_COLLECTION_OPTION_KINDS: readonly ["upfront", "deferred_manual", "instalment_plan", "flexible_balance"];
20
21
  export type DirectCheckoutCollectionOptionKind = (typeof DIRECT_CHECKOUT_COLLECTION_OPTION_KINDS)[number];
22
+ type AssertTrue<T extends true> = T;
23
+ /** Fails to compile if a new option kind is missing from the list above. */
24
+ export type DirectCheckoutCollectionOptionKindsAreComplete = AssertTrue<[
25
+ Exclude<BookingPaymentCollectionOptionKind, DirectCheckoutCollectionOptionKind>
26
+ ] extends [never] ? true : false>;
21
27
  /**
22
28
  * Domain category a booking's payment terms belong to. Whole-series runs are
23
29
  * `wholeSeries`; the value is stored under the historical `course` settings key,
@@ -29,51 +35,21 @@ export type BookingPaymentArchetype = 'event' | 'class' | 'workshop' | 'retreat'
29
35
  * form of the `wholeSeries` archetype; it is never a domain value.
30
36
  */
31
37
  export type BookingPaymentDefaultsKey = 'event' | 'class' | 'workshop' | 'retreat' | 'performance' | 'course' | 'appointment';
32
- export type BookingPaymentOptionsSource = 'default' | 'custom';
33
- export type BookingInstalmentIntervalUnit = 'day' | 'week' | 'month';
34
- export type BookingInstalmentPlanConfig = {
35
- kind: 'deposit_plus_one_remainder';
36
- depositAmountCents: number;
37
- depositRefundability: BookingDepositRefundPolicy;
38
- remainderDueCount: number;
39
- intervalUnit: BookingInstalmentIntervalUnit;
40
- } | {
41
- kind: 'deposit_plus_scheduled_instalments';
42
- depositAmountCents: number;
43
- depositRefundability: BookingDepositRefundPolicy;
44
- instalmentCount: number;
45
- intervalCount: number;
46
- intervalUnit: BookingInstalmentIntervalUnit;
47
- } | {
48
- kind: 'equal_scheduled_instalments';
49
- instalmentCount: number;
50
- intervalCount: number;
51
- intervalUnit: BookingInstalmentIntervalUnit;
52
- };
53
- export type BookingDepositRefundPolicy = 'refundable' | 'non_refundable';
54
- export type BookingFlexibleBalanceDueDateRule = {
55
- kind: 'relative_to_start_date';
56
- daysBeforeStart: number;
57
- } | {
58
- kind: 'fixed_calendar_date';
59
- dueAt: string;
60
- };
61
- export type BookingFlexibleBalanceConfig = {
62
- upfrontAmountCents: number;
63
- dueDateRule: BookingFlexibleBalanceDueDateRule;
64
- depositRefundability: BookingDepositRefundPolicy;
65
- };
66
- export type BookingPaymentCollectionOption = {
67
- kind: 'upfront';
68
- } | {
69
- kind: 'deferred_manual';
70
- } | {
71
- kind: 'instalment_plan';
72
- plan: BookingInstalmentPlanConfig;
73
- } | {
74
- kind: 'flexible_balance';
75
- config: BookingFlexibleBalanceConfig;
76
- };
38
+ /**
39
+ * Where an offering's payment options come from, as a write states it: the
40
+ * site's default for its kind, or terms of its own. Only `custom` carries
41
+ * terms, so a write can't send terms that the server would then ignore
42
+ * (issue 1525). Parsed by `bookingPaymentOptionsChoiceSchema` in
43
+ * `@riverbankcms/core/booking-payment-schemas`.
44
+ */
45
+ export type BookingPaymentOptionsChoice = Readonly<{
46
+ source: 'default';
47
+ }> | Readonly<{
48
+ source: 'custom';
49
+ paymentTerms: BookingPaymentTermsConfig;
50
+ }>;
51
+ export type BookingPaymentOptionsSource = BookingPaymentOptionsChoice['source'];
52
+ export type { BookingDepositRefundPolicy, BookingFlexibleBalanceConfig, BookingFlexibleBalanceDueDateRule, BookingInstalmentIntervalUnit, BookingInstalmentPlanConfig, BookingPaymentCollectionOption, } from '../../core/src/index';
77
53
  export type BookingPaymentTermsConfig = {
78
54
  allowedOptions: BookingPaymentCollectionOption[];
79
55
  };
@@ -125,6 +101,15 @@ export type BookingPricingInputValueTypes = Readonly<{
125
101
  }>;
126
102
  export type BookingPricing = EventBookingOffer<BookingPaymentTermsConfig, BookingPricingValueTypes>;
127
103
  export type BookingPricingDraft = EventBookingOffer<BookingPaymentTermsConfig, BookingPricingInputValueTypes>;
104
+ type WithPaymentOptionsChoice<TOffer> = TOffer extends unknown ? Readonly<Omit<TOffer, 'paymentTerms'> & {
105
+ paymentOptions: BookingPaymentOptionsChoice;
106
+ }> : never;
107
+ /**
108
+ * The offer an Event or run write sends. It says where its payment options
109
+ * come from rather than carrying terms; the server resolves the choice to the
110
+ * terms it stores (a `BookingPricingDraft`).
111
+ */
112
+ export type BookingPricingRequest = WithPaymentOptionsChoice<BookingPricingDraft>;
128
113
  export type BookingPricingInput = EventPricing<BookingPricingInputValueTypes>;
129
114
  export type EventDeliveryMode = 'in_person' | 'online' | 'hybrid';
130
115
  export type EventAttendanceMode = 'in_person' | 'online';
@@ -176,7 +161,7 @@ export type EventSeriesRecord = {
176
161
  updatedAt: string;
177
162
  };
178
163
  export type { CreateEventRecord, CreateEventRequest, EventCreationIntent, EventPageAuthorityRecord, EventRecord, ExplicitEventOccurrenceInput, } from './eventManagementContracts';
179
- export type UpdateEventSeriesRequest = Partial<Omit<CreateEventRequest, 'creationIntent' | 'initializationCommandId' | 'title'>> & {
164
+ export type UpdateEventSeriesRequest = Partial<Omit<CreateEventRequest, 'creationIntent' | 'initializationCommandId' | 'title' | 'eventCategoryId'>> & {
180
165
  /**
181
166
  * An empty string clears the name. A whole-series run's name is optional —
182
167
  * an unnamed run is presented by its parent Event's title and its first
@@ -9,7 +9,7 @@ import type * as Events from './eventManagementContracts';
9
9
  import type * as EventEndpoints from './bookingManagementEventEndpointTypes';
10
10
  import type { WholeSeriesEndpoints } from './bookingManagementEventEndpointTypes';
11
11
  import type { AdjustCustomerPassDetailsRequest, AdjustCustomerPassDetailsResponse, AssignCustomerMembershipRequest, AssignCustomerMembershipResponse, AssignCustomerPassRequest, AssignCustomerPassResponse, CancelCustomerMembershipAtPeriodEndRequest, CancelCustomerMembershipAtPeriodEndResponse, ConvertCreditRefundToCashRequest, ConvertCreditRefundToCashResponse, ListCustomerMembershipPaymentRefundsResponse, ListCustomerMembershipPaymentsResponse, ListCustomerPassRefundsResponse, RefundCustomerMembershipPaymentRequest, RefundCustomerMembershipPaymentResponse, RefundCustomerPassRequest, RefundCustomerPassResponse } from './bookingAdjustments';
12
- import type { AppointmentResourceResponse, AppointmentReservationLifecycleRequest, AppointmentReservationResponse, AppointmentServiceResponse, BookingAppointmentWithDetails, CreateAppointmentResourceRequest, CreateAppointmentResourceWithAccountAccessRequest, CreateAppointmentResourceWithAccountAccessResponse, CreateAppointmentReservationRequest, CreateAppointmentReservationRunRequest, CreateAppointmentReservationRunResponse, CreateAppointmentServiceRequest, CreateTeamMemberProfileResponse, DiscardTeamMemberProfileDraftResponse, DeleteServiceResponse, EndAppointmentReservationRequest, ListAppointmentResourcesResponse, ListAppointmentReservationsRequest, ListAppointmentReservationsResponse, ListAppointmentServicesResponse, ListEventSeriesRegistrationRefundsResponse, ListEventAttendeeRefundsResponse, ListEventAttendeeTransfersResponse, OpsCancelEventAttendeeRequest, OpsCancelEventAttendeeResponse, OpsEventAttendeeDetailsResponse, OpsListUpcomingEventOccurrencesResponse, OpsOccurrenceAttendeesResponse, OpsRefundEventAttendeeResponse, OpsUpdateEventAttendeeCheckinRequest, OpsUpdateEventAttendeeCheckinResponse, OpsValidateEventTicketRequest, OpsValidateEventTicketResponse, PreviewAppointmentReservationRunRequest, PreviewAppointmentReservationRunResponse, ReferenceOptionsResponse, RemoveAppointmentResourceResponse, RefundEventSeriesRegistrationRequest, RefundEventSeriesRegistrationResponse, RefundEventAttendeeRequest, RefundEventAttendeeResponse, TransferEventAttendeeRequest, TransferEventAttendeeResponse, UpdateAppointmentResourceRequest, UpdateAppointmentReservationRequest, UpdateAppointmentServiceRequest, PublishTeamMemberProfileRequest, PublishTeamMemberProfileResponse, CancelScheduledTeamMemberProfileResponse, ScheduleTeamMemberProfileRequest, ScheduleTeamMemberProfileResponse, TeamMemberProfileContentResponse, UnpublishTeamMemberProfileResponse, UpdateTeamMemberProfileContentRequest, UpdateTeamMemberProfilePolicyRequest, UpdateTeamMemberProfilePolicyResponse, UpdateTeamMemberProfileRouteMetadataRequest, UpdateTeamMemberProfileRouteMetadataResponse } from './bookingOperations';
12
+ import type { AdminBookingAppointmentWithDetails, AppointmentResourceResponse, AppointmentReservationLifecycleRequest, AppointmentReservationResponse, AppointmentServiceResponse, CreateAppointmentResourceRequest, CreateAppointmentResourceWithAccountAccessRequest, CreateAppointmentResourceWithAccountAccessResponse, CreateAppointmentReservationRequest, CreateAppointmentReservationRunRequest, CreateAppointmentReservationRunResponse, CreateAppointmentServiceRequest, CreateTeamMemberProfileResponse, DiscardTeamMemberProfileDraftResponse, DeleteServiceResponse, EndAppointmentReservationRequest, ListAppointmentResourcesResponse, ListAppointmentReservationsRequest, ListAppointmentReservationsResponse, ListAppointmentServicesResponse, ListEventSeriesRegistrationRefundsResponse, ListEventAttendeeRefundsResponse, ListEventAttendeeTransfersResponse, OpsCancelEventAttendeeRequest, OpsCancelEventAttendeeResponse, OpsEventAttendeeDetailsResponse, OpsListUpcomingEventOccurrencesResponse, OpsOccurrenceAttendeesResponse, OpsRefundEventAttendeeResponse, OpsUpdateEventAttendeeCheckinRequest, OpsUpdateEventAttendeeCheckinResponse, OpsValidateEventTicketRequest, OpsValidateEventTicketResponse, PreviewAppointmentReservationRunRequest, PreviewAppointmentReservationRunResponse, ReferenceOptionsResponse, RemoveAppointmentResourceResponse, RefundEventSeriesRegistrationRequest, RefundEventSeriesRegistrationResponse, RefundEventAttendeeRequest, RefundEventAttendeeResponse, TransferEventAttendeeRequest, TransferEventAttendeeResponse, UpdateAppointmentResourceRequest, UpdateAppointmentReservationRequest, UpdateAppointmentServiceRequest, PublishTeamMemberProfileRequest, PublishTeamMemberProfileResponse, CancelScheduledTeamMemberProfileResponse, ScheduleTeamMemberProfileRequest, ScheduleTeamMemberProfileResponse, TeamMemberProfileContentResponse, UnpublishTeamMemberProfileResponse, UpdateTeamMemberProfileContentRequest, UpdateTeamMemberProfilePolicyRequest, UpdateTeamMemberProfilePolicyResponse, UpdateTeamMemberProfileRouteMetadataRequest, UpdateTeamMemberProfileRouteMetadataResponse } from './bookingOperations';
13
13
  import type { AddEventOccurrenceAttendeeRequest, AddEventOccurrenceAttendeeResponse, AdjustCustomerCreditRequest, AdjustCustomerCreditResponse, BookingEventSeriesAttendee, BookingMembershipResponse, BookingPassResponse, CheckEventAdminEligibilityRequest, CheckEventAdminEligibilityResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, RectifyBookingCustomerProfileRequest, RectifyBookingCustomerProfileResponse, RectifyBookingParticipantIdentityRequest, RectifyBookingParticipantIdentityResponse, CreateBookingMembershipRequest, CreateBookingPassRequest, CreateDiscountCodeRequest, CreateEventCategoryRequest, CreateVenueRequest, DeleteDiscountCodeResponse, DeleteVenueResponse, DiscountCodeResponse, EventCategoryResponse, EventOccurrenceRecord, GeocodeVenueRequest, GeocodeVenueResponse, GetCustomerCreditResponse, GetMoneyReportRequest, GetMoneyReportResponse, ExportBookingQuestionAnswersCsvRequest, ExportBookingLedgerCsvRequest, ListBookingActivityRequest, ListBookingActivityResponse, ListBookingMembershipsRequest, ListBookingMembershipsResponse, ListBookingPassesRequest, ListBookingPassesResponse, ListCustomerMembershipsResponse, ListCustomerPassesResponse, CreatePersonRecordEntryRequest, CreatePersonRecordEntryResponse, ListDiscountCodesResponse, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, ListEventCategoriesResponse, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, UpdateBookingMembershipRequest, UpdateBookingPassRequest, UpdateDiscountCodeRequest, UpdateEventCategoryRequest, UpdateVenueRequest, VenueRecord } from './bookingRecords';
14
14
  import type * as OccurrenceScheduling from './occurrenceScheduling';
15
15
  import type { ApplyAppointmentSetupRequest, ApplyAppointmentSetupResponse, AppointmentSetupResponse } from './appointmentSetup';
@@ -456,7 +456,7 @@ export type BookingManagementAPIEndpoints = WholeSeriesEndpoints & BookingPeople
456
456
  limit?: string;
457
457
  offset?: string;
458
458
  }, {
459
- appointments: BookingAppointmentWithDetails[];
459
+ appointments: AdminBookingAppointmentWithDetails[];
460
460
  }>;
461
461
  exportBookingAppointmentsCsv: APIEndpoint<never, {
462
462
  siteId: string;
@@ -688,10 +688,6 @@ export type BookingManagementAPIEndpoints = WholeSeriesEndpoints & BookingPeople
688
688
  siteId: string;
689
689
  passId: string;
690
690
  }, BookingPassResponse>;
691
- syncBookingPassWithStripe: APIEndpoint<never, {
692
- siteId: string;
693
- passId: string;
694
- }, BookingPassResponse>;
695
691
  refundCustomerPass: APIEndpoint<RefundCustomerPassRequest, {
696
692
  siteId: string;
697
693
  customerPassId: string;
@@ -3,6 +3,7 @@ import type { PublicCreateBookingAppointmentRequest, PublicCreateBookingAppointm
3
3
  export type { PublicCreateBookingAppointmentRequest, PublicCreateBookingAppointmentResponse, PublicBookingAppointmentSummary, PublicBookingCustomerSummary, } from './publicAppointmentBookingContracts';
4
4
  import type { InviteSiteMemberEmailResult, SiteInvitation, StaffOperationalCapability } from './accessAdmin';
5
5
  import type { EventSeriesRegistrationRefundFailedCode, EventAttendeeRefundFailedCode } from './bookingRefundOutcomes';
6
+ import type { AdminBookingCancellationPreview } from './common/cancellation';
6
7
  /**
7
8
  * Booking Operations Contracts
8
9
  *
@@ -100,14 +101,8 @@ export type OpsEventAttendeeDetailsResponse = {
100
101
  currency: string | null;
101
102
  stripeCheckoutSessionId: string | null;
102
103
  };
103
- actions: {
104
- canCancel: boolean;
104
+ actions: AdminBookingCancellationPreview & {
105
105
  cancelCutoffAt?: string;
106
- defaultRefund: 'refund' | 'no_refund';
107
- canOverrideRefund: boolean;
108
- refundCutoffAt?: string | null;
109
- remainingRefundableCents: number | null;
110
- currency: string | null;
111
106
  };
112
107
  };
113
108
  export type AdminBookingRefundSelection = 'follow_policy' | 'force_refund' | 'force_no_refund';
@@ -706,6 +701,9 @@ export type BookingAppointmentWithDetails = {
706
701
  currency: string | null;
707
702
  };
708
703
  };
704
+ export type AdminBookingAppointmentWithDetails = Omit<BookingAppointmentWithDetails, 'cancellation'> & {
705
+ cancellation: AdminBookingCancellationPreview;
706
+ };
709
707
  export type AppointmentBookingQuestionsTask = {
710
708
  status: 'complete' | 'incomplete' | 'overdue';
711
709
  dueAt: string;
@@ -1,4 +1,4 @@
1
- import type { PersonRecordNoteKind } from '../../core/src/index';
1
+ import type { BookingFlexibleBalanceContractStatus, PersonRecordNoteKind } from '../../core/src/index';
2
2
  import type { RichTextDoc } from '../../blocks/src/index';
3
3
  import type { EventTicketBreakdownLine } from './bookingOperations';
4
4
  /**
@@ -30,24 +30,30 @@ export type BookingPaymentAttentionSummary = {
30
30
  };
31
31
  export type FlexibleBalanceAdminActionPlan = {
32
32
  kind: 'unavailable';
33
- reason: 'not_booking_item' | 'not_flexible_balance' | 'not_overdue' | 'already_cancelled_due_to_non_payment' | 'not_cancelled_due_to_non_payment' | 'booking_item_already_cancelled' | 'booking_item_not_cancelled' | 'settled_or_closed' | 'payment_in_progress';
33
+ reason: 'not_booking_item' | 'not_flexible_balance' | 'not_overdue' | 'already_cancelled_due_to_non_payment' | 'booking_item_already_cancelled' | 'booking_item_not_cancelled' | 'settled_or_closed' | 'payment_in_progress';
34
34
  } | {
35
35
  kind: 'cancel_plan';
36
36
  target: {
37
- kind: 'appointment' | 'event_attendee' | 'event_series_registration';
37
+ kind: 'event_attendee';
38
+ orderId: string;
39
+ ticketCount: number;
40
+ } | {
41
+ kind: 'appointment' | 'event_series_registration';
38
42
  orderId: string;
39
- orderItemId: string;
40
43
  };
41
44
  } | {
42
45
  kind: 'reopen_plan';
43
46
  target: {
44
- kind: 'appointment' | 'event_attendee' | 'event_series_registration';
47
+ kind: 'event_attendee';
48
+ orderId: string;
49
+ ticketCount: number;
50
+ } | {
51
+ kind: 'appointment' | 'event_series_registration';
45
52
  orderId: string;
46
- orderItemId: string;
47
53
  };
48
54
  };
49
55
  export type FlexibleBalanceAdminActionView = {
50
- contractStatus: 'active' | 'payment_pending' | 'overdue' | 'completed' | 'waived' | 'cancelled_due_to_non_payment' | 'refunded';
56
+ contractStatus: BookingFlexibleBalanceContractStatus;
51
57
  label: string | null;
52
58
  plan: FlexibleBalanceAdminActionPlan;
53
59
  };
@@ -67,6 +73,8 @@ export type BookingBeforeYouComeDeliveryIssue = {
67
73
  occurredAt: string;
68
74
  };
69
75
  export type BookingBeforeYouComeReadiness = {
76
+ kind: 'unavailable';
77
+ } | {
70
78
  kind: 'ready';
71
79
  task: BookingBeforeYouComeSummary;
72
80
  } | {
@@ -311,8 +319,6 @@ export type BookingPassRecord = {
311
319
  creditsTotal: number;
312
320
  priceAmount: number;
313
321
  priceCurrency: string;
314
- stripeProductId: string | null;
315
- stripePriceId: string | null;
316
322
  productUseCase: 'event_pass' | 'appointment_package';
317
323
  appointmentScopeMode: 'all_services' | 'selected_services' | null;
318
324
  appointmentServiceIds: string[];
@@ -365,8 +371,6 @@ export type BookingMembershipRecord = {
365
371
  priceAmount: number;
366
372
  priceCurrency: string;
367
373
  billingInterval: 'month' | 'year';
368
- stripeProductId: string | null;
369
- stripePriceId: string | null;
370
374
  includesUnlimitedEvents: boolean;
371
375
  eventCreditsPerPeriod: number | null;
372
376
  eligibleCategoryIds: string[];
@@ -1,18 +1,18 @@
1
1
  import { type RefundCodeClassification } from './customerMembershipOutcomes';
2
- export declare const STANDARD_LINE_ITEM_REFUND_INVALID_CODES: readonly ["missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
2
+ export declare const STANDARD_LINE_ITEM_REFUND_INVALID_CODES: readonly ["refund_blocked_by_live_payment_terms", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
3
3
  export type StandardLineItemRefundInvalidCode = (typeof STANDARD_LINE_ITEM_REFUND_INVALID_CODES)[number];
4
- export declare const EVENT_ATTENDEE_REFUND_INVALID_CODES: readonly ["manual_booking_not_refundable", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
4
+ export declare const EVENT_ATTENDEE_REFUND_INVALID_CODES: readonly ["manual_booking_not_refundable", "refund_blocked_by_live_payment_terms", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
5
5
  export type EventAttendeeRefundInvalidCode = (typeof EVENT_ATTENDEE_REFUND_INVALID_CODES)[number];
6
6
  export declare const CUSTOMER_PASS_REFUND_INVALID_CODES: readonly ["credit_refunds_disabled", "not_refundable", "invalid_amount", "amount_exceeds_remaining", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required", "pass_revoke_requires_full_refund"];
7
7
  export type CustomerPassRefundInvalidCode = (typeof CUSTOMER_PASS_REFUND_INVALID_CODES)[number];
8
- export declare const CUSTOMER_PASS_REFUND_FAILED_CODES: readonly ["not_found", "credit_refunds_disabled", "payment_intent_lookup_failed", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
8
+ export declare const CUSTOMER_PASS_REFUND_FAILED_CODES: readonly ["not_found", "credit_refunds_disabled", "payment_intent_lookup_failed", "refund_blocked_by_live_payment_terms", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
9
9
  export type CustomerPassRefundFailedCode = (typeof CUSTOMER_PASS_REFUND_FAILED_CODES)[number];
10
10
  export declare const CUSTOMER_PASS_REFUND_SKIPPED_CODES: readonly ["not_refundable"];
11
11
  export type CustomerPassRefundSkippedCode = (typeof CUSTOMER_PASS_REFUND_SKIPPED_CODES)[number];
12
12
  export type CustomerPassRefundErrorCode = CustomerPassRefundFailedCode | CustomerPassRefundSkippedCode;
13
- export declare const EVENT_ATTENDEE_REFUND_FAILED_CODES: readonly ["not_found", "refund_not_allowed", "manual_booking_not_refundable", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
13
+ export declare const EVENT_ATTENDEE_REFUND_FAILED_CODES: readonly ["not_found", "refund_not_allowed", "manual_booking_not_refundable", "refund_blocked_by_live_payment_terms", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required", "refund_blocked_by_live_payment_terms", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
14
14
  export type EventAttendeeRefundFailedCode = (typeof EVENT_ATTENDEE_REFUND_FAILED_CODES)[number];
15
- export declare const EVENT_SERIES_REGISTRATION_REFUND_FAILED_CODES: readonly ["not_found", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
15
+ export declare const EVENT_SERIES_REGISTRATION_REFUND_FAILED_CODES: readonly ["not_found", "refund_blocked_by_live_payment_terms", "missing_amount", "invalid_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required", "refund_blocked_by_live_payment_terms", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
16
16
  export type EventSeriesRegistrationRefundFailedCode = (typeof EVENT_SERIES_REGISTRATION_REFUND_FAILED_CODES)[number];
17
17
  export declare function isCustomerPassRefundFailedCode(code: string): code is CustomerPassRefundFailedCode;
18
18
  export declare function isEventAttendeeRefundFailedCode(code: string): code is EventAttendeeRefundFailedCode;
@@ -17,6 +17,7 @@ export declare const CLIENT_ERROR_REPORT_LIMITS: {
17
17
  readonly digest: 128;
18
18
  readonly componentStack: 8000;
19
19
  readonly sourceLocation: 1024;
20
+ readonly navigationAgeMs: 60000;
20
21
  };
21
22
  export declare const clientErrorEventSchema: z.ZodEnum<{
22
23
  "dashboard:route-error": "dashboard:route-error";
@@ -40,6 +41,16 @@ export declare const clientErrorReportSchema: z.ZodObject<{
40
41
  digest: z.ZodNullable<z.ZodString>;
41
42
  componentStack: z.ZodNullable<z.ZodString>;
42
43
  sourceLocation: z.ZodNullable<z.ZodString>;
44
+ navigation: z.ZodOptional<z.ZodNullable<z.ZodObject<{
45
+ fromPathname: z.ZodString;
46
+ toPathname: z.ZodString;
47
+ type: z.ZodEnum<{
48
+ push: "push";
49
+ replace: "replace";
50
+ traverse: "traverse";
51
+ }>;
52
+ ageMs: z.ZodNumber;
53
+ }, z.core.$strict>>>;
43
54
  }, z.core.$strict>;
44
55
  export type ClientErrorEvent = z.infer<typeof clientErrorEventSchema>;
45
56
  export type ClientErrorReportRequest = z.infer<typeof clientErrorReportSchema>;
@@ -330,12 +330,10 @@ export type CommercePortalAPIEndpoints = {
330
330
  cancelFlexibleBalanceBookingDueToNonPayment: APIEndpoint<CancelFlexibleBalanceBookingDueToNonPaymentRequest, {
331
331
  siteId: string;
332
332
  orderId: string;
333
- orderItemId: string;
334
333
  }, FlexibleBalanceAdminActionResponse>;
335
334
  reopenFlexibleBalanceBookingAfterNonPaymentCancellation: APIEndpoint<ReopenFlexibleBalanceBookingAfterNonPaymentCancellationRequest, {
336
335
  siteId: string;
337
336
  orderId: string;
338
- orderItemId: string;
339
337
  }, FlexibleBalanceAdminActionResponse>;
340
338
  settleShopOrderPayment: APIEndpoint<SettleShopOrderPaymentRequest, {
341
339
  siteId: string;
@@ -6,3 +6,26 @@ export type StaffCancellationContextInput = Readonly<{
6
6
  category: StaffCancellationContextUiCategory;
7
7
  internalNote?: string | null;
8
8
  }>;
9
+ export type AdminBookingReturnableValue = {
10
+ kind: 'money';
11
+ remainingRefundableCents: number;
12
+ currency: string | null;
13
+ } | {
14
+ kind: 'credit';
15
+ creditsToRestore: number;
16
+ };
17
+ export type AdminBookingCancellationPreview = {
18
+ canCancel: boolean;
19
+ defaultRefund: 'no_refund';
20
+ canOverrideRefund: boolean;
21
+ refundCutoffAt: string | null;
22
+ returnable: {
23
+ kind: 'none';
24
+ };
25
+ } | {
26
+ canCancel: true;
27
+ defaultRefund: 'refund' | 'no_refund';
28
+ canOverrideRefund: boolean;
29
+ refundCutoffAt: string | null;
30
+ returnable: AdminBookingReturnableValue;
31
+ };
@@ -4,7 +4,7 @@ export declare const CANONICAL_REFUND_CONFLICT_CODES: readonly ["already_refunde
4
4
  export type CanonicalRefundConflictCode = (typeof CANONICAL_REFUND_CONFLICT_CODES)[number];
5
5
  export declare const CANONICAL_REFUND_PLANNER_ERROR_CODES: readonly ["already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed"];
6
6
  export type CanonicalRefundPlannerErrorCode = (typeof CANONICAL_REFUND_PLANNER_ERROR_CODES)[number];
7
- export declare const CANONICAL_ADMIN_REFUND_FAILURE_CODES: readonly ["already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
7
+ export declare const CANONICAL_ADMIN_REFUND_FAILURE_CODES: readonly ["refund_blocked_by_live_payment_terms", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "idempotency_receipt_mismatch", "idempotency_scope_mismatch", "refund_in_progress", "invalid_amount", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
8
8
  export type CanonicalAdminRefundFailureCode = (typeof CANONICAL_ADMIN_REFUND_FAILURE_CODES)[number];
9
9
  export type CustomerMembershipPaymentRefundConflictCode = CanonicalRefundConflictCode;
10
10
  export declare const CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_INVALID_CODES: readonly ["stripe_not_connected", "credit_refunds_disabled", "not_refundable", "invalid_amount", "amount_exceeds_remaining", "payment_receipt_not_found", "payment_receipt_not_refundable", "payment_receipt_attribution_required"];
@@ -326,14 +326,14 @@ export declare const API_ENDPOINTS: {
326
326
  readonly errors: readonly ["resource:not_found", "validation:invalid_input", "server:internal_error"];
327
327
  };
328
328
  readonly cancelFlexibleBalanceBookingDueToNonPayment: {
329
- readonly path: "/sites/{siteId}/shop/orders/{orderId}/items/{orderItemId}/flexible-balance/cancel-due-to-non-payment";
329
+ readonly path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/cancel-due-to-non-payment";
330
330
  readonly method: "POST";
331
331
  readonly auth: "user";
332
332
  readonly responseKind: "json";
333
333
  readonly errors: readonly ["resource:not_found", "validation:invalid_input", "server:internal_error"];
334
334
  };
335
335
  readonly reopenFlexibleBalanceBookingAfterNonPaymentCancellation: {
336
- readonly path: "/sites/{siteId}/shop/orders/{orderId}/items/{orderItemId}/flexible-balance/reopen";
336
+ readonly path: "/sites/{siteId}/shop/orders/{orderId}/flexible-balance/reopen";
337
337
  readonly method: "POST";
338
338
  readonly auth: "user";
339
339
  readonly responseKind: "json";
@@ -1618,14 +1618,6 @@ export declare const API_ENDPOINTS: {
1618
1618
  readonly demoMutation: import("./apiEndpointTypes").ApiDemoMutationPolicy;
1619
1619
  readonly errors: readonly ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
1620
1620
  };
1621
- readonly syncBookingPassWithStripe: {
1622
- readonly path: "/sites/{siteId}/bookings/passes/{passId}/sync-stripe";
1623
- readonly method: "POST";
1624
- readonly tags: ["site-{siteId}", "passes-{siteId}", "pass-{passId}"];
1625
- readonly auth: "user";
1626
- readonly responseKind: "json";
1627
- readonly errors: readonly ["validation:invalid_input", "auth:forbidden", "resource:not_found", "resource:conflict", "server:internal_error"];
1628
- };
1629
1621
  readonly refundCustomerPass: {
1630
1622
  readonly path: "/sites/{siteId}/bookings/customer-passes/{customerPassId}/refund";
1631
1623
  readonly method: "POST";
@@ -1,4 +1,4 @@
1
- import type { BookingPaymentOptionsSource, BookingPricingDraft, EventCapacityByAttendanceMode, EventDeliveryMode, EventListingDestinationInput, EventSeriesRecord, WaitlistOverride } from './bookingConfig';
1
+ import type { BookingPricingRequest, EventCapacityByAttendanceMode, EventDeliveryMode, EventListingDestinationInput, EventSeriesRecord, WaitlistOverride } from './bookingConfig';
2
2
  import type { EventVisibility } from './event-visibility';
3
3
  import type { OrdinaryEventPreset, WholeSeriesEventPreset } from '../../core/src/index';
4
4
  import type { EventOnlineDetailsInput } from './bookingRecords';
@@ -201,15 +201,13 @@ export type WholeSeriesRunDetailsInput = Readonly<{
201
201
  acceptsPasses?: boolean;
202
202
  acceptsMemberships?: boolean;
203
203
  waitlistMode?: WaitlistOverride;
204
- bookingOffer: Extract<BookingPricingDraft, {
204
+ bookingOffer: Extract<BookingPricingRequest, {
205
205
  bookingRequirement: 'required';
206
206
  }>;
207
- paymentOptionsSource?: BookingPaymentOptionsSource;
208
207
  title: string;
209
208
  venueId?: string | null;
210
209
  capacity?: number | null;
211
210
  formId?: string | null;
212
- eventCategoryId?: string | null;
213
211
  staffMemberIds?: string[];
214
212
  mainHostStaffMemberId?: string | null;
215
213
  }>;
@@ -234,7 +232,7 @@ export type UpdateWholeSeriesRunRequest = Omit<WholeSeriesRunDetailsInput, 'titl
234
232
  * refusal can say where to change them.
235
233
  */
236
234
  bookingSettings?: WholeSeriesRunBookingSettingsInput;
237
- bookingOffer?: Extract<BookingPricingDraft, {
235
+ bookingOffer?: Extract<BookingPricingRequest, {
238
236
  bookingRequirement: 'required';
239
237
  }>;
240
238
  /**
@@ -290,7 +288,7 @@ export type CreateEventRequest = {
290
288
  initializationCommandId: string;
291
289
  creationIntent: EventCreationIntent;
292
290
  verticalPresetId?: string | null;
293
- bookingOffer: BookingPricingDraft;
291
+ bookingOffer: BookingPricingRequest;
294
292
  title: string;
295
293
  slug?: string;
296
294
  startDate?: string;
@@ -309,7 +307,6 @@ export type CreateEventRequest = {
309
307
  formId?: string | null;
310
308
  priceNote?: string | null;
311
309
  tags?: string[];
312
- paymentOptionsSource?: BookingPaymentOptionsSource;
313
310
  acceptsPasses?: boolean;
314
311
  acceptsMemberships?: boolean;
315
312
  waitlistMode?: WaitlistOverride;
@@ -40,6 +40,7 @@ export type { EventListingDestination, EventListingDestinationInput, EventListin
40
40
  export { APPOINTMENT_DEFAULT_MAX_BOOKING_NOTICE_MINUTES_MAX, APPOINTMENT_DEFAULT_MIN_LEAD_MINUTES_MAX, applyAppointmentSetupRequestSchema, applyAppointmentSetupRequest, appointmentSetupAvailabilityDraftSchema, appointmentSetupBookingNoticeSchema, appointmentSetupPaymentDraftSchema, appointmentSetupPractitionerDraftSchema, appointmentSetupRefSchema, appointmentSetupServiceAssignmentDraftSchema, appointmentSetupServiceDraftSchema, appointmentSetupVenueChoiceSchema, appointmentSetupWeeklyWindowDraftSchema, getAppointmentSetupRequest, } from './appointmentSetup';
41
41
  export type { ApplyAppointmentSetupRequest, ApplyAppointmentSetupResponse, AppointmentPractitionerMode, AppointmentSetupAvailabilityDraft, AppointmentSetupAvailabilityWindowInvalidReason, AppointmentSetupBookingNotice, AppointmentSetupDraftMapping, AppointmentSetupPaymentDraft, AppointmentSetupPlanIssue, AppointmentSetupPractitionerDraft, AppointmentSetupReadiness, AppointmentSetupRef, AppointmentSetupResponse, AppointmentSetupSeedCandidate, AppointmentSetupSeedInvalidMetadata, AppointmentSetupSeedSelection, AppointmentSetupServiceAssignmentDraft, AppointmentSetupServiceDraft, AppointmentSetupServiceResourceLink, AppointmentSetupTargetStep, AppointmentSetupVenueChoice, AppointmentSetupWeeklyWindowDraft, } from './appointmentSetup';
42
42
  export type { AppointmentHistoryStatus, AppointmentReservation, AppointmentReservationListItem, AppointmentReservationPaymentMode, AppointmentReservationStatus, BookingSessionCreateAppointmentRequest, BookingSessionCreateAppointmentResponse, BookingSessionEligibleAppointmentPackage, BookingSessionListEligibleAppointmentPackagesResponse, PublicWeeklySlotAvailabilityOption, PublicWeeklySlotAvailabilityQuery, PublicWeeklySlotAvailabilityResponse, } from './bookingOperations';
43
+ export type { AdminBookingCancellationPreview, AdminBookingReturnableValue } from './common/cancellation';
43
44
  export { APPOINTMENT_HISTORY_STATUS_VALUES } from './bookingOperations';
44
45
  export type { BookingClosureAffectedItemKind, BookingClosureAutoCancelItem, BookingClosureAutoCancelReason, BookingClosureConflictResponse, BookingClosureImpactPlan, BookingClosureImpactSummary, BookingClosureManualReviewItem, BookingClosureManualReviewReason, BookingClosureRecord, BookingClosureRequest, BookingClosureScope, CreateBookingClosureRequest, CreateBookingClosureResponse, DeleteBookingClosureResponse, GetBookingClosureResponse, ListBookingClosuresResponse, PreviewBookingClosureResponse, } from './bookingClosures';
45
46
  export type { PublicTeamMemberBlockItem, PublicTeamMemberPhoto, PublicTeamMemberSummary, } from './teamMembers';
@@ -52,7 +53,7 @@ export { FLEXIBLE_BALANCE_ADMIN_ACTION_SOURCES } from './types';
52
53
  export { getEventAttendanceModeLabel, getEventDeliveryModeLabel, getEventPricingOptionAttendanceScopeLabel, } from './eventAttendanceLabels';
53
54
  export { analyzeSiteBannerBody, decodeSiteBannerSettings, EMPTY_SITE_BANNER_BODY, SITE_BANNER_COOKIE_NAME_PREFIX, SITE_BANNER_MAX_PARAGRAPHS, SITE_BANNER_MAX_TEXT_LENGTH, createSiteBannerRevision, encodeSiteBannerSettings, fromSiteBannerDraft, getSiteBannerCookieName, isSiteBannerEligibleForPath, planSiteBannerRender, resolveSiteBannerAnnouncementRole, resolveSiteBannerShellBehavior, sanitizeSiteBannerBody, siteBannerDraftEquals, siteBannerSettingsInputSchema, siteBannerSettingsSchema, toSiteBannerDraft, validateSiteBannerDraft, } from './siteBanner';
54
55
  export type { SiteBannerBodyAnalysis, SiteBannerBodyIssue, SiteBannerDraft, SiteBannerDraftValidationIssue, SiteBannerRenderPlan, SiteBannerResolvedCta, } from './siteBanner';
55
- export type { AiSiteWizardSuggestGoalsRequest, AiSiteWizardSuggestGoalsResponse, AdminDeleteSiteResponse, AdminDeleteUserResponse, AdminOwnedSiteSummary, DashboardConfig, DashboardNavigationConfig, DashboardNavVisibilityConfig, DashboardNavVisibilityConfigWithRoles, DashboardWaitlistEntry, DashboardWaitlistEntryStatus, DashboardWaitlistListResponse, MediaUsageCheckItem, MediaUsageCheckResponse, MediaUsageLocation, BookingCollectionOptionKind, DirectCheckoutCollectionOptionKind, BookingPaymentArchetype, BookingPaymentDefaultsKey, BookingPaymentDefaults, BookingInstalmentIntervalUnit, BookingPaymentOptionsSource, BookingInstalmentPlanConfig, BookingPaymentCollectionOption, BookingPaymentTermsConfig, PublicBookingPaymentTermsAvailability, DocumentBlockState, DocumentBlockBaseline, PublicBookingAppointmentSummary, PublicBookingCustomerSummary, PublicBookingAppointmentStatusResponse, PublicCreateBookingAppointmentResponse, EventAttendanceMode, EventCapacityByAttendanceMode, EventDeliveryMode, EventModeCapacity, PublicEventPricingOptionAvailability, EventPricingOptionAttendanceScope, GoLiveDecision, LaunchReadiness, LaunchRequirement, LaunchRequirementAction, LaunchEmailPackState, LaunchReviewPackState, LaunchAppointmentsPackState, LaunchEventsPackState, LaunchCoursesPackState, LaunchPaymentsPackState, AcknowledgeLaunchRequirementRequest, AcknowledgeLaunchRequirementResponse, GoLiveSiteRequest, GoLiveSiteResponse, LaunchRequirementEvidence, LaunchRequirementDetail, LaunchDetailedRequirementId, LaunchAppointmentsGapDetail, LaunchPaymentsGapDetail, LaunchEventKindsDetail, LaunchRequirementId, LaunchOverridableRequirementId, LaunchRequirementOverride, LaunchRequirementOverrideDefinition, LaunchRequirementOverrideReason, LaunchRequirementOwner, LaunchRequirementPackId, LaunchRequirementPriority, LaunchRequirementState, OnboardingPreviewStatusResponse, OnboardingPreviewThemeOption, OnboardingPreviewThemesResponse, ResendOnboardingPreviewConfirmationResponse, PublicOnboardingAttemptResponse, PublicOnboardingAttemptProgress, PublicOnboardingAttemptProgressResponse, PublicOnboardingProvisioningStage, PublicOnboardingAttemptRunKickoff, PublicOnboardingAttemptRunResponse, MacadamiaOnboardingEventSession, MacadamiaOnboardingDraftFirstOffering, MacadamiaOnboardingFirstOffering, MacadamiaOnboardingFirstOfferingDeliveryMode, MacadamiaOnboardingFirstOfferingKind, MacadamiaOnboardingFirstOfferingScheduleMode, MacadamiaOnboardingLogoAnalysis, MacadamiaOnboardingLogoPaletteRecommendation, MacadamiaOnboardingMappedPalette, MacadamiaOnboardingOfferingKind, MacadamiaOnboardingPlanPreference, MacadamiaOnboardingPublicExperience, MacadamiaOnboardingSiteMode, MacadamiaOnboardingStyleMood, MacadamiaOnboardingSurfaceData, MacadamiaOnboardingTeamMode, MacadamiaOnboardingVisualIdentity, MacadamiaOnboardingWeekday, SiteGenerationBookingOfferingKind, SiteAnalyticsCookieBannerCopyOverrides, SiteAnalyticsSettingsPayload, SiteBannerAnnouncementRole, SiteBannerCta, SiteBannerScope, SiteBannerSettingsPayload, SiteBannerTone, StripeConnectRestrictions, SiteLegalJurisdiction, SiteLegalProfilePayload, SensitiveClientRecordsConfirmationKey, SensitiveClientRecordsMode, SensitiveClientRecordsRetentionProfile, SensitiveClientRecordsSettings, SensitiveClientRecordsUpdatePayload, SitePrivacyPolicyCapabilities, SitePrivacyPolicyDocument, SitePrivacySettings, SitePrivacySettingsPayload, SitePrivacySettingsResponse, SiteRuntimeBusinessDetails, SiteRuntimeBookingAttribution, SiteRuntimePrivacyPolicy, WaitlistDashboardActionResponse, } from './types';
56
+ export type { AiSiteWizardSuggestGoalsRequest, AiSiteWizardSuggestGoalsResponse, AdminDeleteSiteResponse, AdminDeleteUserResponse, AdminOwnedSiteSummary, DashboardConfig, DashboardNavigationConfig, DashboardNavVisibilityConfig, DashboardNavVisibilityConfigWithRoles, DashboardWaitlistEntry, DashboardWaitlistEntryStatus, DashboardWaitlistListResponse, MediaUsageCheckItem, MediaUsageCheckResponse, MediaUsageLocation, BookingCollectionOptionKind, DirectCheckoutCollectionOptionKind, BookingPaymentArchetype, BookingPaymentDefaultsKey, BookingPaymentDefaults, BookingInstalmentIntervalUnit, BookingPaymentOptionsSource, BookingPaymentOptionsChoice, BookingInstalmentPlanConfig, BookingPaymentCollectionOption, BookingPaymentTermsConfig, PublicBookingPaymentTermsAvailability, DocumentBlockState, DocumentBlockBaseline, PublicBookingAppointmentSummary, PublicBookingCustomerSummary, PublicBookingAppointmentStatusResponse, PublicCreateBookingAppointmentResponse, EventAttendanceMode, EventCapacityByAttendanceMode, EventDeliveryMode, EventModeCapacity, PublicEventPricingOptionAvailability, EventPricingOptionAttendanceScope, GoLiveDecision, LaunchReadiness, LaunchRequirement, LaunchRequirementAction, LaunchEmailPackState, LaunchReviewPackState, LaunchAppointmentsPackState, LaunchEventsPackState, LaunchCoursesPackState, LaunchPaymentsPackState, AcknowledgeLaunchRequirementRequest, AcknowledgeLaunchRequirementResponse, GoLiveSiteRequest, GoLiveSiteResponse, LaunchRequirementEvidence, LaunchRequirementDetail, LaunchDetailedRequirementId, LaunchAppointmentsGapDetail, LaunchPaymentsGapDetail, LaunchEventKindsDetail, LaunchRequirementId, LaunchOverridableRequirementId, LaunchRequirementOverride, LaunchRequirementOverrideDefinition, LaunchRequirementOverrideReason, LaunchRequirementOwner, LaunchRequirementPackId, LaunchRequirementPriority, LaunchRequirementState, OnboardingPreviewStatusResponse, OnboardingPreviewThemeOption, OnboardingPreviewThemesResponse, ResendOnboardingPreviewConfirmationResponse, PublicOnboardingAttemptResponse, PublicOnboardingAttemptProgress, PublicOnboardingAttemptProgressResponse, PublicOnboardingProvisioningStage, PublicOnboardingAttemptRunKickoff, PublicOnboardingAttemptRunResponse, MacadamiaOnboardingEventSession, MacadamiaOnboardingDraftFirstOffering, MacadamiaOnboardingFirstOffering, MacadamiaOnboardingFirstOfferingDeliveryMode, MacadamiaOnboardingFirstOfferingKind, MacadamiaOnboardingFirstOfferingScheduleMode, MacadamiaOnboardingLogoAnalysis, MacadamiaOnboardingLogoPaletteRecommendation, MacadamiaOnboardingMappedPalette, MacadamiaOnboardingOfferingKind, MacadamiaOnboardingPlanPreference, MacadamiaOnboardingPublicExperience, MacadamiaOnboardingSiteMode, MacadamiaOnboardingStyleMood, MacadamiaOnboardingSurfaceData, MacadamiaOnboardingTeamMode, MacadamiaOnboardingVisualIdentity, MacadamiaOnboardingWeekday, SiteGenerationBookingOfferingKind, SiteAnalyticsCookieBannerCopyOverrides, SiteAnalyticsSettingsPayload, SiteBannerAnnouncementRole, SiteBannerCta, SiteBannerScope, SiteBannerSettingsPayload, SiteBannerTone, StripeConnectRestrictions, SiteLegalJurisdiction, SiteLegalProfilePayload, SensitiveClientRecordsConfirmationKey, SensitiveClientRecordsMode, SensitiveClientRecordsRetentionProfile, SensitiveClientRecordsSettings, SensitiveClientRecordsUpdatePayload, SitePrivacyPolicyCapabilities, SitePrivacyPolicyDocument, SitePrivacySettings, SitePrivacySettingsPayload, SitePrivacySettingsResponse, SiteRuntimeBusinessDetails, SiteRuntimeBookingAttribution, SiteRuntimePrivacyPolicy, WaitlistDashboardActionResponse, } from './types';
56
57
  export { acknowledgeLaunchRequirementRequestSchema, goLiveSiteRequestSchema, LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS, toAcknowledgeLaunchRequirementRequest, } from './siteOnboarding';
57
58
  export { MANAGED_PRIVACY_POLICY_PATH, DEFAULT_SITE_LEGAL_JURISDICTION, EU_MEMBER_COUNTRIES, JURISDICTION_LABELS, SENSITIVE_CLIENT_RECORDS_CONFIRMATION_KEYS, SENSITIVE_CLIENT_RECORDS_CONFIRMATION_VERSION, buildManagedPrivacyPolicyDocument, isSitePrivacyIdentityReady, mapCountryToLegalJurisdiction, resolveLegalIdentitySource, resolveSitePrivacyIdentity, type ResolvedSitePrivacyIdentity, type SiteLegalIdentitySource, type SiteLegalProfileInput, } from './privacyPolicy';
58
59
  export { analyticsCollect } from './analytics';
@@ -72,10 +73,9 @@ export { getBookingSettingsRequest, updateBookingSettingsRequest, createAppointm
72
73
  export { deleteEventOfferingRequest, addEventSeriesRegistrationRequest, updateEventSeriesRegistrationRequest, } from './bookings';
73
74
  export * from './appointmentServiceContracts';
74
75
  export * from './event-visibility';
75
- export type { BookingPricing, BookingPricingDraft, BookingPricingInput, BookingPricingInputValueTypes, BookingPricingOption, BookingPricingOptionInput, BookingSettingsSection, BookingSettingsSectionUpdate, BookingSettingsSectionUpdateRequest, } from './bookingConfig';
76
+ export type { BookingPricing, BookingPricingDraft, BookingPricingRequest, BookingPricingInput, BookingPricingInputValueTypes, BookingPricingOption, BookingPricingOptionInput, BookingSettingsSection, BookingSettingsSectionUpdate, BookingSettingsSectionUpdateRequest, } from './bookingConfig';
76
77
  export type { BookingServicePricing, BookingServicePricingInput, BookingServicePricingOption, BookingServicePricingOptionInput, } from './bookingServicePricing';
77
78
  export { BOOKING_SETTINGS_SECTION_LABELS, BOOKING_SETTINGS_SECTION_KEYS, BOOKING_SETTINGS_SECTIONS, DEFAULT_APPOINTMENT_STAFF_DIGEST_LOCAL_SEND_TIME, DEFAULT_BOOKING_NOTIFICATION_SEND_RULE, DEFAULT_BOOKING_NOTIFICATION_SETTINGS, DIRECT_CHECKOUT_COLLECTION_OPTION_KINDS, applyBookingSettingsSectionUpdate, applyBookingSettingsSectionUpdates, createBookingSettingsUpdateRequest, resolveBookingSettingsEventCatalogue, } from './bookingConfig';
78
- export { bookingPaymentCollectionOptionSchema } from './bookingPaymentTermSchemas';
79
79
  export { BOOKING_LEDGER_CANCELLATION_MODE_VALUES, BOOKING_LEDGER_DATE_BASIS_VALUES, BOOKING_LEDGER_KIND_VALUES, BOOKING_LEDGER_PERIOD_PRESET_VALUES, BOOKING_ACTIVITY_CATEGORY_VALUES, BOOKING_ACTIVITY_TYPE_VALUES, BOOKING_QUESTION_ANSWER_EXPORT_SCOPES, BOOKING_QUESTION_ANSWER_EXPORT_SCOPE_VALUES, CUSTOMER_MEMBERSHIP_STATUS_VALUES, CUSTOMER_PASS_STATUS_VALUES, } from './bookingRecords';
80
80
  export * from './bookingPeople';
81
81
  export type { BookingQuestionAnswerExportScopeKind, CreatePersonRecordEntryRequest, ExportBookingQuestionAnswersCsvRequest, } from './bookingRecords';
@@ -1,4 +1,4 @@
1
- import type { BookingMailingListNote as BookingSignupNote } from '../../core/src/index';
1
+ import type { BookingMailingListNote as BookingSignupNote, BookingPaymentCollectionOptionKind } from '../../core/src/index';
2
2
  export type PublicCreateBookingAppointmentRequest = {
3
3
  formId: string;
4
4
  serviceId: string;
@@ -10,7 +10,7 @@ export type PublicCreateBookingAppointmentRequest = {
10
10
  timezone?: string;
11
11
  discountCode?: string;
12
12
  selectedSlidingAmount?: number;
13
- selectedCollectionOptionKind?: 'upfront' | 'deferred_manual' | 'instalment_plan' | 'flexible_balance';
13
+ selectedCollectionOptionKind?: BookingPaymentCollectionOptionKind;
14
14
  altchaSolution?: string | null;
15
15
  successUrl?: string;
16
16
  cancelUrl?: string;
@@ -4,26 +4,9 @@
4
4
  * Merged into `PublicExperienceAPIEndpoints` by `../publicExperienceEndpoints`.
5
5
  */
6
6
  import type { APIEndpoint } from '../apiEndpointTypes';
7
+ import type { PublicMembershipProduct, PublicPassProduct } from '../../../blocks/src/contracts/index';
7
8
  import type { PublicProduct } from '../../../blocks/src/system/blocks/products/shared';
8
9
  import type { DiscountsAvailableResponse, PublicDiscountContext } from './sharedTypes';
9
- type PublicPassProduct = {
10
- id: string;
11
- productUseCase: 'event_pass' | 'appointment_package';
12
- name: string;
13
- description: string | null;
14
- price: number;
15
- currency: string;
16
- creditsTotal: number;
17
- pricePerCredit: number;
18
- validDays: number | null;
19
- eligibleCategoryIds: string[];
20
- eligibleCategoryNames: string[];
21
- } & ({
22
- purchaseAvailability: 'purchasable';
23
- } | {
24
- purchaseAvailability: 'display_only';
25
- unavailabilityReason: 'online_payments_unavailable';
26
- });
27
10
  export type PublicCommerceAPIEndpoints = {
28
11
  listPublicPasses: APIEndpoint<never, {
29
12
  siteId: string;
@@ -35,16 +18,7 @@ export type PublicCommerceAPIEndpoints = {
35
18
  siteId: string;
36
19
  categories?: string;
37
20
  }, {
38
- memberships: Array<{
39
- id: string;
40
- name: string;
41
- description: string | null;
42
- price: number;
43
- currency: string;
44
- billingInterval: 'month' | 'year';
45
- eligibleCategoryIds: string[];
46
- eligibleCategoryNames: string[];
47
- }>;
21
+ memberships: PublicMembershipProduct[];
48
22
  }>;
49
23
  listPublicProducts: APIEndpoint<never, {
50
24
  siteId: string;
@@ -254,4 +228,3 @@ export type PublicCommerceAPIEndpoints = {
254
228
  message: string;
255
229
  }>;
256
230
  };
257
- export {};
@@ -100,4 +100,4 @@ export declare function buildApiRequestPlan(input: Readonly<{
100
100
  export declare function createCMSClient(headers?: AuthHeaders | {}, baseUrl?: string): ApiClient;
101
101
  export declare const createServerAPIClient: (apiKey: string, baseUrl?: string) => ApiClient;
102
102
  export declare function createInternalAPIClient(baseUrl?: string): ApiClient;
103
- export declare function createBearerAPIClient(token: string, baseUrl?: string): ApiClient;
103
+ export declare function createBearerAPIClient(token: string | (() => string), baseUrl?: string): ApiClient;
@@ -129,7 +129,6 @@ type SdkEventRunUpsertCommon = Readonly<{
129
129
  capacity?: number | null;
130
130
  bookingOffer?: SdkEventBookingOffer;
131
131
  venueRef?: string | null;
132
- categoryRef?: string | null;
133
132
  formRef?: string | null;
134
133
  settings?: Record<string, unknown>;
135
134
  tags?: string[];
@@ -155,6 +154,7 @@ export type SdkEventUpsertBody = Readonly<{
155
154
  courseBooking?: SdkCourseBookingSettings;
156
155
  administrativeStatus?: SdkPullEvent['administrativeStatus'];
157
156
  title: string;
157
+ categoryRef?: string | null;
158
158
  slug: string;
159
159
  path?: string | null;
160
160
  preset: SdkPullEvent['preset'];
@@ -10,6 +10,7 @@ export interface SdkPullEvent extends SdkPulledCourseBooking {
10
10
  slug: string;
11
11
  path: string | null;
12
12
  preset: EventPreset;
13
+ categoryRef: string | null;
13
14
  runRefs: readonly [string, ...string[]];
14
15
  content: {
15
16
  summary?: string;
@@ -36,7 +37,6 @@ export interface SdkPullEventRun {
36
37
  capacity: number | null;
37
38
  bookingOffer: SdkEventBookingOffer;
38
39
  venueRef: string | null;
39
- categoryRef: string | null;
40
40
  formRef: string | null;
41
41
  settings: Record<string, unknown>;
42
42
  /**