@riverbankcms/sdk 0.145.0 → 0.147.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 (254) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/{PreviewEditorSidebar-O-V6Pl5a.mjs → PreviewEditorSidebar-DtpB3_sS.mjs} +51 -33
  3. package/dist/{PreviewEditorUI-1UlX_9cw.mjs → PreviewEditorUI-DxTLgaHo.mjs} +3 -3
  4. package/dist/{PreviewQueryProvider-BxGwdOCV.mjs → PreviewQueryProvider-Dd4dxOiU.mjs} +1 -1
  5. package/dist/{SdkPreviewModeRuntime-DYbA_4iv.mjs → SdkPreviewModeRuntime-DMMNCngt.mjs} +311 -186
  6. package/dist/{SiteChromeCustomizeContext-CNTKQ9nx.mjs → SiteChromeCustomizeContext-DQXZXiqS.mjs} +3808 -2395
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +1122 -0
  8. package/dist/_dts/ai/src/contracts/siteStyleProposalSchemas.d.ts +102 -0
  9. package/dist/_dts/api/src/accountApi.d.ts +5 -5
  10. package/dist/_dts/api/src/bookingConfig.d.ts +24 -1
  11. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +11 -26
  12. package/dist/_dts/api/src/bookingManagementEventEndpointTypes.d.ts +45 -1
  13. package/dist/_dts/api/src/bookingOperations.d.ts +2 -44
  14. package/dist/_dts/api/src/bookingPeople.d.ts +92 -0
  15. package/dist/_dts/api/src/bookingPeopleEndpointDefinitions.d.ts +38 -0
  16. package/dist/_dts/api/src/bookingRecords.d.ts +11 -49
  17. package/dist/_dts/api/src/bookingSettingsSections.d.ts +1 -1
  18. package/dist/_dts/api/src/bookings.d.ts +1 -0
  19. package/dist/_dts/api/src/clientErrorReporting.d.ts +50 -0
  20. package/dist/_dts/api/src/communications.d.ts +20 -4
  21. package/dist/_dts/api/src/contentRuntime.d.ts +3 -7
  22. package/dist/_dts/api/src/endpoints.d.ts +816 -655
  23. package/dist/_dts/api/src/event-visibility.d.ts +20 -0
  24. package/dist/_dts/api/src/eventManagementContracts.d.ts +72 -4
  25. package/dist/_dts/api/src/eventManagementEndpointDefinitions.d.ts +24 -0
  26. package/dist/_dts/api/src/eventPageWords.d.ts +19 -0
  27. package/dist/_dts/api/src/eventSeriesRegistrationEndpointDefinitions.d.ts +14 -0
  28. package/dist/_dts/api/src/index.d.ts +9 -2
  29. package/dist/_dts/api/src/indexCoreTypes.d.ts +1 -1
  30. package/dist/_dts/api/src/indexExtendedTypes.d.ts +1 -1
  31. package/dist/_dts/api/src/launchReadiness.d.ts +19 -6
  32. package/dist/_dts/api/src/launchRequirementPriority.d.ts +3 -0
  33. package/dist/_dts/api/src/mailingListIntegration.d.ts +6 -0
  34. package/dist/_dts/api/src/navigation/dashboardBookingsNav.d.ts +1 -1
  35. package/dist/_dts/api/src/newsletterCampaignCommandEndpoints.d.ts +13 -0
  36. package/dist/_dts/api/src/newsletterEndpointDefinitions.d.ts +57 -0
  37. package/dist/_dts/api/src/occurrenceScheduling.d.ts +29 -0
  38. package/dist/_dts/api/src/pageSurfaceEndpoints.d.ts +44 -0
  39. package/dist/_dts/api/src/participantMessaging.d.ts +11 -1
  40. package/dist/_dts/api/src/publicAppointmentBookingContracts.d.ts +48 -0
  41. package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +7 -0
  42. package/dist/_dts/api/src/sdk-event-upsert.d.ts +55 -1
  43. package/dist/_dts/api/src/sdkContracts.d.ts +3 -42
  44. package/dist/_dts/api/src/sdkCourseBooking.d.ts +30 -0
  45. package/dist/_dts/api/src/sdkEventEndpointDefinitions.d.ts +76 -0
  46. package/dist/_dts/api/src/sdkEventLifecycle.d.ts +37 -0
  47. package/dist/_dts/api/src/sdkManagedEventContracts.d.ts +18 -0
  48. package/dist/_dts/api/src/sdkPageDesign.d.ts +388 -0
  49. package/dist/_dts/api/src/sdkPageDesignEndpointDefinitions.d.ts +22 -0
  50. package/dist/_dts/api/src/sdkPullEventContracts.d.ts +46 -0
  51. package/dist/_dts/api/src/siteAddressEndpoints.d.ts +29 -0
  52. package/dist/_dts/api/src/siteLifecycleEndpoints.d.ts +61 -0
  53. package/dist/_dts/api/src/siteManagementEndpointDefinitions.d.ts +49 -0
  54. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +6 -49
  55. package/dist/_dts/api/src/siteOnboarding.d.ts +72 -18
  56. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -1
  57. package/dist/_dts/api/src/types.d.ts +7 -1
  58. package/dist/_dts/api/src/wholeSeriesRuns.d.ts +14 -0
  59. package/dist/_dts/blocks/src/PageRenderer.d.ts +3 -4
  60. package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +8 -0
  61. package/dist/_dts/blocks/src/index.d.ts +2 -0
  62. package/dist/_dts/blocks/src/pageRenderAdmission.d.ts +29 -1
  63. package/dist/_dts/blocks/src/pageRendererContracts.d.ts +5 -1
  64. package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +27 -5
  65. package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +14 -1
  66. package/dist/_dts/blocks/src/system/blocks/newsletter-signup.d.ts +4 -1
  67. package/dist/_dts/blocks/src/system/icons/social.d.ts +1 -1
  68. package/dist/_dts/blocks/src/system/registry.d.ts +1 -1
  69. package/dist/_dts/blocks/src/system/runtime/api/types/appointments.d.ts +4 -0
  70. package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +12 -0
  71. package/dist/_dts/blocks/src/system/runtime/components/registry.client.d.ts +12 -0
  72. package/dist/_dts/blocks/src/system/runtime/components/runtime-backed-blocks.d.ts +6 -0
  73. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -0
  74. package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessEventRegistrationFlow.d.ts +2 -0
  75. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.completion.d.ts +9 -0
  76. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +9 -0
  77. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +19 -0
  78. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-choice.d.ts +5 -0
  79. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-note.d.ts +3 -0
  80. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.mailing-list-state.d.ts +9 -0
  81. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
  82. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.server.d.ts +1 -1
  83. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +2 -0
  84. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-handler.d.ts +8 -0
  85. package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.submit-success.d.ts +9 -0
  86. package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +3 -0
  87. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/AttendeeDetailsStep.d.ts +3 -0
  88. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/SuccessStep.d.ts +3 -0
  89. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +3 -0
  90. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/eventSourceRecovery.d.ts +1 -0
  91. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +2 -0
  92. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +6 -0
  93. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +3 -0
  94. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +8 -0
  95. package/dist/_dts/blocks/src/system/runtime/nodes/event-registration.interactive.d.ts +9 -0
  96. package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +20 -4
  97. package/dist/_dts/blocks/src/system/runtime/nodes/form.fields.d.ts +5 -0
  98. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.block-submission.d.ts +34 -0
  99. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.client.d.ts +1 -1
  100. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.interactive.d.ts +6 -1
  101. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.parts.d.ts +46 -0
  102. package/dist/_dts/blocks/src/system/runtime/nodes/newsletter-form.types.d.ts +2 -1
  103. package/dist/_dts/blocks/src/system/runtime/resolver.d.ts +4 -1
  104. package/dist/_dts/blocks/src/system/runtime/shared/components/BookingMailingListNote.d.ts +6 -0
  105. package/dist/_dts/blocks/src/system/runtime/shared/components/CheckboxChoice.d.ts +18 -0
  106. package/dist/_dts/blocks/src/system/runtime/shared/components/index.d.ts +1 -0
  107. package/dist/_dts/blocks/src/system/runtime/shared/mailingListSignupCopy.d.ts +6 -0
  108. package/dist/_dts/blocks/src/system/runtime/shared/types.d.ts +1 -0
  109. package/dist/_dts/blocks/src/system/transforms/registry/_utils/surfaceForegroundStyles.d.ts +3 -2
  110. package/dist/_dts/blocks/src/system/transforms/registry/core.d.ts +2 -0
  111. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +1 -3
  112. package/dist/_dts/content-editor/src/index.d.ts +1 -0
  113. package/dist/_dts/content-editor/src/primitives/previewEditableOutline.d.ts +2 -0
  114. package/dist/_dts/content-editor/src/ui/editorBlockEquality.d.ts +3 -0
  115. package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +3 -5
  116. package/dist/_dts/core/src/block-content-identity.d.ts +5 -0
  117. package/dist/_dts/core/src/editor-state.d.ts +2 -7
  118. package/dist/_dts/core/src/index.d.ts +2 -1
  119. package/dist/_dts/core/src/mailing-list-runtime.d.ts +15 -0
  120. package/dist/_dts/core/src/mailing-list-setup.d.ts +2 -0
  121. package/dist/_dts/core/src/mailing-list-submission.d.ts +9 -1
  122. package/dist/_dts/core/src/navigation-portal-labels.d.ts +9 -0
  123. package/dist/_dts/core/src/participants.d.ts +0 -38
  124. package/dist/_dts/core/src/public-event-booking-availability.d.ts +20 -1
  125. package/dist/_dts/core/src/public-profile.d.ts +3 -1
  126. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +151 -24
  127. package/dist/_dts/editor-blocks/src/BlockEditor.d.ts +3 -0
  128. package/dist/_dts/editor-blocks/src/block-editor/EmptyState.d.ts +13 -1
  129. package/dist/_dts/editor-blocks/src/block-editor/actionPresentation.d.ts +1 -0
  130. package/dist/_dts/editor-blocks/src/block-editor/types.d.ts +2 -8
  131. package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
  132. package/dist/_dts/preview-next/src/client/blocks/EditablePageRenderer.d.ts +7 -1
  133. package/dist/_dts/preview-next/src/client/blocks/composer/types.d.ts +5 -5
  134. package/dist/_dts/preview-next/src/client/preview/PreviewEntryControllerProvider.d.ts +1 -2
  135. package/dist/_dts/sdk/src/next/renderSdkContent.d.ts +0 -1
  136. package/dist/_dts/sdk/src/rendering/blocks-page-renderer.d.ts +3 -2
  137. package/dist/_dts/sdk/src/rendering/components/pageShared.d.ts +3 -2
  138. package/dist/_dts/sdk/src/rendering/helpers/loadContent.d.ts +6 -1
  139. package/dist/_dts/sdk/src/rendering/helpers/loadPage.d.ts +5 -2
  140. package/dist/_dts/sdk/src/rendering/helpers/pageRuntimeSupport.d.ts +6 -1
  141. package/dist/_dts/sdk/src/rendering/helpers/templateContent.d.ts +2 -0
  142. package/dist/_dts/sdk/src/rendering/hooks/useContent.d.ts +5 -1
  143. package/dist/_dts/sdk/src/rendering/hooks/usePage.d.ts +5 -1
  144. package/dist/_dts/sdk/src/version.d.ts +1 -1
  145. package/dist/_dts/surfaces/src/index.d.ts +9 -0
  146. package/dist/_dts/theme-core/src/buttons/effects/types.d.ts +1 -1
  147. package/dist/_dts/theme-core/src/footer/effectiveNavLinkStyle.d.ts +13 -0
  148. package/dist/_dts/theme-core/src/footer/index.d.ts +1 -0
  149. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  150. package/dist/_dts/theme-core/src/header/effectiveNavLinkStyle.d.ts +17 -0
  151. package/dist/_dts/theme-core/src/header/generateHeaderLogoStyles.d.ts +15 -0
  152. package/dist/_dts/theme-core/src/header/generateHeaderNavLinkStyles.d.ts +4 -0
  153. package/dist/_dts/theme-core/src/header/index.d.ts +3 -0
  154. package/dist/_dts/theme-core/src/header/legacyNavLinkStyle.d.ts +1 -1
  155. package/dist/_dts/theme-core/src/header/openingForegroundProjection.d.ts +7 -0
  156. package/dist/_dts/theme-core/src/header/rootPaint.d.ts +4 -0
  157. package/dist/_dts/theme-core/src/inputs/checkable.d.ts +42 -0
  158. package/dist/_dts/theme-core/src/inputs/inputGroup.d.ts +19 -0
  159. package/dist/_dts/theme-core/src/navigation/effectPolicy.d.ts +38 -0
  160. package/dist/_dts/theme-core/src/navigation/generateNavLinkCSS.d.ts +4 -0
  161. package/dist/_dts/theme-core/src/navigation/types.d.ts +4 -0
  162. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +1 -1
  163. package/dist/_dts/theme-core/src/surfaces/foregroundContract.d.ts +7 -0
  164. package/dist/_dts/theme-core/src/surfaces/foregroundInteraction.d.ts +29 -22
  165. package/dist/_dts/theme-core/src/surfaces/foregroundRoles.d.ts +10 -2
  166. package/dist/_dts/theme-core/src/surfaces/resolveSurfaceForeground.d.ts +9 -0
  167. package/dist/_dts/theme-core/src/utils/cssDeclarations.d.ts +2 -0
  168. package/dist/_dts/ui/src/badge.d.ts +2 -1
  169. package/dist/_dts/ui/src/button.d.ts +1 -1
  170. package/dist/_dts/ui/src/combobox-keys.d.ts +23 -0
  171. package/dist/_dts/ui/src/combobox-rows.d.ts +34 -0
  172. package/dist/_dts/ui/src/combobox.d.ts +26 -1
  173. package/dist/_dts/ui/src/date-picker.d.ts +5 -8
  174. package/dist/_dts/ui/src/editor-item-card.d.ts +1 -0
  175. package/dist/_dts/ui/src/field-trigger.d.ts +39 -0
  176. package/dist/_dts/ui/src/fieldControl.d.ts +27 -0
  177. package/dist/_dts/ui/src/index.d.ts +4 -1
  178. package/dist/_dts/ui/src/native-select.d.ts +8 -0
  179. package/dist/_dts/ui/src/navigation-tabs.d.ts +2 -1
  180. package/dist/_dts/ui/src/popover.d.ts +7 -1
  181. package/dist/_dts/ui/src/segmented-control.d.ts +4 -0
  182. package/dist/_dts/ui/src/surface.d.ts +1 -1
  183. package/dist/client/{BookingConsentAgreement-DlVOmpW4.mjs → BookingMailingListNote-1n4Ch_u_.mjs} +15 -4
  184. package/dist/client/CheckboxChoice-B33MqoUo.mjs +24 -0
  185. package/dist/client/{DiscountCodeDisclosure-T9q623PQ.mjs → DiscountCodeDisclosure-CKJtz0mY.mjs} +1 -1
  186. package/dist/client/{EventCombined.client-DnsUeONl.mjs → EventCombined.client-C0pgma9y.mjs} +7 -7
  187. package/dist/client/{EventListing.client-CNBFqJS4.mjs → EventListing.client-4fhLOvHP.mjs} +2 -2
  188. package/dist/client/{LeafletStaticMap-C7higg52.mjs → LeafletStaticMap-DScC4F3w.mjs} +1 -1
  189. package/dist/client/{scrollToBlock-CWs8EIdo.mjs → TerminalPanel-B5ZUsYhe.mjs} +77 -77
  190. package/dist/client/{ThemedButton-LAJTNrS8.mjs → ThemedButton-DoVIV1Ao.mjs} +2 -2
  191. package/dist/client/{accordion-BcNF9TjX.mjs → accordion-CoT5g7zo.mjs} +1 -1
  192. package/dist/client/{bookingForm-BUaQ3S03.mjs → bookingForm-BWxB46xD.mjs} +251 -150
  193. package/dist/client/bookings.mjs +415 -234
  194. package/dist/client/{carousel-CTdF6e0V.mjs → carousel-DtNYWFd3.mjs} +2 -2
  195. package/dist/client/{carousel.client-jahpU9Vz.mjs → carousel.client-A2lG-9od.mjs} +1 -1
  196. package/dist/client/{cart-pGtyf_XU.mjs → cart-z4qZih1Y.mjs} +3 -3
  197. package/dist/client/{checkout-Da9WSn7Y.mjs → checkout-DpL7euFH.mjs} +3 -3
  198. package/dist/client/{checkoutUrls-CW3-78uu.mjs → checkoutUrls-BEfR7kVu.mjs} +1 -1
  199. package/dist/client/client.mjs +3721 -2220
  200. package/dist/client/{colorStyles-CuJBiS-1.mjs → colorStyles-j5U9v5JA.mjs} +5 -1
  201. package/dist/client/{context-BFeY_Wbm.mjs → context-C8TinPJc.mjs} +1 -1
  202. package/dist/client/{dates-BhwVSxDg.mjs → dates-vwwxTeB0.mjs} +2 -3
  203. package/dist/client/{eventCalendar-BAtdnR4s.mjs → eventCalendar-DIbHfJXO.mjs} +10 -10
  204. package/dist/client/{eventCombined-RksA3tRC.mjs → eventCombined-DoGMJ6cg.mjs} +4 -4
  205. package/dist/client/{eventDetails-BB9hB4wR.mjs → eventDetails-BjN9v6a1.mjs} +4 -4
  206. package/dist/client/{eventListing-BpJBkviM.mjs → eventListing-DajjWgOv.mjs} +4 -4
  207. package/dist/client/{eventRegistration-B18jFq_o.mjs → eventRegistration-DMq9gMA-.mjs} +121 -54
  208. package/dist/client/{form-Dodt8Y8t.mjs → form-Qf6qTbos.mjs} +136 -105
  209. package/dist/client/{headerSection-B0qj9ttg.mjs → headerSection-D7qJrqFX.mjs} +3 -3
  210. package/dist/client/hooks.mjs +1148 -179
  211. package/dist/client/{locationMap-gn-iMk7a.mjs → locationMap-CCF9-t_0.mjs} +4 -4
  212. package/dist/client/{FieldValidationMessage-AYanWFb-.mjs → mailingListSignupCopy-DZSHZrm6.mjs} +14 -1
  213. package/dist/client/{media-BtJ37tzS.mjs → media-CwBGetqC.mjs} +1 -1
  214. package/dist/client/{newsletterForm-oByLdFkr.mjs → newsletterForm-DzCLSP4S.mjs} +206 -104
  215. package/dist/client/{pricing-BOU0_Hai.mjs → pricing-Cgxv2KLC.mjs} +1 -1
  216. package/dist/client/{productDetail-D9v1zH2j.mjs → productDetail-ru9w5GHx.mjs} +3 -3
  217. package/dist/client/{productList-D-mItx1n.mjs → productList-zaapKSl-.mjs} +3 -3
  218. package/dist/client/{propsDecoder-C3TP_z4x.mjs → propsDecoder-CwvvNOHx.mjs} +91 -28
  219. package/dist/client/rendering/client.mjs +1441 -826
  220. package/dist/client/rendering/islands.mjs +19 -19
  221. package/dist/client/rendering.mjs +3652 -2005
  222. package/dist/client/{routeIslandApiConfig-DzN1W0sq.mjs → routeIslandApiConfig-BwVFo0Y4.mjs} +1 -1
  223. package/dist/client/{shop-commerce-gklw_hLF.mjs → shop-commerce-De7gEnkA.mjs} +8 -8
  224. package/dist/client/{shop-commerce-store-Sf1eyTaZ.mjs → shop-commerce-store-B3MCxIBW.mjs} +1 -1
  225. package/dist/client/{shop-Dufw7N7o.mjs → shop-mktkXvbV.mjs} +7 -7
  226. package/dist/client/{shopShared-B5nyA41S.mjs → shopShared-TqExh235.mjs} +5 -5
  227. package/dist/client/{useEventFilters-CLL829vy.mjs → useEventFilters-n_OjkIjX.mjs} +8 -8
  228. package/dist/preview-next/before-render.mjs +490 -153
  229. package/dist/preview-next/client/runtime.mjs +4 -4
  230. package/dist/preview-next/editor-base.css +64 -2
  231. package/dist/preview-next/editor-chrome.css +7 -4
  232. package/dist/preview-next/keepAlive.mjs +450 -153
  233. package/dist/preview-next/middleware.mjs +451 -153
  234. package/dist/{previewAuthStore-BxAFlu-j.mjs → previewAuthStore-C_EHQ5XA.mjs} +475 -153
  235. package/dist/{sdk-runtime-D0uZFev7.mjs → sdk-runtime-BIkJg5y1.mjs} +2 -2
  236. package/dist/{separator-EvdCAn4V.mjs → separator-C9qDP95Z.mjs} +1 -1
  237. package/dist/server/components.mjs +4957 -3509
  238. package/dist/server/config-validation.mjs +1115 -189
  239. package/dist/server/config.mjs +1115 -189
  240. package/dist/server/data.mjs +1113 -188
  241. package/dist/server/index.mjs +492 -154
  242. package/dist/server/navigation.mjs +13 -2
  243. package/dist/server/next.mjs +4798 -3462
  244. package/dist/server/page-converter.mjs +143 -89
  245. package/dist/server/prebuild.mjs +1 -1
  246. package/dist/server/rendering/server.mjs +3862 -2414
  247. package/dist/server/rendering.mjs +5648 -4154
  248. package/dist/server/routing.mjs +1223 -329
  249. package/dist/server/server.mjs +1172 -314
  250. package/dist/server/theme-bridge.mjs +533 -128
  251. package/dist/server/theme.mjs +5 -1
  252. package/dist/styles/index.css +218 -69
  253. package/package.json +1 -1
  254. package/dist/_dts/core/src/participant-identity.d.ts +0 -135
