@riverbankcms/sdk 0.141.0 → 0.143.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PreviewEditorSidebar-Q-fy9GYw.mjs → PreviewEditorSidebar-DROGfMKi.mjs} +24 -15
- package/dist/{PreviewEditorUI-LYGzgk85.mjs → PreviewEditorUI-BaRjhFu-.mjs} +3 -3
- package/dist/{PreviewQueryProvider-CN0ewic5.mjs → PreviewQueryProvider-BCYICImX.mjs} +1 -1
- package/dist/{SdkPreviewModeRuntime-CoPYI5Jq.mjs → SdkPreviewModeRuntime-OIABYLES.mjs} +16 -11
- package/dist/{SiteChromeCustomizeContext-D8LePX8x.mjs → SiteChromeCustomizeContext-ohjTvZbc.mjs} +607 -545
- package/dist/_dts/api/src/billing.d.ts +6 -1
- package/dist/_dts/api/src/bookingConfig.d.ts +1 -1
- package/dist/_dts/api/src/commercePortalEndpoints.d.ts +2 -2
- package/dist/_dts/api/src/endpoints.d.ts +7 -27
- package/dist/_dts/api/src/index.d.ts +1 -1
- package/dist/_dts/api/src/publicBookingService.d.ts +1 -0
- package/dist/_dts/api/src/publicEventEndpointDefinitions.d.ts +7 -0
- package/dist/_dts/api/src/publicExperience/eventEndpoints.d.ts +48 -41
- package/dist/_dts/api/src/sdkConfig/layout.d.ts +13 -0
- package/dist/_dts/api/src/sdkContracts.d.ts +3 -8
- package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +1 -31
- package/dist/_dts/api/src/siteRuntimeEndpoints.d.ts +6 -1
- package/dist/_dts/billing/src/site-arrangements.d.ts +9 -5
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +56 -0
- package/dist/_dts/blocks/src/system/blocks/events/shared/types.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/client.d.ts +2 -1
- package/dist/_dts/blocks/src/system/runtime/api/endpoints.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/types/events.d.ts +95 -35
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/PaymentStatusStep.d.ts +10 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +0 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.contract.d.ts +12 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/event-registration.headless.planning.d.ts +2 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationCompletion.d.ts +1 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationDerivations.d.ts +12 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/registrationErrorRecovery.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/sessionStorage.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/ticketSelectionLines.d.ts +4 -5
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +9 -11
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +56 -2
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +10 -4
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/usePaymentStatusRecovery.d.ts +23 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/utils.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/events/shared/eventCollectionContract.d.ts +56 -0
- package/dist/_dts/commerce/src/purchase/event-registration-errors.d.ts +4 -4
- package/dist/_dts/commerce/src/purchase/eventCheckoutRecoveryWindow.d.ts +8 -0
- package/dist/_dts/commerce/src/purchase/index.d.ts +2 -1
- package/dist/_dts/commerce/src/purchase/stateTransitions.d.ts +1 -13
- package/dist/_dts/commerce/src/purchase/stripeCommissionMetadata.d.ts +1 -2
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +58 -45
- package/dist/_dts/editor-blocks/src/block-editor/ColourFieldOptionsProvider.d.ts +7 -0
- package/dist/_dts/editor-blocks/src/block-editor/colourFieldVisibility.d.ts +7 -0
- package/dist/_dts/editor-blocks/src/block-editor/preparedManifest.d.ts +2 -0
- package/dist/_dts/editor-blocks/src/index.d.ts +1 -0
- package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewFooterEditorPanel.d.ts +3 -6
- package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +2 -2
- package/dist/_dts/preview-next/src/client/preview/footerInspection.d.ts +16 -0
- package/dist/_dts/preview-next/src/client/preview/sdkConfig.d.ts +6 -0
- package/dist/_dts/sdk/src/config/types.d.ts +2 -18
- package/dist/_dts/sdk/src/config/validation.d.ts +6 -0
- package/dist/_dts/sdk/src/public-api/contracts.d.ts +3 -0
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/_dts/theme-core/src/footer/mode.d.ts +10 -1
- package/dist/_dts/theme-core/src/schema.d.ts +1 -7
- package/dist/_dts/theme-core/src/site-styles/effectivePageDesign.d.ts +32 -0
- package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
- package/dist/client/{BookingConsentAgreement-xJeYNdnb.mjs → BookingConsentAgreement-BoCtvzzu.mjs} +2 -2
- package/dist/client/{DiscountCodeDisclosure-DdT6uzl9.mjs → DiscountCodeDisclosure-B5S30nZk.mjs} +1 -1
- package/dist/client/{EventCombined.client-Cp28uYuM.mjs → EventCombined.client-CeZ2-zSt.mjs} +5 -5
- package/dist/client/{EventListing.client-CD6AJsMr.mjs → EventListing.client-DJN3j8B3.mjs} +2 -2
- package/dist/client/{LeafletStaticMap-DBsAi9-e.mjs → LeafletStaticMap-RjtGzDQT.mjs} +1 -1
- package/dist/client/{accordion-6dwbOKYR.mjs → accordion-DOmnDoyg.mjs} +1 -1
- package/dist/client/{bookingForm-CZE9_qPQ.mjs → bookingForm-C0vk7pgS.mjs} +5 -5
- package/dist/client/bookings.mjs +468 -534
- package/dist/client/{carousel-7VHGQARz.mjs → carousel-BZJ7pno3.mjs} +1 -1
- package/dist/client/{cart-Qg_mvQhh.mjs → cart-CaeVAHJl.mjs} +3 -3
- package/dist/client/{checkout-D84rpgdr.mjs → checkout-7wmoNDtG.mjs} +3 -3
- package/dist/client/client.mjs +559 -593
- package/dist/client/{context-Ctp3T0Wr.mjs → context-BOimxE3U.mjs} +12 -1
- package/dist/client/{dates-DJKFcI_N.mjs → dates-BnzVksi4.mjs} +2 -2
- package/dist/client/{eventCalendar-CK31z3vs.mjs → eventCalendar-l-fpaslC.mjs} +7 -7
- package/dist/client/{eventCombined-DiXd-ewn.mjs → eventCombined-DGGvssK6.mjs} +3 -3
- package/dist/client/{eventDetails-CTRgt2DK.mjs → eventDetails-DRiCm_hL.mjs} +4 -4
- package/dist/client/{eventListing-Dy9vi_j_.mjs → eventListing-dph8loYX.mjs} +3 -3
- package/dist/client/{eventRegistration-CnalYMr2.mjs → eventRegistration-ClBohmbY.mjs} +472 -531
- package/dist/client/{form-eUiMveTT.mjs → form-BLVVAnd3.mjs} +2 -2
- package/dist/client/{headerSection-Dy9kQpB1.mjs → headerSection-DHy4C8Ix.mjs} +2 -2
- package/dist/client/hooks.mjs +39 -13
- package/dist/client/{locationMap-DalCmWU0.mjs → locationMap-6HuS28ck.mjs} +2 -2
- package/dist/client/{newsletterForm-SDDPvhS0.mjs → newsletterForm-xOdcOhZP.mjs} +2 -2
- package/dist/client/{pricing-OcMz4SnX.mjs → pricing-ChinRYFt.mjs} +1 -1
- package/dist/client/{productDetail-BQrgHElM.mjs → productDetail-0chA5gbK.mjs} +3 -3
- package/dist/client/{productList-OnPn_UJj.mjs → productList-OoINA0h1.mjs} +3 -3
- package/dist/client/{propsDecoder-zBdsnS-N.mjs → propsDecoder-CIZ-hbIG.mjs} +33 -9
- package/dist/client/rendering/client.mjs +536 -550
- package/dist/client/rendering/islands.mjs +17 -17
- package/dist/client/rendering.mjs +602 -596
- package/dist/client/{scrollToBlock-BNM4Ob2Y.mjs → scrollToBlock-BPZl0gPZ.mjs} +1 -1
- package/dist/client/{shop-Bv1fPTwQ.mjs → shop-CLJFqNIq.mjs} +6 -6
- package/dist/client/{shop-commerce-D4KNGaW8.mjs → shop-commerce-PpANg5wB.mjs} +5 -5
- package/dist/client/{shop-commerce-store-2N5EV0Rc.mjs → shop-commerce-store-TA_Kz2ku.mjs} +1 -1
- package/dist/client/{shopShared-DvJGdHTV.mjs → shopShared-DzcFcA5g.mjs} +3 -3
- package/dist/client/{useEventFilters-BBBvGDHQ.mjs → useEventFilters-CFU21QZo.mjs} +5 -5
- package/dist/preview-next/before-render.mjs +11 -37
- package/dist/preview-next/client/runtime.mjs +4 -4
- package/dist/preview-next/keepAlive.mjs +11 -37
- package/dist/preview-next/middleware.mjs +11 -37
- package/dist/{previewAuthStore-Gjb6r6vz.mjs → previewAuthStore-JA6-I_sL.mjs} +11 -37
- package/dist/{sdk-runtime-Defnbfzw.mjs → sdk-runtime-CDKl0Fr7.mjs} +2 -2
- package/dist/{separator-CZXO3Sb0.mjs → separator-BTp96X32.mjs} +1 -1
- package/dist/server/components.mjs +80 -51
- package/dist/server/config-validation.mjs +43 -14
- package/dist/server/config.mjs +43 -14
- package/dist/server/data.mjs +39 -13
- package/dist/server/index.mjs +12 -38
- package/dist/server/next.mjs +40 -53
- package/dist/server/page-converter.mjs +20 -8
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +80 -51
- package/dist/server/rendering.mjs +80 -51
- package/dist/server/routing.mjs +52 -17
- package/dist/server/server.mjs +40 -51
- package/dist/server/theme-bridge.mjs +10 -8
- package/dist/server/theme.mjs +10 -8
- package/package.json +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/checkoutRecovery.d.ts +0 -14
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useCheckoutRecovery.d.ts +0 -8
|
@@ -31,6 +31,8 @@ export type BillingCheckoutContinuation = {
|
|
|
31
31
|
siteId: string;
|
|
32
32
|
};
|
|
33
33
|
export type BillingCheckoutRequest = {
|
|
34
|
+
/** Stable for one customer click so transport retries cannot create another session. */
|
|
35
|
+
attemptId: string;
|
|
34
36
|
/** Plan ID (e.g., 'solo') */
|
|
35
37
|
planId: BillingPlanId;
|
|
36
38
|
/** Billing interval */
|
|
@@ -43,6 +45,9 @@ export type BillingCheckoutResponse = {
|
|
|
43
45
|
checkoutUrl: string;
|
|
44
46
|
};
|
|
45
47
|
export type SiteBillingCheckoutResponse = BillingCheckoutResponse;
|
|
48
|
+
export type SiteBillingCheckoutRequest = Readonly<{
|
|
49
|
+
attemptId: string;
|
|
50
|
+
}>;
|
|
46
51
|
export type BillingSummaryResponse = {
|
|
47
52
|
status: string;
|
|
48
53
|
plan: {
|
|
@@ -108,6 +113,6 @@ export declare function changePlan(apiClient: ApiClient, { attemptId, planId, in
|
|
|
108
113
|
options?: RequestInit;
|
|
109
114
|
}): Promise<ChangePlanResponse>;
|
|
110
115
|
export declare function createBillingPortalSession(apiClient: ApiClient, options?: RequestInit): Promise<BillingPortalSessionResponse>;
|
|
111
|
-
export declare function billingCheckout(apiClient: ApiClient, { planId, interval, continuation, options, }: BillingCheckoutRequest & {
|
|
116
|
+
export declare function billingCheckout(apiClient: ApiClient, { attemptId, planId, interval, continuation, options, }: BillingCheckoutRequest & {
|
|
112
117
|
options?: RequestInit;
|
|
113
118
|
}): Promise<BillingCheckoutResponse>;
|
|
@@ -342,7 +342,7 @@ export type BookingSettings = {
|
|
|
342
342
|
currency: string;
|
|
343
343
|
defaultVenueId: string | null;
|
|
344
344
|
calendarDisplay: 'list' | 'calendar';
|
|
345
|
-
/** If enabled,
|
|
345
|
+
/** If enabled, operators may issue refunds as site credit. */
|
|
346
346
|
refundsIssueCredit: boolean;
|
|
347
347
|
remindersEnabled: boolean;
|
|
348
348
|
appointmentReminderHours: number;
|
|
@@ -2,7 +2,7 @@ import type { AppointmentBookingQuestionsTaskDetail, CustomerEventSeriesRegistra
|
|
|
2
2
|
import type { APIEndpoint } from './apiEndpointTypes';
|
|
3
3
|
import type { DeleteAccountRequest, DeleteAccountResponse } from './accessAdmin';
|
|
4
4
|
import type { AiPlaygroundApplyRequest, AiPlaygroundApplyResponse } from './aiPlayground';
|
|
5
|
-
import type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCostResponse } from './billing';
|
|
5
|
+
import type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCheckoutRequest, SiteBillingCostResponse } from './billing';
|
|
6
6
|
import type { CreateSiteFontUploadUrlRequest, CreateSiteFontUploadUrlResponse, DeleteSiteFontFileRequest, DeleteSiteFontFileResponse, ExportBackupRequest, FontRecord, GetSiteFontResponse, ListPublicSiteFontsResponse, ListSiteFontsResponse, UpdateSiteFontRequest, UpdateSiteFontResponse, UploadSiteFontRequest, UploadSiteFontResponse } from './siteAssets';
|
|
7
7
|
import type { AdminSiteBillingArrangementResponse, AdminResolveSiteBillingManualReviewRequest, AdminResolveSiteBillingManualReviewResponse, AdminScheduleBillingComponentEndRequest, AdminScheduleBillingComponentEndResponse, AdminUpdateSiteBillingArrangementRequest, AdminUpdateSiteBillingArrangementResponse, CancelFlexibleBalanceBookingDueToNonPaymentRequest, CancelShopOrderItemRequest, CancelShopOrderItemResponse, CancelShopOrderRequest, CancelShopOrderResponse, CreateShopOrderPaymentLinkResponse, CreateOrderShipmentRequest, CreateOrderShipmentResponse, EditShopOrderAddressRequest, FlexibleBalanceAdminActionResponse, PortalAppointmentWithDetails, RefundShopOrderResponse, ReopenFlexibleBalanceBookingAfterNonPaymentCancellationRequest, SendShopOrderPaymentReminderResponse, SettleShopOrderPaymentRequest, SettleShopOrderPaymentResponse, ShopOrderDigitalFulfillmentRequest, ShopOrderDigitalFulfillmentResponse } from './siteOperations';
|
|
8
8
|
import type { PreviewRefreshRequest, PreviewRefreshResponse } from './preview-auth';
|
|
@@ -22,7 +22,7 @@ export type CommercePortalAPIEndpoints = {
|
|
|
22
22
|
siteBillingCost: APIEndpoint<never, {
|
|
23
23
|
siteId: string;
|
|
24
24
|
}, SiteBillingCostResponse>;
|
|
25
|
-
siteBillingCheckout: APIEndpoint<
|
|
25
|
+
siteBillingCheckout: APIEndpoint<SiteBillingCheckoutRequest, {
|
|
26
26
|
siteId: string;
|
|
27
27
|
}, SiteBillingCheckoutResponse>;
|
|
28
28
|
deleteAccount: APIEndpoint<DeleteAccountRequest, never, DeleteAccountResponse>;
|
|
@@ -471,20 +471,6 @@ export declare const API_ENDPOINTS: {
|
|
|
471
471
|
readonly auth: "service";
|
|
472
472
|
readonly responseKind: "json";
|
|
473
473
|
};
|
|
474
|
-
readonly sdkUpsertTheme: {
|
|
475
|
-
readonly path: "/sdk/{siteId}/theme";
|
|
476
|
-
readonly method: "POST";
|
|
477
|
-
readonly auth: "service";
|
|
478
|
-
readonly responseKind: "json";
|
|
479
|
-
readonly errors: readonly ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
|
|
480
|
-
};
|
|
481
|
-
readonly sdkApplySiteStyleSelection: {
|
|
482
|
-
readonly path: "/sdk/{siteId}/theme/style-selection/apply";
|
|
483
|
-
readonly method: "POST";
|
|
484
|
-
readonly auth: "service";
|
|
485
|
-
readonly responseKind: "json";
|
|
486
|
-
readonly errors: readonly ["validation:invalid_input", "resource:not_found", "resource:conflict", "server:internal_error"];
|
|
487
|
-
};
|
|
488
474
|
readonly sdkUpsertFooter: {
|
|
489
475
|
readonly path: "/sdk/{siteId}/footer";
|
|
490
476
|
readonly method: "POST";
|
|
@@ -673,13 +659,6 @@ export declare const API_ENDPOINTS: {
|
|
|
673
659
|
readonly auth: "service";
|
|
674
660
|
readonly responseKind: "json";
|
|
675
661
|
};
|
|
676
|
-
readonly sdkCatalogTheme: {
|
|
677
|
-
readonly path: "/sdk/{siteId}/catalog/theme";
|
|
678
|
-
readonly method: "GET";
|
|
679
|
-
readonly errors: readonly ["server:internal_error"];
|
|
680
|
-
readonly auth: "service";
|
|
681
|
-
readonly responseKind: "json";
|
|
682
|
-
};
|
|
683
662
|
readonly sdkCatalogBlocks: {
|
|
684
663
|
readonly path: "/sdk/{siteId}/catalog/blocks";
|
|
685
664
|
readonly method: "GET";
|
|
@@ -740,12 +719,6 @@ export declare const API_ENDPOINTS: {
|
|
|
740
719
|
readonly auth: "service";
|
|
741
720
|
readonly responseKind: "json";
|
|
742
721
|
};
|
|
743
|
-
readonly sdkPullTheme: {
|
|
744
|
-
readonly path: "/sdk/{siteId}/pull/theme";
|
|
745
|
-
readonly method: "GET";
|
|
746
|
-
readonly auth: "service";
|
|
747
|
-
readonly responseKind: "json";
|
|
748
|
-
};
|
|
749
722
|
readonly sdkPullFooter: {
|
|
750
723
|
readonly path: "/sdk/{siteId}/pull/footer";
|
|
751
724
|
readonly method: "GET";
|
|
@@ -5859,6 +5832,13 @@ export declare const API_ENDPOINTS: {
|
|
|
5859
5832
|
auth: "public";
|
|
5860
5833
|
responseKind: "json";
|
|
5861
5834
|
};
|
|
5835
|
+
readonly checkPublicEventRegistrationNextStep: {
|
|
5836
|
+
path: "/public/sites/{siteId}/events/registration-next-step";
|
|
5837
|
+
method: "POST";
|
|
5838
|
+
auth: "public";
|
|
5839
|
+
responseKind: "json";
|
|
5840
|
+
errors: ("auth:forbidden" | "validation:invalid_input" | "server:internal_error")[];
|
|
5841
|
+
};
|
|
5862
5842
|
readonly listPublicEventCalendarWindow: {
|
|
5863
5843
|
path: "/public/sites/{siteId}/events/calendar-window";
|
|
5864
5844
|
method: "GET";
|
|
@@ -12,7 +12,7 @@ export { dashboardNavigationLinkSchema, sdkNavigationLinkInputSchema, externalLi
|
|
|
12
12
|
export { isNavigationDropdownSentinel, normalizeNavigationAuthoringLinkForCommand, normalizeNavigationConfigItemForCommand, navigationApiItemToSdkLocalItem, navigationCommandItemToManagementInput, } from './navigation/boundaries';
|
|
13
13
|
export type { NavigationAuthoringItemInput, NavigationAuthoringLinkInput, NavigationBoundaryPortalLinkPayload, NavigationCommandBoundaryItemInput, NavigationConfigItemInput, NavigationDropdownSentinel, NavigationLocalItemInput, NavigationReadItemInput, } from './navigation/boundaries';
|
|
14
14
|
export { pushSdkConfigBodySchema, loaderFallbackScalarSchema, riverbankSiteConfigInputSchema, sdkCustomBlockInputSchema, sdkWorkflowConfigSchema, sdkWorkflowTriggerSchema, sdkWorkflowConfirmationSchema, sdkWorkflowsSchema, SDK_WORKFLOW_CONFIRMATION_BODY_MAX_LENGTH, SDK_WORKFLOW_CONFIRMATION_TITLE_MAX_LENGTH, SDK_WORKFLOW_CONTENT_TYPE_MAX_LENGTH, SDK_WORKFLOW_DESCRIPTION_MAX_LENGTH, SDK_WORKFLOW_ENDPOINT_MAX_LENGTH, SDK_WORKFLOW_ENDPOINT_PATTERN, SDK_WORKFLOW_ID_MAX_LENGTH, SDK_WORKFLOW_ID_PATTERN, SDK_WORKFLOW_MAX_COUNT, SDK_WORKFLOW_TITLE_MAX_LENGTH, SDK_WORKFLOW_TRIGGER_CONDITION_MAX_COUNT, SDK_WORKFLOW_TRIGGER_FIELD_MAX_LENGTH, SDK_WORKFLOW_TRIGGER_MAX_COUNT, fieldDefinitionInputSchema, } from './sdkConfig/contracts';
|
|
15
|
-
export { formatIgnoredDocumentSyncSectionWarning } from './sdkContracts';
|
|
15
|
+
export { formatIgnoredDocumentSyncSectionWarning, type SdkSiteLayoutConfig } from './sdkContracts';
|
|
16
16
|
export { normalizeSdkThemeWire, sdkThemeWireSchema, type SdkCanonicalTheme, type SdkThemeWire, type SdkThemeWireWithoutHeader, } from './sdkThemeWire';
|
|
17
17
|
export { createIncrementalJsonAccumulator } from './incrementalJson';
|
|
18
18
|
export type { ApplySiteStyleSelectionBody, SiteStyleHeaderSelectionChange, SiteStyleSelectionChange, SaveSiteChromeSelectionBody, SaveSiteChromeSelectionResponse, SiteThemeSelectionsPayload, ThemeWithoutHeader, } from './siteRuntimeEndpoints';
|
|
@@ -58,6 +58,7 @@ export type PublicBookingRefundPolicy = Readonly<{
|
|
|
58
58
|
mode: EventBookingPolicyMode;
|
|
59
59
|
/** Hours before the start that refunds close. Only meaningful when `mode` is `cutoff`. */
|
|
60
60
|
cutoffHours: number;
|
|
61
|
+
method: "original_payment_method" | "site_credit";
|
|
61
62
|
}>;
|
|
62
63
|
export type PublicBookingCancellationPolicy = Readonly<{
|
|
63
64
|
refunds: PublicBookingRefundPolicy;
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
export declare const PUBLIC_EVENT_ENDPOINT_DEFINITIONS: {
|
|
2
|
+
checkPublicEventRegistrationNextStep: {
|
|
3
|
+
path: "/public/sites/{siteId}/events/registration-next-step";
|
|
4
|
+
method: "POST";
|
|
5
|
+
auth: "public";
|
|
6
|
+
responseKind: "json";
|
|
7
|
+
errors: ("auth:forbidden" | "validation:invalid_input" | "server:internal_error")[];
|
|
8
|
+
};
|
|
2
9
|
listPublicEventCalendarWindow: {
|
|
3
10
|
path: "/public/sites/{siteId}/events/calendar-window";
|
|
4
11
|
method: "GET";
|
|
@@ -7,7 +7,8 @@ import type { EventRegistrationOptionsRequest, EventRegistrationOptionsResponse
|
|
|
7
7
|
import type { PublicWaitlistClaimResponse } from '../../../commerce/src/index';
|
|
8
8
|
import type { APIEndpoint } from '../apiEndpointTypes';
|
|
9
9
|
import type { DirectCheckoutCollectionOptionKind, EventAttendanceMode } from '../bookingConfig';
|
|
10
|
-
import type {
|
|
10
|
+
import type { EventTicketSelectionRequest, PublicEventLoaderParams } from './sharedTypes';
|
|
11
|
+
import type { EventRegisterResponse as EventRegistrationOutcome, EventRegistrationPaymentSubject, EventRegistrationNextStepRequest, EventRegistrationNextStepResponse } from '../../../blocks/src/system/runtime/api/types';
|
|
11
12
|
/**
|
|
12
13
|
* The canonical public Event record.
|
|
13
14
|
*
|
|
@@ -95,6 +96,12 @@ export type PublicEventAPIEndpoints = {
|
|
|
95
96
|
* The single-occurrence commit is keyed on it; see #1273.
|
|
96
97
|
*/
|
|
97
98
|
registrationCommandId: string;
|
|
99
|
+
checkout?: {
|
|
100
|
+
successUrl: string;
|
|
101
|
+
cancelUrl: string;
|
|
102
|
+
discountCode?: string;
|
|
103
|
+
collectionOptionKind?: DirectCheckoutCollectionOptionKind;
|
|
104
|
+
};
|
|
98
105
|
subject: {
|
|
99
106
|
kind: 'occurrence';
|
|
100
107
|
occurrenceId: string;
|
|
@@ -126,51 +133,13 @@ export type PublicEventAPIEndpoints = {
|
|
|
126
133
|
}>;
|
|
127
134
|
}, {
|
|
128
135
|
siteId: string;
|
|
129
|
-
},
|
|
130
|
-
success: boolean;
|
|
131
|
-
scope: 'occurrence';
|
|
132
|
-
attendeeId: string;
|
|
133
|
-
status: 'confirmed';
|
|
134
|
-
paymentMethod: 'free' | 'pass' | 'membership' | 'stripe' | 'pass_bundle' | 'membership_bundle';
|
|
135
|
-
pendingPayment: boolean;
|
|
136
|
-
passCreditsUsed?: number;
|
|
137
|
-
passCreditsRemaining?: number;
|
|
138
|
-
alreadyRegistered?: boolean;
|
|
139
|
-
ticketLines: EventTicketLineSummaryResponse[];
|
|
140
|
-
message: string;
|
|
141
|
-
} | {
|
|
142
|
-
success: boolean;
|
|
143
|
-
scope: 'occurrence';
|
|
144
|
-
attendeeId: string;
|
|
145
|
-
status: 'waitlist';
|
|
146
|
-
waitlistPosition: number | null;
|
|
147
|
-
alreadyRegistered?: boolean;
|
|
148
|
-
message: string;
|
|
149
|
-
} | {
|
|
150
|
-
success: boolean;
|
|
151
|
-
scope: 'wholeSeries';
|
|
152
|
-
registrationId: string;
|
|
153
|
-
status: 'confirmed';
|
|
154
|
-
paymentMethod: 'free' | 'membership';
|
|
155
|
-
pendingPayment: false;
|
|
156
|
-
alreadyRegistered?: boolean;
|
|
157
|
-
ticketLines: EventTicketLineSummaryResponse[];
|
|
158
|
-
message: string;
|
|
159
|
-
} | {
|
|
160
|
-
success: boolean;
|
|
161
|
-
scope: 'wholeSeries';
|
|
162
|
-
waitlistEntryId: string;
|
|
163
|
-
status: 'waitlist';
|
|
164
|
-
waitlistPosition: number | null;
|
|
165
|
-
alreadyRegistered?: boolean;
|
|
166
|
-
message: string;
|
|
167
|
-
}>;
|
|
136
|
+
}, EventRegistrationOutcome>;
|
|
168
137
|
createPublicEventCheckout: APIEndpoint<{
|
|
169
138
|
subject: {
|
|
170
139
|
kind: 'occurrence';
|
|
171
140
|
attendeeId: string;
|
|
172
141
|
};
|
|
173
|
-
registrationCommandId
|
|
142
|
+
registrationCommandId: string;
|
|
174
143
|
checkoutType?: 'event' | 'pass_bundle' | 'membership_bundle';
|
|
175
144
|
productId?: string;
|
|
176
145
|
discountCode?: string;
|
|
@@ -211,13 +180,27 @@ export type PublicEventAPIEndpoints = {
|
|
|
211
180
|
checkoutUrl: string | null;
|
|
212
181
|
sessionId: string | null;
|
|
213
182
|
bypassed: boolean;
|
|
183
|
+
deferredBalance?: {
|
|
184
|
+
amountCents: number;
|
|
185
|
+
currency: string;
|
|
186
|
+
};
|
|
214
187
|
} | {
|
|
215
188
|
scope: 'wholeSeries';
|
|
216
189
|
registrationId: string;
|
|
217
190
|
checkoutAttemptId: string;
|
|
191
|
+
recoverableUntil?: string;
|
|
218
192
|
checkoutUrl: string | null;
|
|
219
193
|
sessionId: string | null;
|
|
220
194
|
bypassed: boolean;
|
|
195
|
+
deferredBalance?: {
|
|
196
|
+
amountCents: number;
|
|
197
|
+
currency: string;
|
|
198
|
+
};
|
|
199
|
+
} | {
|
|
200
|
+
scope: 'wholeSeries';
|
|
201
|
+
status: 'paymentStatusRequired';
|
|
202
|
+
checkoutAttemptId: string;
|
|
203
|
+
recoverableUntil?: string;
|
|
221
204
|
} | {
|
|
222
205
|
scope: 'wholeSeries';
|
|
223
206
|
status: 'waitlist';
|
|
@@ -228,6 +211,9 @@ export type PublicEventAPIEndpoints = {
|
|
|
228
211
|
getPublicEventRegistrationOptions: APIEndpoint<PublicEventRegistrationOptionsRequest, {
|
|
229
212
|
siteId: string;
|
|
230
213
|
}, PublicEventRegistrationOptionsResponse>;
|
|
214
|
+
checkPublicEventRegistrationNextStep: APIEndpoint<EventRegistrationNextStepRequest, {
|
|
215
|
+
siteId: string;
|
|
216
|
+
}, EventRegistrationNextStepResponse>;
|
|
231
217
|
getPublicEventRegistrationStatus: APIEndpoint<never, {
|
|
232
218
|
siteId: string;
|
|
233
219
|
} & ({
|
|
@@ -249,10 +235,17 @@ export type PublicEventAPIEndpoints = {
|
|
|
249
235
|
} | {
|
|
250
236
|
kind: 'abandon';
|
|
251
237
|
checkoutAttemptId: string;
|
|
238
|
+
} | {
|
|
239
|
+
kind: 'checkStatus';
|
|
240
|
+
subject: EventRegistrationPaymentSubject;
|
|
252
241
|
}, {
|
|
253
242
|
siteId: string;
|
|
254
243
|
}, {
|
|
255
244
|
kind: 'resolved';
|
|
245
|
+
deferredBalance?: {
|
|
246
|
+
amountCents: number;
|
|
247
|
+
currency: string;
|
|
248
|
+
};
|
|
256
249
|
reference: {
|
|
257
250
|
scope: 'occurrence';
|
|
258
251
|
attendeeId: string;
|
|
@@ -266,6 +259,20 @@ export type PublicEventAPIEndpoints = {
|
|
|
266
259
|
kind: 'notFound';
|
|
267
260
|
} | {
|
|
268
261
|
kind: 'reconciliationRequired';
|
|
262
|
+
} | {
|
|
263
|
+
kind: 'paymentProcessing';
|
|
264
|
+
recoverableUntil?: string;
|
|
265
|
+
} | {
|
|
266
|
+
kind: 'paymentAvailable';
|
|
267
|
+
checkoutUrl: string;
|
|
268
|
+
recoverableUntil?: string;
|
|
269
|
+
} | {
|
|
270
|
+
kind: 'paymentRetryAvailable';
|
|
271
|
+
} | {
|
|
272
|
+
kind: 'paymentCheckUnavailable';
|
|
273
|
+
recoverableUntil?: string;
|
|
274
|
+
} | {
|
|
275
|
+
kind: 'paymentAssistanceRequired';
|
|
269
276
|
}>;
|
|
270
277
|
getPublicEventTicketQrSvg: APIEndpoint<never, {
|
|
271
278
|
siteId: string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { FooterMode } from '../../../theme-core/src/footer/mode';
|
|
2
|
+
/** SDK-owned footer implementation and source-controlled content seed. */
|
|
3
|
+
export interface SdkSiteLayoutConfig {
|
|
4
|
+
/** Riverbank footer surfaces used by the site; custom callbacks keep precedence. */
|
|
5
|
+
footerMode?: FooterMode;
|
|
6
|
+
/** Global footer blocks synced by push-config, with dashboard content editing. */
|
|
7
|
+
footerBlocks?: Array<{
|
|
8
|
+
/** Stable source identifier, not a CMS block UUID. */
|
|
9
|
+
id?: string;
|
|
10
|
+
kind: string;
|
|
11
|
+
content?: Record<string, unknown>;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { SdkSiteLayoutConfig } from './sdkConfig/layout';
|
|
2
|
+
export type { SdkSiteLayoutConfig } from './sdkConfig/layout';
|
|
1
3
|
import type { BlockContentSource, BlockContentSourceKind, FieldDefinition, FieldDefinitionInput, SdkCustomBlock, SdkCustomBlockInput, Theme } from '../../blocks/src/index';
|
|
2
4
|
import type { ContentTypeSchema } from '../../content-model/src/index';
|
|
3
5
|
import type { EventPreset, FooterCompositionV1, RichTextDoc } from '../../core/src/index';
|
|
@@ -81,13 +83,6 @@ export interface SdkBlockFieldConfig {
|
|
|
81
83
|
* Note: This mirrors BlockFieldOptionsMap from @riverbankcms/sdk/config for use in API responses.
|
|
82
84
|
*/
|
|
83
85
|
export type SdkBlockFieldOptionsMap = Record<string, Record<string, SdkBlockFieldConfig>>;
|
|
84
|
-
export interface SdkSiteLayoutConfig {
|
|
85
|
-
footerBlocks?: Array<{
|
|
86
|
-
id?: string;
|
|
87
|
-
kind: string;
|
|
88
|
-
content?: Record<string, unknown>;
|
|
89
|
-
}>;
|
|
90
|
-
}
|
|
91
86
|
export interface SdkContentTypeTemplateConfig {
|
|
92
87
|
blocks: unknown[];
|
|
93
88
|
}
|
|
@@ -228,6 +223,7 @@ export declare function formatIgnoredDocumentSyncSectionWarning(section: Ignored
|
|
|
228
223
|
export type SyncFooterBlocksResult = {
|
|
229
224
|
updated: boolean;
|
|
230
225
|
skipped: boolean;
|
|
226
|
+
reason?: 'unchanged' | 'preserved-dashboard-edit' | 'mode-only';
|
|
231
227
|
};
|
|
232
228
|
export type SdkConfigSyncResult = {
|
|
233
229
|
success: boolean;
|
|
@@ -694,7 +690,6 @@ export interface SdkCapabilityCatalogLink {
|
|
|
694
690
|
export interface SdkCapabilitiesResponse {
|
|
695
691
|
apiVersion: string;
|
|
696
692
|
catalogs: {
|
|
697
|
-
theme: SdkCapabilityCatalogLink;
|
|
698
693
|
blocks: SdkCapabilityCatalogLink;
|
|
699
694
|
contentTypes: SdkCapabilityCatalogLink;
|
|
700
695
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SiteCommandOf } from '@riverbankcms/site-commands';
|
|
2
1
|
import type { AppearancePresetId } from '../../theme-core/src/site-styles/index';
|
|
3
2
|
import type { APIEndpoint } from './apiEndpointTypes';
|
|
4
3
|
import type { AdminCreateSiteRequest, AdminCreateSiteResponse, AdminDeletePriceOverrideRequest, AdminDeletePriceOverrideResponse, AdminDeleteSiteResponse, AdminGetPriceOverrideQuery, AdminGetPriceOverrideResponse, AdminUpsertPriceOverrideRequest, AdminUpsertPriceOverrideResponse } from './accessAdmin';
|
|
@@ -8,9 +7,7 @@ import type { CheckRedirectQuery, CheckRedirectResponse, CreateRedirectRuleReque
|
|
|
8
7
|
import type { CreateManagementKeyRequest, CreateManagementKeyResponse, CreateSiteApiKeyRequest, CreateSiteApiKeyResponse, CreateSitePreviewKeyRequest, CreateSitePreviewKeyResponse, CreateWebhookRequest, CreateWebhookResponse, DeleteBackupUploadRequest, DeleteBackupUploadResponse, DeleteWebhookResponse, GetSiteApiKeyAccessLogsResponse, ListSitePreviewKeysResponse, GetWebhookResponse, ImportBackupAsNewSiteRequest, ImportBackupAsNewSiteResponse, ImportSiteBackupRequest, ListManagementKeysResponse, ListSiteApiKeysResponse, ListWebhooksResponse, RevokeManagementKeyRequest, RevokeManagementKeyResponse, RevokeSiteApiKeyResponse, SdkDeploymentHealthResponse, SetupSdkDeploymentRevalidationWebhookRequest, SetupSdkDeploymentRevalidationWebhookResponse, SetupSdkRevalidationWebhookRequest, SetupSdkRevalidationWebhookResponse, UpdateWebhookRequest, UpdateWebhookResponse, BackupImportResponse, BackupPreviewRequest, BackupPreviewResponse, CreateBackupUploadUrlRequest, CreateBackupUploadUrlResponse } from './siteInfrastructure';
|
|
9
8
|
import type { GetSiteInspirationAnalysisResponse, ListSiteInspirationAnalysesResponse } from './siteGeneration';
|
|
10
9
|
import type { ListGscPropertiesAdminResponse, AuthStatusResponse, CronAppointmentRemindersResponse, CronBillingStatusResponse, CronEventFeedbackEmailsResponse, CronEventOccurrencesResponse, CronEventRemindersResponse, CronMediaJobsQuery, CronMediaJobsResponse, CronNewsletterSendResponse, CronPaymentReconciliationResponse, CronSeoIngestResponse, CronWaitlistExpiryResponse } from './siteOperations';
|
|
11
|
-
import type {
|
|
12
|
-
import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkAddEventOccurrenceRequest, SdkBackfillIdentifiersResult, SdkEventOccurrenceResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventOccurrencesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaDeleteApplyResponse, SdkMediaDeletePreviewResponse, SdkMediaDownloadResponse, SdkMediaListResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkCatalogThemeResponse, SdkCatalogBlocksResponse, SdkCatalogContentTypesResponse, SdkCapabilitiesResponse, SdkCommandApplicationResult, SdkConfigureBookingVerticalRequest, SdkConfigureBookingVerticalResponse, SdkDemoContentResponse, SdkDeleteResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullThemeResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpdateEventOccurrenceRequest, SdkUpsertBlockResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertThemeResponse, SdkUpsertVenueResponse } from './sdkContracts';
|
|
13
|
-
import type { SdkThemeWireWithoutHeader } from './sdkThemeWire';
|
|
10
|
+
import type { ManagementMediaAsset, MediaResolveResponse, PushSdkConfigRequest, PushSdkConfigResponse, SdkAddEventOccurrenceRequest, SdkBackfillIdentifiersResult, SdkEventOccurrenceResponse, SdkGetEntryResponse, SdkGetEventCategoryResponse, SdkGetEventResponse, SdkGetFormResponse, SdkGetPageBlockResponse, SdkPatchPageBlockBody, SdkPatchPageBlockResponse, SdkGetVenueResponse, SdkListEntriesResponse, SdkListEventCategoriesResponse, SdkListEventOccurrencesResponse, SdkListEventsResponse, SdkListFormsResponse, SdkListVenuesResponse, SdkMediaFinalizeUploadResponse, SdkMediaDeleteApplyResponse, SdkMediaDeletePreviewResponse, SdkMediaDownloadResponse, SdkMediaListResponse, SdkMediaUploadUrlResponse, SdkPageResponse, SdkEntryUpsertSlotBlock, SdkPublishOrUnpublishEntryResponse, SdkPullContentTypesResponse, SdkCatalogBlocksResponse, SdkCatalogContentTypesResponse, SdkCapabilitiesResponse, SdkConfigureBookingVerticalRequest, SdkConfigureBookingVerticalResponse, SdkDemoContentResponse, SdkDeleteResponse, SdkPullEntriesAllResponse, SdkPullEntriesByTypeResponse, SdkPullEntriesResponse, SdkPullEventCategoriesResponse, SdkPullEventsResponse, SdkPullFooterResponse, SdkPullFormSchema, SdkPullFormsResponse, SdkPullFormSettings, SdkPullDraftsResponse, SdkPullNavigationResponse, SdkPullPagesResponse, SdkPullSettings, SdkPullSettingsResponse, SdkPullSiteInfoResponse, SdkPullVenue, SdkPullVenuesResponse, SdkUpdateSettingsResponse, SdkUpdateEventOccurrenceRequest, SdkUpsertBlockResponse, SdkUpsertEntryResponse, SdkUpsertPageResponse, SdkUpsertEventCategoryResponse, SdkUpsertEventResponse, SdkUpsertFooterResponse, SdkUpsertFormResponse, SdkUpsertNavigationMenuResponse, SdkUpsertVenueResponse } from './sdkContracts';
|
|
14
11
|
import type { FooterCompositionUpdateRequest } from './siteManagementEndpoints';
|
|
15
12
|
import type { SdkEventUpsertBody } from './sdk-event-upsert';
|
|
16
13
|
import type { SdkEntryPaginationQueryInput } from './schemas/sdk-entries';
|
|
@@ -196,9 +193,6 @@ export type SitePlatformAPIEndpoints = {
|
|
|
196
193
|
sdkPullContentTypes: APIEndpoint<never, {
|
|
197
194
|
siteId: string;
|
|
198
195
|
}, SdkPullContentTypesResponse>;
|
|
199
|
-
sdkCatalogTheme: APIEndpoint<never, {
|
|
200
|
-
siteId: string;
|
|
201
|
-
}, SdkCatalogThemeResponse>;
|
|
202
196
|
sdkCatalogBlocks: APIEndpoint<never, {
|
|
203
197
|
siteId: string;
|
|
204
198
|
}, SdkCatalogBlocksResponse>;
|
|
@@ -226,9 +220,6 @@ export type SitePlatformAPIEndpoints = {
|
|
|
226
220
|
sdkPullForms: APIEndpoint<never, {
|
|
227
221
|
siteId: string;
|
|
228
222
|
}, SdkPullFormsResponse>;
|
|
229
|
-
sdkPullTheme: APIEndpoint<never, {
|
|
230
|
-
siteId: string;
|
|
231
|
-
}, SdkPullThemeResponse>;
|
|
232
223
|
sdkPullFooter: APIEndpoint<never, {
|
|
233
224
|
siteId: string;
|
|
234
225
|
}, SdkPullFooterResponse>;
|
|
@@ -326,27 +317,6 @@ export type SitePlatformAPIEndpoints = {
|
|
|
326
317
|
}, {
|
|
327
318
|
siteId: string;
|
|
328
319
|
}, SdkUpsertNavigationMenuResponse>;
|
|
329
|
-
sdkUpsertTheme: APIEndpoint<Readonly<{
|
|
330
|
-
kind: 'update';
|
|
331
|
-
/**
|
|
332
|
-
* The theme minus its header (#1318 Phase 4d, D17). The server compiles
|
|
333
|
-
* `theme.header` from the site's stored selection and header
|
|
334
|
-
* preferences and is its only author; a body carrying header bytes is
|
|
335
|
-
* rejected rather than silently stripped.
|
|
336
|
-
*/
|
|
337
|
-
theme: SdkThemeWireWithoutHeader;
|
|
338
|
-
themeId?: string;
|
|
339
|
-
selectionId?: string;
|
|
340
|
-
}> | Readonly<{
|
|
341
|
-
/** The first theme is compiled authoritatively from this command. */
|
|
342
|
-
kind: 'initialize';
|
|
343
|
-
command: SiteCommandOf<'applySiteStyleSelection'>;
|
|
344
|
-
}>, {
|
|
345
|
-
siteId: string;
|
|
346
|
-
}, SdkUpsertThemeResponse>;
|
|
347
|
-
sdkApplySiteStyleSelection: APIEndpoint<ApplySiteStyleSelectionBody, {
|
|
348
|
-
siteId: string;
|
|
349
|
-
}, SdkCommandApplicationResult<ApplySiteStyleSelectionResponse>>;
|
|
350
320
|
sdkUpsertFooter: APIEndpoint<FooterCompositionUpdateRequest, {
|
|
351
321
|
siteId: string;
|
|
352
322
|
}, SdkUpsertFooterResponse>;
|
|
@@ -175,7 +175,12 @@ export type PageDesignEditorStateResponse = {
|
|
|
175
175
|
message: string;
|
|
176
176
|
} | {
|
|
177
177
|
kind: 'loaded';
|
|
178
|
-
|
|
178
|
+
/**
|
|
179
|
+
* `'default'` means no design record was persisted for the page and the
|
|
180
|
+
* site style's defaults were resolved. Clients treat every loaded state
|
|
181
|
+
* the same way; the source is diagnostic only.
|
|
182
|
+
*/
|
|
183
|
+
source: 'draft' | 'published-fallback' | 'default';
|
|
179
184
|
revision: PageDesignRevisionToken;
|
|
180
185
|
editorModel: PageDesignEditorReadModel;
|
|
181
186
|
};
|
|
@@ -58,12 +58,12 @@ export type SiteBillingSubscriptionSnapshot = Readonly<{
|
|
|
58
58
|
origin: BillingSubscriptionOrigin | null;
|
|
59
59
|
status: string;
|
|
60
60
|
}> | null;
|
|
61
|
-
export type SiteBillingManualReviewReason = 'ambiguous_subscription_origin' | 'active_site_linked_add_on' | 'admin_requested_manual_review' | 'missing_admin_subscription_choice' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'subscription_action_failed' | 'multiple_platform_subscriptions' | 'commission_reconciliation_exhausted';
|
|
62
|
-
export declare const SITE_BILLING_MANUAL_REVIEW_REASONS: readonly ["ambiguous_subscription_origin", "active_site_linked_add_on", "admin_requested_manual_review", "missing_admin_subscription_choice", "practitioner_limit_exceeded", "live_site_allowance_exceeded", "subscription_action_failed", "multiple_platform_subscriptions", "commission_reconciliation_exhausted"];
|
|
61
|
+
export type SiteBillingManualReviewReason = 'ambiguous_subscription_origin' | 'active_site_linked_add_on' | 'admin_requested_manual_review' | 'missing_admin_subscription_choice' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'subscription_action_failed' | 'multiple_platform_subscriptions' | 'platform_subscription_recovery_failed' | 'commission_reconciliation_exhausted';
|
|
62
|
+
export declare const SITE_BILLING_MANUAL_REVIEW_REASONS: readonly ["ambiguous_subscription_origin", "active_site_linked_add_on", "admin_requested_manual_review", "missing_admin_subscription_choice", "practitioner_limit_exceeded", "live_site_allowance_exceeded", "subscription_action_failed", "multiple_platform_subscriptions", "platform_subscription_recovery_failed", "commission_reconciliation_exhausted"];
|
|
63
63
|
export type SiteBillingManualReviewStatus = 'open' | 'resolved';
|
|
64
64
|
export declare const SITE_BILLING_MANUAL_REVIEW_STATUSES: readonly ["open", "resolved"];
|
|
65
|
-
export type SiteBillingManualReviewResolutionAction = 'external_action_completed' | 'no_action_needed' | 'duplicate' | 'superseded_by_arrangement_change' | 'accepted_risk';
|
|
66
|
-
export declare const SITE_BILLING_MANUAL_REVIEW_RESOLUTION_ACTIONS: readonly ["external_action_completed", "no_action_needed", "duplicate", "superseded_by_arrangement_change", "accepted_risk"];
|
|
65
|
+
export type SiteBillingManualReviewResolutionAction = 'external_action_completed' | 'no_action_needed' | 'duplicate' | 'superseded_by_arrangement_change' | 'accepted_risk' | 'automatic_reconciliation_succeeded';
|
|
66
|
+
export declare const SITE_BILLING_MANUAL_REVIEW_RESOLUTION_ACTIONS: readonly ["external_action_completed", "no_action_needed", "duplicate", "superseded_by_arrangement_change", "accepted_risk", "automatic_reconciliation_succeeded"];
|
|
67
67
|
export type SiteBillingManualReviewFailureAction = 'cancel_immediately' | 'cancel_at_period_end' | 'sync_existing_subscription' | 'post_stripe_arrangement_update_failed';
|
|
68
68
|
export type SiteBillingManualReviewDetailsByReason = Readonly<{
|
|
69
69
|
ambiguous_subscription_origin: Readonly<{
|
|
@@ -99,6 +99,10 @@ export type SiteBillingManualReviewDetailsByReason = Readonly<{
|
|
|
99
99
|
multiple_platform_subscriptions: Readonly<{
|
|
100
100
|
subscriptionIds: readonly string[];
|
|
101
101
|
}>;
|
|
102
|
+
platform_subscription_recovery_failed: Readonly<{
|
|
103
|
+
subscriptionId: string;
|
|
104
|
+
error: string;
|
|
105
|
+
}>;
|
|
102
106
|
commission_reconciliation_exhausted: Readonly<{
|
|
103
107
|
targetKind: 'customer_membership' | 'order_payment_plan';
|
|
104
108
|
targetId: string;
|
|
@@ -112,7 +116,7 @@ export type SiteBillingManualReviewPayload = {
|
|
|
112
116
|
details: SiteBillingManualReviewDetailsByReason[TReason];
|
|
113
117
|
}>;
|
|
114
118
|
}[SiteBillingManualReviewReason];
|
|
115
|
-
export type SiteBillingArrangementPlanManualReviewReason = Exclude<SiteBillingManualReviewReason, 'subscription_action_failed' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'multiple_platform_subscriptions' | 'commission_reconciliation_exhausted'>;
|
|
119
|
+
export type SiteBillingArrangementPlanManualReviewReason = Exclude<SiteBillingManualReviewReason, 'subscription_action_failed' | 'practitioner_limit_exceeded' | 'live_site_allowance_exceeded' | 'multiple_platform_subscriptions' | 'platform_subscription_recovery_failed' | 'commission_reconciliation_exhausted'>;
|
|
116
120
|
export type SiteBillingArrangementSubscriptionAction = 'not_applicable' | 'sync_attempted' | 'cancelled_immediately' | 'scheduled_cancel_at_period_end' | 'manual_review_required' | 'failed';
|
|
117
121
|
export declare const SITE_BILLING_ARRANGEMENT_SUBSCRIPTION_ACTIONS: readonly ["not_applicable", "sync_attempted", "cancelled_immediately", "scheduled_cancel_at_period_end", "manual_review_required", "failed"];
|
|
118
122
|
export declare const SITE_BILLING_ARRANGEMENT_CHANGE_ORIGINS: readonly ["native_arrangement_change", "imported_legacy_cost_history"];
|
|
@@ -654,6 +654,20 @@ export declare const publicEventSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
654
654
|
}, z.core.$strip>;
|
|
655
655
|
}, z.core.$strip>]>>;
|
|
656
656
|
}, z.core.$strip>;
|
|
657
|
+
cancellationPolicy: z.ZodObject<{
|
|
658
|
+
refunds: z.ZodObject<{
|
|
659
|
+
mode: z.ZodEnum<{
|
|
660
|
+
never: "never";
|
|
661
|
+
always: "always";
|
|
662
|
+
cutoff: "cutoff";
|
|
663
|
+
}>;
|
|
664
|
+
cutoffHours: z.ZodNumber;
|
|
665
|
+
method: z.ZodEnum<{
|
|
666
|
+
site_credit: "site_credit";
|
|
667
|
+
original_payment_method: "original_payment_method";
|
|
668
|
+
}>;
|
|
669
|
+
}, z.core.$strip>;
|
|
670
|
+
}, z.core.$strip>;
|
|
657
671
|
consent: z.ZodNullable<z.ZodType<Readonly<{
|
|
658
672
|
requirementId: string;
|
|
659
673
|
title: string;
|
|
@@ -1125,6 +1139,20 @@ export declare const publicEventSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
1125
1139
|
}, z.core.$strip>;
|
|
1126
1140
|
}, z.core.$strip>]>>;
|
|
1127
1141
|
}, z.core.$strip>;
|
|
1142
|
+
cancellationPolicy: z.ZodObject<{
|
|
1143
|
+
refunds: z.ZodObject<{
|
|
1144
|
+
mode: z.ZodEnum<{
|
|
1145
|
+
never: "never";
|
|
1146
|
+
always: "always";
|
|
1147
|
+
cutoff: "cutoff";
|
|
1148
|
+
}>;
|
|
1149
|
+
cutoffHours: z.ZodNumber;
|
|
1150
|
+
method: z.ZodEnum<{
|
|
1151
|
+
site_credit: "site_credit";
|
|
1152
|
+
original_payment_method: "original_payment_method";
|
|
1153
|
+
}>;
|
|
1154
|
+
}, z.core.$strip>;
|
|
1155
|
+
}, z.core.$strip>;
|
|
1128
1156
|
consent: z.ZodNullable<z.ZodType<Readonly<{
|
|
1129
1157
|
requirementId: string;
|
|
1130
1158
|
title: string;
|
|
@@ -1621,6 +1649,20 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodUnion<readonly [z.
|
|
|
1621
1649
|
}, z.core.$strip>;
|
|
1622
1650
|
}, z.core.$strip>]>>;
|
|
1623
1651
|
}, z.core.$strip>;
|
|
1652
|
+
cancellationPolicy: z.ZodObject<{
|
|
1653
|
+
refunds: z.ZodObject<{
|
|
1654
|
+
mode: z.ZodEnum<{
|
|
1655
|
+
never: "never";
|
|
1656
|
+
always: "always";
|
|
1657
|
+
cutoff: "cutoff";
|
|
1658
|
+
}>;
|
|
1659
|
+
cutoffHours: z.ZodNumber;
|
|
1660
|
+
method: z.ZodEnum<{
|
|
1661
|
+
site_credit: "site_credit";
|
|
1662
|
+
original_payment_method: "original_payment_method";
|
|
1663
|
+
}>;
|
|
1664
|
+
}, z.core.$strip>;
|
|
1665
|
+
}, z.core.$strip>;
|
|
1624
1666
|
consent: z.ZodNullable<z.ZodType<Readonly<{
|
|
1625
1667
|
requirementId: string;
|
|
1626
1668
|
title: string;
|
|
@@ -2092,6 +2134,20 @@ export declare const publicEventsArraySchema: z.ZodArray<z.ZodUnion<readonly [z.
|
|
|
2092
2134
|
}, z.core.$strip>;
|
|
2093
2135
|
}, z.core.$strip>]>>;
|
|
2094
2136
|
}, z.core.$strip>;
|
|
2137
|
+
cancellationPolicy: z.ZodObject<{
|
|
2138
|
+
refunds: z.ZodObject<{
|
|
2139
|
+
mode: z.ZodEnum<{
|
|
2140
|
+
never: "never";
|
|
2141
|
+
always: "always";
|
|
2142
|
+
cutoff: "cutoff";
|
|
2143
|
+
}>;
|
|
2144
|
+
cutoffHours: z.ZodNumber;
|
|
2145
|
+
method: z.ZodEnum<{
|
|
2146
|
+
site_credit: "site_credit";
|
|
2147
|
+
original_payment_method: "original_payment_method";
|
|
2148
|
+
}>;
|
|
2149
|
+
}, z.core.$strip>;
|
|
2150
|
+
}, z.core.$strip>;
|
|
2095
2151
|
consent: z.ZodNullable<z.ZodType<Readonly<{
|
|
2096
2152
|
requirementId: string;
|
|
2097
2153
|
title: string;
|
|
@@ -163,6 +163,14 @@ export type PublicEventBase = {
|
|
|
163
163
|
pricing: PublicEventPricing;
|
|
164
164
|
/** Shared booking payment-terms model for appointments/events/courses. */
|
|
165
165
|
paymentTerms: BlockBookingPaymentTerms;
|
|
166
|
+
/** The resolved cancellation promise shown before a visitor books. */
|
|
167
|
+
cancellationPolicy: Readonly<{
|
|
168
|
+
refunds: Readonly<{
|
|
169
|
+
mode: 'never' | 'always' | 'cutoff';
|
|
170
|
+
cutoffHours: number;
|
|
171
|
+
method: 'original_payment_method' | 'site_credit';
|
|
172
|
+
}>;
|
|
173
|
+
}>;
|
|
166
174
|
/** Consent that must be accepted before registration, when configured. */
|
|
167
175
|
consent: BlockBookingConsent | null;
|
|
168
176
|
/** Access restriction type */
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Factory function for creating a typed API client for block client-side API calls.
|
|
5
5
|
*/
|
|
6
6
|
import { type CalendarWindowPage, type CalendarWindowRequest } from '../../blocks/events/shared/calendarWindow';
|
|
7
|
-
import type { BlockApiConfig, ApiFieldError, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, BookingSubmitRequest, BookingPackageSubmitRequest, BookingSubmitResponse, EligibleAppointmentPackagesResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, WeeklySlotAvailabilityRequest, WeeklySlotAvailabilityResponse, AvailableDatesRequest, AvailableDatesResponse, BookingServicesResponse, BookingServiceResponse, BookingResourcesResponse, PublicEventsRequest, PublicEvent, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, RegistrationOptionsRequest, RegistrationOptionsResponse, EventRegistrationStatusRequest, EventRegistrationStatusResponse, EventCheckoutReturnRequest, EventCheckoutReturnResponse, ResolveWaitlistClaimRequest, ResolveWaitlistClaimResponse, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyRequest, DiscountApplyResponse, PublicProductsResponse, ShopCheckoutRequest, ShopCheckoutResponse, UnifiedCheckoutRequest, UnifiedCheckoutResponse, PublicGiftingOffersResponse, CreateGiftingCheckoutRequest, CreateGiftingCheckoutResponse, ClaimGiftCardRequest, ClaimGiftCardResponse, PortalMeResponse, CustomerProfile, CustomerOrder, PortalMeUpdateRequest, CustomerPass, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, BookingQuestionsTaskDetail, CustomerEventSeriesRegistration, PortalCredit, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalDigitalProductsResponse, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateEventBookingQuestionsRequest, PortalCancelEventRegistrationRequest, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, EventGuest, UpdateEventGuestsRequest, NewsletterSubscribeRequest, NewsletterSubscribeResponse } from './types';
|
|
7
|
+
import type { BlockApiConfig, ApiFieldError, FormSubmitRequest, FormSubmitResponse, FormConfigResponse, BookingSubmitRequest, BookingPackageSubmitRequest, BookingSubmitResponse, EligibleAppointmentPackagesResponse, AppointmentBookingStatusRequest, AppointmentBookingStatusResponse, AvailableSlotsRequest, AvailableSlotsResponse, WeeklySlotAvailabilityRequest, WeeklySlotAvailabilityResponse, AvailableDatesRequest, AvailableDatesResponse, BookingServicesResponse, BookingServiceResponse, BookingResourcesResponse, PublicEventsRequest, PublicEvent, EventFiltersResponse, EventRegisterRequest, EventRegisterResponse, EventCheckoutRequest, EventCheckoutResponse, RegistrationOptionsRequest, EventRegistrationNextStepRequest, EventRegistrationNextStepResponse, RegistrationOptionsResponse, EventRegistrationStatusRequest, EventRegistrationStatusResponse, EventCheckoutReturnRequest, EventCheckoutReturnResponse, ResolveWaitlistClaimRequest, ResolveWaitlistClaimResponse, DiscountsAvailableRequest, DiscountsAvailableResponse, DiscountApplyRequest, DiscountApplyResponse, PublicProductsResponse, ShopCheckoutRequest, ShopCheckoutResponse, UnifiedCheckoutRequest, UnifiedCheckoutResponse, PublicGiftingOffersResponse, CreateGiftingCheckoutRequest, CreateGiftingCheckoutResponse, ClaimGiftCardRequest, ClaimGiftCardResponse, PortalMeResponse, CustomerProfile, CustomerOrder, PortalMeUpdateRequest, CustomerPass, CustomerMembership, CustomerEventRegistration, PortalEventTicket, CustomerAppointment, BookingQuestionsTaskDetail, CustomerEventSeriesRegistration, PortalCredit, PortalOrderCheckoutRequest, PortalOrderCheckoutResponse, PortalDigitalProductAccessResponse, PortalDigitalProductDownloadUrlResponse, PortalDigitalProductsResponse, PortalCancelWholeSeriesRegistrationRequest, PortalCancelWholeSeriesRegistrationResult, PortalCancelAppointmentRequest, PortalCancelAppointmentResult, PortalUpdateAppointmentBookingQuestionsRequest, PortalUpdateWholeSeriesBookingQuestionsRequest, PortalUpdateEventBookingQuestionsRequest, PortalCancelEventRegistrationRequest, PortalCancelEventRegistrationResult, PortalTransferEventRegistrationRequest, PortalTransferEventRegistrationResult, PortalRescheduleAppointmentRequest, PortalRescheduleAppointmentResponse, PortalCancelMembershipAtPeriodEndResult, MagicLinkRequest, EventGuest, UpdateEventGuestsRequest, NewsletterSubscribeRequest, NewsletterSubscribeResponse } from './types';
|
|
8
8
|
type WithoutSiteId<T> = T extends unknown ? Omit<T, 'siteId'> : never;
|
|
9
9
|
type PublicProductCategorySelector = Readonly<{
|
|
10
10
|
kind: 'category';
|
|
@@ -57,6 +57,7 @@ export interface BlockApiClient {
|
|
|
57
57
|
registerForEvent(data: Omit<EventRegisterRequest, 'siteId'>): Promise<EventRegisterResponse>;
|
|
58
58
|
createEventCheckout(data: WithoutSiteId<EventCheckoutRequest>): Promise<EventCheckoutResponse>;
|
|
59
59
|
getRegistrationOptions(data: Omit<RegistrationOptionsRequest, 'siteId'>): Promise<RegistrationOptionsResponse>;
|
|
60
|
+
checkRegistrationNextStep(data: EventRegistrationNextStepRequest): Promise<EventRegistrationNextStepResponse>;
|
|
60
61
|
getEventRegistrationStatus(params: WithoutSiteId<EventRegistrationStatusRequest>): Promise<EventRegistrationStatusResponse>;
|
|
61
62
|
resolveEventCheckoutReturn(data: EventCheckoutReturnRequest): Promise<EventCheckoutReturnResponse>;
|
|
62
63
|
resolveWaitlistClaim(data: Omit<ResolveWaitlistClaimRequest, 'siteId'>): Promise<ResolveWaitlistClaimResponse>;
|
|
@@ -101,6 +101,10 @@ export declare const EVENTS: {
|
|
|
101
101
|
method: "POST";
|
|
102
102
|
authScope: "portal";
|
|
103
103
|
};
|
|
104
|
+
registrationNextStep: {
|
|
105
|
+
path: string;
|
|
106
|
+
method: "POST";
|
|
107
|
+
};
|
|
104
108
|
registrationStatus: {
|
|
105
109
|
path: string;
|
|
106
110
|
method: "GET";
|
|
@@ -432,6 +436,10 @@ export declare const ENDPOINTS: {
|
|
|
432
436
|
method: "POST";
|
|
433
437
|
authScope: "portal";
|
|
434
438
|
};
|
|
439
|
+
registrationNextStep: {
|
|
440
|
+
path: string;
|
|
441
|
+
method: "POST";
|
|
442
|
+
};
|
|
435
443
|
registrationStatus: {
|
|
436
444
|
path: string;
|
|
437
445
|
method: "GET";
|