@@ -8734,6 +8734,40 @@ export declare const ProposeSiteStyleSelectionCommandBackedOutputSchema: z.ZodOb
8734
8734
  type: z.ZodLiteral<"upsertEventSeries">;
8735
8735
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<import("@riverbankcms/site-commands").EventSeriesRef, string>>;
8736
8736
  input: z.ZodObject<{
8737
+ courseBooking: z.ZodOptional<z.ZodObject<{
8738
+ visibility: z.ZodEnum<{
8739
+ public: "public";
8740
+ unlisted: "unlisted";
8741
+ }>;
8742
+ acceptsPasses: z.ZodBoolean;
8743
+ acceptsMemberships: z.ZodBoolean;
8744
+ ticketingMode: z.ZodOptional<z.ZodEnum<{
8745
+ enabled: "enabled";
8746
+ disabled: "disabled";
8747
+ inherit: "inherit";
8748
+ }>>;
8749
+ collectAllAttendeeDetails: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
8750
+ cancellationPolicy: z.ZodObject<{
8751
+ refunds: z.ZodObject<{
8752
+ mode: z.ZodEnum<{
8753
+ never: "never";
8754
+ inherit: "inherit";
8755
+ always: "always";
8756
+ cutoff: "cutoff";
8757
+ }>;
8758
+ cutoffHours: z.ZodOptional<z.ZodNumber>;
8759
+ }, z.core.$strict>;
8760
+ transfers: z.ZodObject<{
8761
+ mode: z.ZodEnum<{
8762
+ never: "never";
8763
+ inherit: "inherit";
8764
+ always: "always";
8765
+ cutoff: "cutoff";
8766
+ }>;
8767
+ cutoffHours: z.ZodOptional<z.ZodNumber>;
8768
+ }, z.core.$strict>;
8769
+ }, z.core.$strict>;
8770
+ }, z.core.$strict>>;
8737
8771
  waitlist: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
8738
8772
  kind: z.ZodLiteral<"disabled">;
8739
8773
  }, z.core.$strict>, z.ZodObject<{
@@ -18226,6 +18260,40 @@ export declare const ProposeSiteStyleSelectionOutputSchema: z.ZodUnion<readonly
18226
18260
  type: z.ZodLiteral<"upsertEventSeries">;
18227
18261
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<import("@riverbankcms/site-commands").EventSeriesRef, string>>;
18228
18262
  input: z.ZodObject<{
18263
+ courseBooking: z.ZodOptional<z.ZodObject<{
18264
+ visibility: z.ZodEnum<{
18265
+ public: "public";
18266
+ unlisted: "unlisted";
18267
+ }>;
18268
+ acceptsPasses: z.ZodBoolean;
18269
+ acceptsMemberships: z.ZodBoolean;
18270
+ ticketingMode: z.ZodOptional<z.ZodEnum<{
18271
+ enabled: "enabled";
18272
+ disabled: "disabled";
18273
+ inherit: "inherit";
18274
+ }>>;
18275
+ collectAllAttendeeDetails: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
18276
+ cancellationPolicy: z.ZodObject<{
18277
+ refunds: z.ZodObject<{
18278
+ mode: z.ZodEnum<{
18279
+ never: "never";
18280
+ inherit: "inherit";
18281
+ always: "always";
18282
+ cutoff: "cutoff";
18283
+ }>;
18284
+ cutoffHours: z.ZodOptional<z.ZodNumber>;
18285
+ }, z.core.$strict>;
18286
+ transfers: z.ZodObject<{
18287
+ mode: z.ZodEnum<{
18288
+ never: "never";
18289
+ inherit: "inherit";
18290
+ always: "always";
18291
+ cutoff: "cutoff";
18292
+ }>;
18293
+ cutoffHours: z.ZodOptional<z.ZodNumber>;
18294
+ }, z.core.$strict>;
18295
+ }, z.core.$strict>;
18296
+ }, z.core.$strict>>;
18229
18297
  waitlist: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
18230
18298
  kind: z.ZodLiteral<"disabled">;
18231
18299
  }, z.core.$strict>, z.ZodObject<{
@@ -27719,6 +27787,40 @@ export declare const ProposeSiteStyleSelectionResultSchema: z.ZodUnion<readonly
27719
27787
  type: z.ZodLiteral<"upsertEventSeries">;
27720
27788
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<import("@riverbankcms/site-commands").EventSeriesRef, string>>;
27721
27789
  input: z.ZodObject<{
27790
+ courseBooking: z.ZodOptional<z.ZodObject<{
27791
+ visibility: z.ZodEnum<{
27792
+ public: "public";
27793
+ unlisted: "unlisted";
27794
+ }>;
27795
+ acceptsPasses: z.ZodBoolean;
27796
+ acceptsMemberships: z.ZodBoolean;
27797
+ ticketingMode: z.ZodOptional<z.ZodEnum<{
27798
+ enabled: "enabled";
27799
+ disabled: "disabled";
27800
+ inherit: "inherit";
27801
+ }>>;
27802
+ collectAllAttendeeDetails: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
27803
+ cancellationPolicy: z.ZodObject<{
27804
+ refunds: z.ZodObject<{
27805
+ mode: z.ZodEnum<{
27806
+ never: "never";
27807
+ inherit: "inherit";
27808
+ always: "always";
27809
+ cutoff: "cutoff";
27810
+ }>;
27811
+ cutoffHours: z.ZodOptional<z.ZodNumber>;
27812
+ }, z.core.$strict>;
27813
+ transfers: z.ZodObject<{
27814
+ mode: z.ZodEnum<{
27815
+ never: "never";
27816
+ inherit: "inherit";
27817
+ always: "always";
27818
+ cutoff: "cutoff";
27819
+ }>;
27820
+ cutoffHours: z.ZodOptional<z.ZodNumber>;
27821
+ }, z.core.$strict>;
27822
+ }, z.core.$strict>;
27823
+ }, z.core.$strict>>;
27722
27824
  waitlist: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
27723
27825
  kind: z.ZodLiteral<"disabled">;
27724
27826
  }, z.core.$strict>, z.ZodObject<{
@@ -17,9 +17,9 @@ declare const listSitesResponseSchema: z.ZodObject<{
17
17
  slug: z.ZodString;
18
18
  createdAt: z.ZodNullable<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
19
19
  role: z.ZodEnum<{
20
+ editor: "editor";
20
21
  owner: "owner";
21
22
  administrator: "administrator";
22
- editor: "editor";
23
23
  team_member: "team_member";
24
24
  }>;
25
25
  deploymentMode: z.ZodLiteral<"managed">;
@@ -33,9 +33,9 @@ declare const listSitesResponseSchema: z.ZodObject<{
33
33
  slug: z.ZodString;
34
34
  createdAt: z.ZodNullable<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
35
35
  role: z.ZodEnum<{
36
+ editor: "editor";
36
37
  owner: "owner";
37
38
  administrator: "administrator";
38
- editor: "editor";
39
39
  team_member: "team_member";
40
40
  }>;
41
41
  deploymentMode: z.ZodLiteral<"headless_cms">;
@@ -44,9 +44,9 @@ declare const listSitesResponseSchema: z.ZodObject<{
44
44
  }, z.core.$strip>, z.ZodObject<{
45
45
  tag: z.ZodLiteral<"insufficient_role">;
46
46
  requiredRole: z.ZodEnum<{
47
+ editor: "editor";
47
48
  owner: "owner";
48
49
  administrator: "administrator";
49
- editor: "editor";
50
50
  team_member: "team_member";
51
51
  }>;
52
52
  }, z.core.$strip>], "tag">;
@@ -56,9 +56,9 @@ declare const listSitesResponseSchema: z.ZodObject<{
56
56
  slug: z.ZodString;
57
57
  createdAt: z.ZodNullable<z.ZodString & z.ZodType<string, string, z.core.$ZodTypeInternals<string, string>>>;
58
58
  role: z.ZodEnum<{
59
+ editor: "editor";
59
60
  owner: "owner";
60
61
  administrator: "administrator";
61
- editor: "editor";
62
62
  team_member: "team_member";
63
63
  }>;
64
64
  deploymentMode: z.ZodLiteral<"headless_full">;
@@ -67,9 +67,9 @@ declare const listSitesResponseSchema: z.ZodObject<{
67
67
  }, z.core.$strip>, z.ZodObject<{
68
68
  tag: z.ZodLiteral<"insufficient_role">;
69
69
  requiredRole: z.ZodEnum<{
70
+ editor: "editor";
70
71
  owner: "owner";
71
72
  administrator: "administrator";
72
- editor: "editor";
73
73
  team_member: "team_member";
74
74
  }>;
75
75
  }, z.core.$strip>], "tag">;
@@ -1,4 +1,6 @@
1
1
  import type { EventOnlineDetails } from './bookingRecords';
2
+ import type { AttendeeNotificationIntent } from './occurrenceScheduling';
3
+ import type { EventVisibility } from './event-visibility';
2
4
  import type { CreateEventRequest } from './eventManagementContracts';
3
5
  import { BOOKING_SETTINGS_SECTION_KEYS } from './bookingSettingsSections';
4
6
  import { type ResolvedEventCatalogue, type EventPreset } from '../../core/src/index';
@@ -153,7 +155,7 @@ export type EventSeriesRecord = {
153
155
  capacity: number | null;
154
156
  deliveryMode: EventDeliveryMode;
155
157
  capacityByAttendanceMode: EventCapacityByAttendanceMode;
156
- visibility: 'public' | 'private' | 'unlisted';
158
+ visibility: EventVisibility;
157
159
  status: 'active' | 'draft' | 'archived' | 'cancelled' | 'completed';
158
160
  recurrenceRule: string | null;
159
161
  exceptionsJson: string[];
@@ -190,6 +192,11 @@ export type UpdateEventSeriesRequest = Partial<Omit<CreateEventRequest, 'creatio
190
192
  migrationPricingOptionIndex?: number | null;
191
193
  /** If true, regenerate future occurrences based on updated schedule */
192
194
  regenerateSchedule?: boolean;
195
+ /**
196
+ * The "let everyone booked know" tick. Only a change of the event's usual
197
+ * venue can notify; the server decides whether there is anything to send.
198
+ */
199
+ attendeeNotification?: AttendeeNotificationIntent;
193
200
  };
194
201
  export type BookingModuleToggles = {
195
202
  appointments: boolean;
@@ -329,6 +336,16 @@ export type TeamMemberProfilePageSettings = {
329
336
  export type { EventDestinationMode, EventDestinationPolicy, EventDestinationPreset, EventDestinationPresetOverrides, } from './event-destination-policy';
330
337
  export type { EventListingDestination, EventListingDestinationInput, PublicEventDestination, } from './event-listing-destination';
331
338
  export { DEFAULT_EVENT_DESTINATION_POLICY, eventDestinationModeValues, eventDestinationPresetValues, isEventDestinationMode, macadamiaDefaultEventDestinationPolicy, resolveEventDestinationMode, } from './event-destination-policy';
339
+ /**
340
+ * One event type's own choice for QR tickets and for asking each guest's
341
+ * details. An absent value means the type follows the site-wide one
342
+ * (`eventTicketingDefaultEnabled`, `collectAllAttendeeDetails`).
343
+ */
344
+ export type EventTypeBookingDefault = Readonly<{
345
+ tickets?: boolean;
346
+ guestDetails?: boolean;
347
+ }>;
348
+ export type EventTypeBookingDefaults = Partial<Record<EventPreset, EventTypeBookingDefault>>;
332
349
  export type BookingSettings = {
333
350
  modules: BookingModuleToggles;
334
351
  verticalConfig?: SiteVerticalBookingConfig;
@@ -374,6 +391,12 @@ export type BookingSettings = {
374
391
  eventTicketingDefaultEnabled: boolean;
375
392
  /** Require guest details (name, phone) for all attendees, not just the booker */
376
393
  collectAllAttendeeDetails: boolean;
394
+ /**
395
+ * Per event type choices for tickets and guest details. A type with no value
396
+ * follows the two site-wide settings above; an event's own choice wins over
397
+ * both.
398
+ */
399
+ eventTypeBookingDefaults: EventTypeBookingDefaults;
377
400
  /** Site-wide cancellation/refund/transfer policies for event bookings */
378
401
  eventBookingPolicies: EventBookingPolicies;
379
402
  /** Site-wide refund policy for appointment bookings */
@@ -1,4 +1,5 @@
1
1
  import type { APIEndpoint } from './apiEndpointTypes';
2
+ import type { BookingPeopleEndpoints } from './bookingPeople';
2
3
  import type { CreateBlackoutRequest, CreateBlackoutResponse, DeleteBlackoutResponse, DeleteServiceSpecificAvailabilityResponse, GetAvailableSlotsQuery, GetAvailableSlotsResponse, ListAvailabilityRulesResponse, ListBlackoutsResponse, SetServiceSpecificAvailabilityRequest, SetServiceSpecificAvailabilityResponse, SetWeeklyAvailabilityRequest, SetWeeklyAvailabilityResponse } from './availability';
3
4
  import type { CalendarStatusResponse, BookingCalendarFeedMutationResponse, BookingCalendarFeedStatusResponse, DisconnectCalendarResponse, UpdateCalendarPreferencesRequest, UpdateCalendarPreferencesResponse } from './calendar';
4
5
  import type { BookingRequirementConfigRequest, BookingRequirementConfigResponse, CreateAppointmentRequest, CreateAppointmentResponse } from './bookings';
@@ -6,12 +7,13 @@ import type { BookingClosureConflictResponse, CreateBookingClosureRequest, Creat
6
7
  import type { BookingSettingsResponse, UpdateBookingSettingsRequest } from './bookingConfig';
7
8
  import type * as Events from './eventManagementContracts';
8
9
  import type * as EventEndpoints from './bookingManagementEventEndpointTypes';
10
+ import type { WholeSeriesEndpoints } from './bookingManagementEventEndpointTypes';
9
11
  import type { AdjustCustomerPassDetailsRequest, AdjustCustomerPassDetailsResponse, AssignCustomerMembershipRequest, AssignCustomerMembershipResponse, AssignCustomerPassRequest, AssignCustomerPassResponse, CancelCustomerMembershipAtPeriodEndRequest, CancelCustomerMembershipAtPeriodEndResponse, ConvertCreditRefundToCashRequest, ConvertCreditRefundToCashResponse, ListCustomerMembershipPaymentRefundsResponse, ListCustomerMembershipPaymentsResponse, ListCustomerPassRefundsResponse, RefundCustomerMembershipPaymentRequest, RefundCustomerMembershipPaymentResponse, RefundCustomerPassRequest, RefundCustomerPassResponse } from './bookingAdjustments';
10
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';
11
- import type { AddEventOccurrenceAttendeeRequest, AddEventOccurrenceAttendeeResponse, AdjustCustomerCreditRequest, AdjustCustomerCreditResponse, BookingEventSeriesAttendee, BookingMembershipResponse, BookingPassResponse, CheckEventAdminEligibilityRequest, CheckEventAdminEligibilityResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, RectifyBookingCustomerProfileRequest, RectifyBookingCustomerProfileResponse, RectifyBookingParticipantIdentityRequest, RectifyBookingParticipantIdentityResponse, CreateBookingMembershipRequest, CreateBookingPassRequest, CreateDiscountCodeRequest, CreateEventCategoryRequest, CreateOccurrenceRequest, CreateVenueRequest, DeleteDiscountCodeResponse, DeleteVenueResponse, DiscountCodeResponse, EventCategoryResponse, EventOccurrenceRecord, GeocodeVenueRequest, GeocodeVenueResponse, GetCustomerCreditResponse, GetMoneyReportRequest, GetMoneyReportResponse, ExportBookingQuestionAnswersCsvRequest, ExportBookingLedgerCsvRequest, ListBookingActivityRequest, ListBookingActivityResponse, ListBookingCustomersRequest, ListBookingCustomersResponse, ListBookingMembershipsRequest, ListBookingMembershipsResponse, ListBookingPassesRequest, ListBookingPassesResponse, ListCustomerAttendancesRequest, ListCustomerAttendancesResponse, ListCustomerMembershipsResponse, ListCustomerPassesResponse, CreatePersonRecordEntryRequest, CreatePersonRecordEntryResponse, ListDiscountCodesResponse, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, ListEventCategoriesResponse, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, UpdateBookingMembershipRequest, UpdateBookingPassRequest, UpdateDiscountCodeRequest, UpdateEventCategoryRequest, UpdateVenueRequest, VenueRecord } from './bookingRecords';
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';
12
14
  import type * as OccurrenceScheduling from './occurrenceScheduling';
13
15
  import type { ApplyAppointmentSetupRequest, ApplyAppointmentSetupResponse, AppointmentSetupResponse } from './appointmentSetup';
14
- import type { AddEventSeriesRegistrationRequest, AddEventSeriesRegistrationResponse, EventSeriesContentOwnershipRequest, EventSeriesContentOwnershipResponse, DashboardWaitlistListResponse, DeleteEventOfferingResponse, ListEventSeriesRegistrationsResponse, UpdateEventSeriesRegistrationRequest, UpdateEventSeriesRegistrationResponse, WaitlistDashboardActionResponse } from './wholeSeriesRuns';
16
+ import type { AddEventSeriesRegistrationRequest, AddEventSeriesRegistrationResponse, EventSeriesContentOwnershipRequest, EventSeriesContentOwnershipResponse, DashboardWaitlistListResponse, DeleteEventOfferingResponse, ListEventSeriesRegistrationsResponse, WaitlistDashboardActionResponse } from './wholeSeriesRuns';
15
17
  import type { GetParticipantMessageRecipientsRequest, ListParticipantMessageHistoryRequest, ParticipantMessageHistoryResponse, ParticipantMessageRecipientsResponse, ParticipantMessageSendResponse, SendParticipantMessageRequest, TestParticipantMessageRequest, TestParticipantMessageResponse } from './participantMessaging';
16
18
  import type { GetEmailSettingsResponse, GetEventSeriesEmailTemplatesResponse, GetNewsletterCampaignRecipientsSummaryResponse, GetNewsletterCampaignResponse, GetNewsletterCampaignStatsResponse, GetNewsletterSettingsResponse, GetNewsletterSubscriberResponse, GetNewsletterTemplateResponse, ListNewsletterCampaignsResponse, ListNewsletterListMembersQuery, ListNewsletterListMembersResponse, ListNewsletterListsResponse, ListNewsletterSubscribersQuery, ListNewsletterSubscribersResponse, ListNewsletterTagsResponse, ListNewsletterTemplatesResponse, PreviewEmailTemplateRequest, PreviewEmailTemplateResponse, PreviewNewsletterTemplateRequest, PreviewNewsletterTemplateResponse, RectifyNewsletterSubscriberRequest, RectifyNewsletterSubscriberResponse, SendTestEmailRequest, SendTestEmailResponse, UpdateEmailSettingsRequest, UpdateEmailSettingsResponse, UpdateEventSeriesEmailTemplatesRequest, UpdateEventSeriesEmailTemplatesResponse, UpdateNewsletterCampaignRequest, UpdateNewsletterCampaignResponse, UpdateNewsletterListMembershipsRequest, UpdateNewsletterListMembershipsResponse, UpdateNewsletterListRequest, UpdateNewsletterListResponse, UpdateNewsletterSettingsRequest, UpdateNewsletterSettingsResponse, UpdateNewsletterSubscriberRequest, UpdateNewsletterSubscriberResponse, UpdateNewsletterTemplateRequest, UpdateNewsletterTemplateResponse, UpsertNewsletterSubscriberRequest, UpsertNewsletterSubscriberResponse, ImportNewsletterSubscribersCsvResponse, ExportNewsletterSubscribersCsvResponse, DeleteNewsletterSubscriberResponse, AnonymizeNewsletterSubscriberResponse, ExportNewsletterSubscriberDataResponse, CreateNewsletterListRequest, CreateNewsletterListResponse, DeleteNewsletterListResponse, CreateNewsletterTemplateRequest, CreateNewsletterTemplateResponse, DeleteNewsletterTemplateResponse, CreateNewsletterCampaignRequest, CreateNewsletterCampaignResponse, DeleteNewsletterCampaignResponse, SendNewsletterCampaignNowRequest, SendNewsletterCampaignNowResponse, TestSendNewsletterCampaignRequest, TestSendNewsletterCampaignResponse } from './communications';
17
19
  import type { CreateNewsletterSubscribersImportUploadUrlRequest, CreateNewsletterSubscribersImportUploadUrlResponse, ImportNewsletterSubscribersCsvRequest } from './siteInfrastructure';
@@ -21,7 +23,7 @@ import type { SchedulePreviewRequest, SchedulePreviewResponse } from './aiPlaygr
21
23
  * Booking-management endpoints group scheduler, operational bookings admin, course,
22
24
  * newsletter, and customer-ledger APIs that are tightly coupled in dashboard flows.
23
25
  */
24
- export type BookingManagementAPIEndpoints = {
26
+ export type BookingManagementAPIEndpoints = WholeSeriesEndpoints & BookingPeopleEndpoints & {
25
27
  getBookingSettings: APIEndpoint<never, {
26
28
  siteId: string;
27
29
  }, BookingSettingsResponse>;
@@ -519,24 +521,17 @@ export type BookingManagementAPIEndpoints = {
519
521
  status?: string;
520
522
  excludeCancelled?: string;
521
523
  }, Blob>;
522
- updateEventSeriesRegistration: APIEndpoint<UpdateEventSeriesRegistrationRequest, {
523
- siteId: string;
524
- seriesId: string;
525
- registrationId: string;
526
- }, UpdateEventSeriesRegistrationResponse>;
524
+ updateEventSeriesRegistration: EventEndpoints.UpdateRegistration;
525
+ saveEventSeriesRegistrationAnswers: EventEndpoints.SaveRegistrationAnswers;
527
526
  listEvents: APIEndpoint<never, {
528
527
  siteId: string;
529
528
  status?: 'draft' | 'active' | 'archived' | 'cancelled' | 'completed';
530
- visibility?: 'public' | 'private' | 'unlisted';
529
+ visibility?: 'public' | 'unlisted';
531
530
  }, Events.EventRecord[]>;
532
- createEvent: APIEndpoint<Events.CreateEventRequest, {
533
- siteId: string;
534
- }, Events.CreateEventRecord>;
531
+ createEvent: EventEndpoints.Create;
535
532
  transitionEventLifecycle: EventEndpoints.Lifecycle;
536
533
  updateEventIdentity: EventEndpoints.UpdateIdentity;
537
- createWholeSeriesRun: EventEndpoints.CreateWholeSeriesRun;
538
- updateWholeSeriesRun: EventEndpoints.UpdateWholeSeriesRun;
539
- cancelWholeSeriesRun: EventEndpoints.CancelWholeSeriesRun;
534
+ updateEventAddress: EventEndpoints.UpdateAddress;
540
535
  getEventSeries: EventEndpoints.GetSeries;
541
536
  updateEventSeries: EventEndpoints.UpdateSeries;
542
537
  deleteEventSeries: EventEndpoints.DeleteSeries;
@@ -635,7 +630,7 @@ export type BookingManagementAPIEndpoints = {
635
630
  attendeeId: string;
636
631
  }, ListEventAttendeeTransfersResponse>;
637
632
  listEventSeriesOccurrences: EventEndpoints.OccurrenceList;
638
- createEventOccurrence: APIEndpoint<CreateOccurrenceRequest, {
633
+ createEventOccurrence: APIEndpoint<OccurrenceScheduling.CreateOccurrenceRequest, {
639
634
  siteId: string;
640
635
  seriesId: string;
641
636
  }, EventOccurrenceRecord>;
@@ -784,12 +779,6 @@ export type BookingManagementAPIEndpoints = {
784
779
  listDiscountRedemptions: APIEndpoint<never, {
785
780
  siteId: string;
786
781
  } & ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse>;
787
- listBookingCustomers: APIEndpoint<never, {
788
- siteId: string;
789
- } & ListBookingCustomersRequest, ListBookingCustomersResponse>;
790
- exportBookingCustomersCsv: APIEndpoint<never, {
791
- siteId: string;
792
- } & ListBookingCustomersRequest, Blob>;
793
782
  createBookingCustomer: APIEndpoint<CreateBookingCustomerRequest, {
794
783
  siteId: string;
795
784
  }, CreateBookingCustomerResponse>;
@@ -820,10 +809,6 @@ export type BookingManagementAPIEndpoints = {
820
809
  convertCreditRefundToCash: APIEndpoint<ConvertCreditRefundToCashRequest, {
821
810
  siteId: string;
822
811
  }, ConvertCreditRefundToCashResponse>;
823
- listCustomerAttendances: APIEndpoint<never, {
824
- siteId: string;
825
- customerId: string;
826
- } & ListCustomerAttendancesRequest, ListCustomerAttendancesResponse>;
827
812
  createPersonRecordEntry: APIEndpoint<CreatePersonRecordEntryRequest, {
828
813
  siteId: string;
829
814
  }, CreatePersonRecordEntryResponse>;
@@ -1,8 +1,13 @@
1
1
  import type { EventOfferingId, EventSeriesId } from '../../core/src/index';
2
2
  import type { APIEndpoint } from './apiEndpointTypes';
3
+ import type * as Events from './eventManagementContracts';
3
4
  import type { EventSeriesRecord, UpdateEventSeriesRequest } from './bookingConfig';
4
5
  import type { EventOccurrenceListRecord } from './bookingRecords';
5
- import type { CancelWholeSeriesRunRequest, CancelWholeSeriesRunResponse, CreateWholeSeriesRunRequest, EventLifecycleTransitionRequest, EventLifecycleTransitionResponse, UpdateEventIdentityRequest, UpdateEventIdentityResponse, UpdateWholeSeriesRunRequest, WholeSeriesRunMutationResponse } from './eventManagementContracts';
6
+ import type { SaveEventSeriesRegistrationAnswersRequest, SaveEventSeriesRegistrationAnswersResponse, UpdateEventSeriesRegistrationRequest, UpdateEventSeriesRegistrationResponse } from './wholeSeriesRuns';
7
+ import type { CancelWholeSeriesRunRequest, CancelWholeSeriesRunResponse, CourseBookingSettingsRequest, CourseBookingSettingsResponse, CreateWholeSeriesRunRequest, EventLifecycleTransitionRequest, EventLifecycleTransitionResponse, UpdateEventAddressRequest, UpdateEventAddressResponse, UpdateEventIdentityRequest, UpdateEventIdentityResponse, UpdateWholeSeriesRunRequest, WholeSeriesRunMutationResponse } from './eventManagementContracts';
8
+ export type Create = APIEndpoint<Events.CreateEventRequest, {
9
+ siteId: string;
10
+ }, Events.CreateEventRecord>;
6
11
  export type Lifecycle = APIEndpoint<EventLifecycleTransitionRequest, {
7
12
  siteId: string;
8
13
  eventId: EventOfferingId;
@@ -11,6 +16,10 @@ export type UpdateIdentity = APIEndpoint<UpdateEventIdentityRequest, {
11
16
  siteId: string;
12
17
  eventId: EventOfferingId;
13
18
  }, UpdateEventIdentityResponse>;
19
+ export type UpdateAddress = APIEndpoint<UpdateEventAddressRequest, {
20
+ siteId: string;
21
+ eventId: EventOfferingId;
22
+ }, UpdateEventAddressResponse>;
14
23
  export type CancelWholeSeriesRun = APIEndpoint<CancelWholeSeriesRunRequest, {
15
24
  siteId: string;
16
25
  eventId: EventOfferingId;
@@ -26,6 +35,21 @@ export type CreateWholeSeriesRun = APIEndpoint<CreateWholeSeriesRunRequest, {
26
35
  eventId: EventOfferingId;
27
36
  }, WholeSeriesRunMutationResponse>;
28
37
  export type UpdateWholeSeriesRun = APIEndpoint<UpdateWholeSeriesRunRequest, RunParams, WholeSeriesRunMutationResponse>;
38
+ /** The course-wide booking settings, written onto every run in one go. */
39
+ export type UpdateCourseBookingSettings = APIEndpoint<CourseBookingSettingsRequest, {
40
+ siteId: string;
41
+ eventId: EventOfferingId;
42
+ }, CourseBookingSettingsResponse>;
43
+ /**
44
+ * Every booking on every run of one course, as one CSV, narrowed to the run
45
+ * and status the Attendees tab is filtered by.
46
+ */
47
+ export type ExportEventOfferingRegistrationsCsv = APIEndpoint<never, {
48
+ siteId: string;
49
+ eventOfferingId: string;
50
+ runId?: string;
51
+ status?: string;
52
+ }, Blob>;
29
53
  type SeriesParams = Omit<RunParams, 'runId'> & {
30
54
  seriesId: EventSeriesId;
31
55
  };
@@ -41,4 +65,24 @@ export type OccurrenceList = APIEndpoint<never, {
41
65
  limit?: number;
42
66
  offset?: number;
43
67
  }, EventOccurrenceListRecord[]>;
68
+ /**
69
+ * The whole-series run and course commands, grouped so the booking endpoint map
70
+ * can spread them in one line. Adding the course Booking tab's writer pushed
71
+ * that map past its `max-lines` baseline, the same reason the public checkout
72
+ * block was extracted from `endpoints.ts`.
73
+ */
74
+ export type WholeSeriesEndpoints = {
75
+ createWholeSeriesRun: CreateWholeSeriesRun;
76
+ updateWholeSeriesRun: UpdateWholeSeriesRun;
77
+ cancelWholeSeriesRun: CancelWholeSeriesRun;
78
+ updateCourseBookingSettings: UpdateCourseBookingSettings;
79
+ exportEventOfferingRegistrationsCsv: ExportEventOfferingRegistrationsCsv;
80
+ };
81
+ type ScopedRegistrationParams = Readonly<{
82
+ siteId: string;
83
+ seriesId: string;
84
+ registrationId: string;
85
+ }>;
86
+ export type UpdateRegistration = APIEndpoint<UpdateEventSeriesRegistrationRequest, ScopedRegistrationParams, UpdateEventSeriesRegistrationResponse>;
87
+ export type SaveRegistrationAnswers = APIEndpoint<SaveEventSeriesRegistrationAnswersRequest, ScopedRegistrationParams, SaveEventSeriesRegistrationAnswersResponse>;
44
88
  export {};
@@ -1,4 +1,6 @@
1
1
  import type { TimeSlot } from './availability';
2
+ import type { PublicCreateBookingAppointmentRequest, PublicCreateBookingAppointmentResponse } from './publicAppointmentBookingContracts';
3
+ export type { PublicCreateBookingAppointmentRequest, PublicCreateBookingAppointmentResponse, PublicBookingAppointmentSummary, PublicBookingCustomerSummary, } from './publicAppointmentBookingContracts';
2
4
  import type { InviteSiteMemberEmailResult, SiteInvitation, StaffOperationalCapability } from './accessAdmin';
3
5
  import type { EventSeriesRegistrationRefundFailedCode, EventAttendeeRefundFailedCode } from './bookingRefundOutcomes';
4
6
  /**
@@ -647,50 +649,6 @@ export type PublicWeeklySlotAvailabilityResponse = {
647
649
  startDate: string;
648
650
  endDate: string;
649
651
  };
650
- export type PublicCreateBookingAppointmentRequest = {
651
- formId: string;
652
- serviceId: string;
653
- resourceId?: string | null;
654
- startAt: string;
655
- endAt: string;
656
- customFields: Record<string, unknown>;
657
- timezone?: string;
658
- discountCode?: string;
659
- selectedSlidingAmount?: number;
660
- selectedCollectionOptionKind?: 'upfront' | 'deferred_manual' | 'instalment_plan' | 'flexible_balance';
661
- altchaSolution?: string | null;
662
- successUrl?: string;
663
- cancelUrl?: string;
664
- };
665
- export type PublicBookingAppointmentSummary = {
666
- id: string;
667
- status: 'confirmed' | 'pending' | 'cancelled';
668
- startAt: string;
669
- endAt: string;
670
- timezone: string;
671
- resourceName: string | null;
672
- };
673
- export type PublicBookingCustomerSummary = {
674
- id: string;
675
- email: string | null;
676
- name: string | null;
677
- phone: string | null;
678
- };
679
- export type PublicCreateBookingAppointmentResponse = {
680
- type: 'booked';
681
- orderId: string;
682
- orderNumber: string;
683
- appointment: PublicBookingAppointmentSummary;
684
- customer: PublicBookingCustomerSummary;
685
- } | {
686
- type: 'checkout_redirect';
687
- orderId: string;
688
- orderNumber: string;
689
- checkoutUrl: string;
690
- sessionId: string;
691
- appointment: PublicBookingAppointmentSummary;
692
- customer: PublicBookingCustomerSummary;
693
- };
694
652
  export type PublicBookingAppointmentStatusResponse = {
695
653
  appointmentId: string;
696
654
  appointmentStatus: 'pending' | 'confirmed' | 'cancelled';
@@ -0,0 +1,92 @@
1
+ import type { APIEndpoint } from './apiEndpointTypes';
2
+ import type { CustomerAggregateSnapshot } from './bookingRecords';
3
+ export declare const PEOPLE_LIST_SORT_VALUES: readonly ["name", "passes", "memberships", "lastBooking", "added"];
4
+ export type PeopleListSort = (typeof PEOPLE_LIST_SORT_VALUES)[number];
5
+ export declare const PEOPLE_LIST_FILTER_VALUES: readonly ["everyone", "hasBought", "hasActivePass", "hasMembership", "guests", "nothingBought"];
6
+ export type PeopleListFilter = (typeof PEOPLE_LIST_FILTER_VALUES)[number];
7
+ /**
8
+ * A person's customer account, when they have one. Guests have none: someone
9
+ * else booked for them and they haven't booked or bought anything themselves.
10
+ */
11
+ export type PersonListAccount = {
12
+ kind: 'guest';
13
+ } | {
14
+ kind: 'customer';
15
+ customerId: string;
16
+ /** Lifecycle facts; only loaded for the rows on the current page. */
17
+ aggregate: CustomerAggregateSnapshot | null;
18
+ };
19
+ export type PersonListItem = {
20
+ personId: string;
21
+ name: string | null;
22
+ email: string | null;
23
+ phone: string | null;
24
+ addedAt: string;
25
+ activePassesCount: number;
26
+ activeMembershipsCount: number;
27
+ hasBought: boolean;
28
+ /** Latest start among the person's own non-cancelled bookings, upcoming included. */
29
+ lastBookingAt: string | null;
30
+ account: PersonListAccount;
31
+ };
32
+ export type ListPeopleRequest = {
33
+ page?: number;
34
+ limit?: number;
35
+ search?: string;
36
+ sortBy?: PeopleListSort;
37
+ sortDirection?: 'asc' | 'desc';
38
+ filter?: PeopleListFilter;
39
+ };
40
+ export type ListPeopleResponse = {
41
+ people: PersonListItem[];
42
+ pagination: {
43
+ page: number;
44
+ limit: number;
45
+ total: number;
46
+ };
47
+ };
48
+ /** What can be attached to a person, in the order the dialog lists it. */
49
+ export declare const PERSON_DELETION_BLOCKER_CATEGORY_VALUES: readonly ["bookings", "guest_places", "waitlist_places", "payments", "orders", "passes", "memberships", "credit", "digital_products", "discounts", "gifts", "notes", "forms", "uploads", "contact_corrections"];
50
+ export type PersonDeletionBlockerCategory = (typeof PERSON_DELETION_BLOCKER_CATEGORY_VALUES)[number];
51
+ /** One attached category with a count above zero. */
52
+ export type PersonDeletionBlocker = {
53
+ category: PersonDeletionBlockerCategory;
54
+ count: number;
55
+ };
56
+ /** GET .../people/{personId}/deletion-check */
57
+ export type PersonDeletionCheckResponse = {
58
+ kind: 'deletable';
59
+ /** A newsletter subscriber with the same email is a separate record and stays. */
60
+ stillOnNewsletterList: boolean;
61
+ } | {
62
+ kind: 'blocked';
63
+ blockers: PersonDeletionBlocker[];
64
+ };
65
+ /**
66
+ * DELETE .../people/{personId}. `blocked` means something was attached by the
67
+ * time of the delete, with the fresh counts, so the dialog can say so without
68
+ * a second call.
69
+ */
70
+ export type DeletePersonResponse = {
71
+ kind: 'deleted';
72
+ } | {
73
+ kind: 'blocked';
74
+ blockers: PersonDeletionBlocker[];
75
+ };
76
+ /** The People endpoints' request and response types. */
77
+ export type BookingPeopleEndpoints = {
78
+ listPeople: APIEndpoint<never, {
79
+ siteId: string;
80
+ } & ListPeopleRequest, ListPeopleResponse>;
81
+ exportPeopleCsv: APIEndpoint<never, {
82
+ siteId: string;
83
+ } & ListPeopleRequest, Blob>;
84
+ checkPersonDeletion: APIEndpoint<never, {
85
+ siteId: string;
86
+ personId: string;
87
+ }, PersonDeletionCheckResponse>;
88
+ deletePerson: APIEndpoint<never, {
89
+ siteId: string;
90
+ personId: string;
91
+ }, DeletePersonResponse>;
92
+ };
@@ -0,0 +1,38 @@
1
+ /**
2
+ * People endpoints (#1356): the People list, its CSV export, and deleting a
3
+ * person when nothing is attached to them.
4
+ */
5
+ export declare const BOOKING_PEOPLE_ENDPOINT_DEFINITIONS: {
6
+ listPeople: {
7
+ path: "/sites/{siteId}/bookings/people";
8
+ method: "GET";
9
+ tags: ("site-{siteId}" | "customers-{siteId}")[];
10
+ auth: "user";
11
+ responseKind: "json";
12
+ errors: "server:internal_error"[];
13
+ };
14
+ exportPeopleCsv: {
15
+ path: "/sites/{siteId}/bookings/people/export.csv";
16
+ method: "GET";
17
+ tags: ("site-{siteId}" | "customers-{siteId}")[];
18
+ auth: "user";
19
+ errors: never[];
20
+ responseKind: "blob";
21
+ };
22
+ checkPersonDeletion: {
23
+ path: "/sites/{siteId}/bookings/people/{personId}/deletion-check";
24
+ method: "GET";
25
+ tags: ("site-{siteId}" | "customers-{siteId}")[];
26
+ auth: "user";
27
+ responseKind: "json";
28
+ errors: ("auth:forbidden" | "resource:not_found" | "server:internal_error")[];
29
+ };
30
+ deletePerson: {
31
+ path: "/sites/{siteId}/bookings/people/{personId}";
32
+ method: "DELETE";
33
+ tags: ("site-{siteId}" | "customers-{siteId}")[];
34
+ auth: "user";
35
+ responseKind: "json";
36
+ errors: ("auth:forbidden" | "resource:not_found" | "server:internal_error")[];
37
+ };
38
+ };