@aranova/tracking-react 1.2.5 → 1.4.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.
@@ -1,6 +1,87 @@
1
+ import { j as BookingDayWindows, c as BookingMode, k as ConversionIntegrations } from './bookings-DIu1ho6v.js';
1
2
  import * as zod_v4_core from 'zod/v4/core';
2
3
  import * as z from 'zod/mini';
3
- import { J as JsonValue, F as FormSubmitConfig, j as FormSubmitMetadata } from './phone-utils-qLfVpQI7.js';
4
+ import { J as JsonValue, F as FormSubmitConfig, a as FormSubmitMetadata } from './form-submit-BLb28aCk.js';
5
+ import './phone-utils-l8ey3Zdm.js';
6
+
7
+ type BookingProvider = "autoleap";
8
+ /** One service choice on the booking form, by the site's own key. */
9
+ interface BookingOption {
10
+ key: string;
11
+ label: string;
12
+ }
13
+ /** The booking rules in camelCase, all in the shop's wall time. */
14
+ interface BookingRules {
15
+ minDaysAhead: number;
16
+ maxDaysAhead: number;
17
+ /** Start hours per weekday, `monday` … `sunday`; both lists empty = closed. */
18
+ hours: Record<string, BookingDayWindows>;
19
+ /** `YYYY-MM-DD` shop dates with no bookings although the weekday is open. */
20
+ closedDates: string[];
21
+ /** `YYYY-MM-DD` shop dates whose start hours replace their weekday's. */
22
+ specialHours: Record<string, BookingDayWindows>;
23
+ vehicleRequired: boolean;
24
+ /** `waitForIt` / `dropOff`; empty when the shop hides the question. */
25
+ dropOffOptions: string[];
26
+ }
27
+ interface BookingIntegration {
28
+ provider: BookingProvider;
29
+ /** False: render only the handoff link. Never block the customer on it. */
30
+ enabled: boolean;
31
+ /** The shop's own booking page. */
32
+ fallbackUrl: string;
33
+ /** True when the site may post a booking: `enabled`, rules captured and options mapped. */
34
+ acceptsBookings: boolean;
35
+ /** The shop's IANA timezone; every date and hour here is its wall time. */
36
+ timezone: string;
37
+ /** Sent back with each booking; a stale one is refused and the config refetched. */
38
+ configVersion: number | null;
39
+ rules: BookingRules | null;
40
+ options: BookingOption[];
41
+ /**
42
+ * Where a booking from this page goes: `live` in production; on a development config `test`
43
+ * (the shop's test lead source) or `simulated` (never sent). Show a banner when not `live`.
44
+ */
45
+ mode: BookingMode;
46
+ }
47
+ /** What the visitor already typed, carried onto the shop's booking page. */
48
+ interface BookingHandoffPrefill {
49
+ /** A single full-name field; split on the first space when `firstName` is not given. */
50
+ name?: string | null;
51
+ firstName?: string | null;
52
+ lastName?: string | null;
53
+ /** Any format; sent as national digits (no country code), as the shop's portal stores it. */
54
+ phone?: string | null;
55
+ email?: string | null;
56
+ }
57
+ /** The enabled-or-fallback booking provider in a config's integrations, if any. */
58
+ declare function getBookingIntegration(integrations: ConversionIntegrations | null | undefined): BookingIntegration | null;
59
+ /** One bookable day: its start hours split as the shop's portal shows them. */
60
+ interface BookableDay {
61
+ /** `YYYY-MM-DD`, shop-local. */
62
+ date: string;
63
+ /** `monday` … `sunday`. */
64
+ weekday: string;
65
+ /** Start hours before noon (8 = 08:00). */
66
+ morning: number[];
67
+ /** Start hours from noon on. */
68
+ afternoon: number[];
69
+ }
70
+ /** Today's date in `timeZone` as `YYYY-MM-DD`; the server judges notice by the same date. */
71
+ declare function shopToday(timeZone: string, now?: Date): string;
72
+ /**
73
+ * Every day a customer may book, from the minimum notice to the end of the window, with its
74
+ * start hours. Exactly what the server accepts: closed dates removed, special hours applied.
75
+ */
76
+ declare function bookableSlots(rules: BookingRules, { timeZone, now }: {
77
+ timeZone: string;
78
+ now?: Date;
79
+ }): BookableDay[];
80
+ /**
81
+ * The handoff URL with the visitor's details prefilled, or null when `fallbackUrl` is not an
82
+ * https link on the shop's booking host (a config value never becomes an arbitrary redirect).
83
+ */
84
+ declare function buildBookingHandoffUrl(fallbackUrl: string, prefill?: BookingHandoffPrefill): string | null;
4
85
 
5
86
  /**
6
87
  * Metadata for a manually fired `cta_click` event.
@@ -920,4 +1001,4 @@ interface TypedTrackingClient<TRegistry extends TriggerRegistryConfig> {
920
1001
  getVisitorId(): string;
921
1002
  }
922
1003
 
923
- export { type AutomaticEventName as A, type SiteLinkClickConfig as B, type CtaClickConfig as C, type SiteLinkClickMetadata as D, EVENT_SEMANTICS as E, type FormStartConfig as F, type SpecificPageName as G, type SpecificPageVisitConfig as H, type SpecificPageVisitMetadata as I, type TimeOnSiteMetadata as J, type TrackableEvent as K, type TriggerRegistryConfig as L, type ManualEventName as M, type TypedTrackEventOptions as N, type TypedTrackingClient as O, type PageExitConfig as P, getEventSemantics as Q, type RegisteredAutomaticEvents as R, type ScrollDepthConfig as S, type TimeOnSiteConfig as T, type CtaClickMetadata as a, type EventCategory as b, type EventClientVisibility as c, type EventConfig as d, type EventKind as e, type EventMetadata as f, type EventName as g, type EventOutcomeRole as h, type EventSemantics as i, type FormStartMetadata as j, type FormStepConfig as k, type FormStepMetadata as l, type MultiPageSessionConfig as m, type MultiPageSessionMetadata as n, type PageExitMetadata as o, type PageIdentity as p, type PageViewConfig as q, type PageViewMetadata as r, type PhoneClickConfig as s, type PhoneClickMetadata as t, type RegisteredManualEvents as u, type ScrollDepthMetadata as v, type SdkHeartbeatConfig as w, type SdkHeartbeatMetadata as x, type SiteLinkArrivalConfig as y, type SiteLinkArrivalMetadata as z };
1004
+ export { getBookingIntegration as $, type AutomaticEventName as A, type BookableDay as B, type CtaClickConfig as C, type ScrollDepthMetadata as D, EVENT_SEMANTICS as E, type FormStartConfig as F, type SdkHeartbeatConfig as G, type SdkHeartbeatMetadata as H, type SiteLinkArrivalConfig as I, type SiteLinkArrivalMetadata as J, type SiteLinkClickConfig as K, type SiteLinkClickMetadata as L, type ManualEventName as M, type SpecificPageName as N, type SpecificPageVisitConfig as O, type PageExitConfig as P, type SpecificPageVisitMetadata as Q, type RegisteredAutomaticEvents as R, type ScrollDepthConfig as S, type TimeOnSiteConfig as T, type TimeOnSiteMetadata as U, type TrackableEvent as V, type TriggerRegistryConfig as W, type TypedTrackEventOptions as X, type TypedTrackingClient as Y, bookableSlots as Z, buildBookingHandoffUrl as _, type BookingHandoffPrefill as a, getEventSemantics as a0, shopToday as a1, type BookingIntegration as b, type BookingOption as c, type BookingProvider as d, type BookingRules as e, type CtaClickMetadata as f, type EventCategory as g, type EventClientVisibility as h, type EventConfig as i, type EventKind as j, type EventMetadata as k, type EventName as l, type EventOutcomeRole as m, type EventSemantics as n, type FormStartMetadata as o, type FormStepConfig as p, type FormStepMetadata as q, type MultiPageSessionConfig as r, type MultiPageSessionMetadata as s, type PageExitMetadata as t, type PageIdentity as u, type PageViewConfig as v, type PageViewMetadata as w, type PhoneClickConfig as x, type PhoneClickMetadata as y, type RegisteredManualEvents as z };
@@ -1,6 +1,87 @@
1
+ import { j as BookingDayWindows, c as BookingMode, k as ConversionIntegrations } from './bookings-CqCuuyP6.mjs';
1
2
  import * as zod_v4_core from 'zod/v4/core';
2
3
  import * as z from 'zod/mini';
3
- import { J as JsonValue, F as FormSubmitConfig, j as FormSubmitMetadata } from './phone-utils-qLfVpQI7.mjs';
4
+ import { J as JsonValue, F as FormSubmitConfig, a as FormSubmitMetadata } from './form-submit-BLb28aCk.mjs';
5
+ import './phone-utils-CM8eUPz8.mjs';
6
+
7
+ type BookingProvider = "autoleap";
8
+ /** One service choice on the booking form, by the site's own key. */
9
+ interface BookingOption {
10
+ key: string;
11
+ label: string;
12
+ }
13
+ /** The booking rules in camelCase, all in the shop's wall time. */
14
+ interface BookingRules {
15
+ minDaysAhead: number;
16
+ maxDaysAhead: number;
17
+ /** Start hours per weekday, `monday` … `sunday`; both lists empty = closed. */
18
+ hours: Record<string, BookingDayWindows>;
19
+ /** `YYYY-MM-DD` shop dates with no bookings although the weekday is open. */
20
+ closedDates: string[];
21
+ /** `YYYY-MM-DD` shop dates whose start hours replace their weekday's. */
22
+ specialHours: Record<string, BookingDayWindows>;
23
+ vehicleRequired: boolean;
24
+ /** `waitForIt` / `dropOff`; empty when the shop hides the question. */
25
+ dropOffOptions: string[];
26
+ }
27
+ interface BookingIntegration {
28
+ provider: BookingProvider;
29
+ /** False: render only the handoff link. Never block the customer on it. */
30
+ enabled: boolean;
31
+ /** The shop's own booking page. */
32
+ fallbackUrl: string;
33
+ /** True when the site may post a booking: `enabled`, rules captured and options mapped. */
34
+ acceptsBookings: boolean;
35
+ /** The shop's IANA timezone; every date and hour here is its wall time. */
36
+ timezone: string;
37
+ /** Sent back with each booking; a stale one is refused and the config refetched. */
38
+ configVersion: number | null;
39
+ rules: BookingRules | null;
40
+ options: BookingOption[];
41
+ /**
42
+ * Where a booking from this page goes: `live` in production; on a development config `test`
43
+ * (the shop's test lead source) or `simulated` (never sent). Show a banner when not `live`.
44
+ */
45
+ mode: BookingMode;
46
+ }
47
+ /** What the visitor already typed, carried onto the shop's booking page. */
48
+ interface BookingHandoffPrefill {
49
+ /** A single full-name field; split on the first space when `firstName` is not given. */
50
+ name?: string | null;
51
+ firstName?: string | null;
52
+ lastName?: string | null;
53
+ /** Any format; sent as national digits (no country code), as the shop's portal stores it. */
54
+ phone?: string | null;
55
+ email?: string | null;
56
+ }
57
+ /** The enabled-or-fallback booking provider in a config's integrations, if any. */
58
+ declare function getBookingIntegration(integrations: ConversionIntegrations | null | undefined): BookingIntegration | null;
59
+ /** One bookable day: its start hours split as the shop's portal shows them. */
60
+ interface BookableDay {
61
+ /** `YYYY-MM-DD`, shop-local. */
62
+ date: string;
63
+ /** `monday` … `sunday`. */
64
+ weekday: string;
65
+ /** Start hours before noon (8 = 08:00). */
66
+ morning: number[];
67
+ /** Start hours from noon on. */
68
+ afternoon: number[];
69
+ }
70
+ /** Today's date in `timeZone` as `YYYY-MM-DD`; the server judges notice by the same date. */
71
+ declare function shopToday(timeZone: string, now?: Date): string;
72
+ /**
73
+ * Every day a customer may book, from the minimum notice to the end of the window, with its
74
+ * start hours. Exactly what the server accepts: closed dates removed, special hours applied.
75
+ */
76
+ declare function bookableSlots(rules: BookingRules, { timeZone, now }: {
77
+ timeZone: string;
78
+ now?: Date;
79
+ }): BookableDay[];
80
+ /**
81
+ * The handoff URL with the visitor's details prefilled, or null when `fallbackUrl` is not an
82
+ * https link on the shop's booking host (a config value never becomes an arbitrary redirect).
83
+ */
84
+ declare function buildBookingHandoffUrl(fallbackUrl: string, prefill?: BookingHandoffPrefill): string | null;
4
85
 
5
86
  /**
6
87
  * Metadata for a manually fired `cta_click` event.
@@ -920,4 +1001,4 @@ interface TypedTrackingClient<TRegistry extends TriggerRegistryConfig> {
920
1001
  getVisitorId(): string;
921
1002
  }
922
1003
 
923
- export { type AutomaticEventName as A, type SiteLinkClickConfig as B, type CtaClickConfig as C, type SiteLinkClickMetadata as D, EVENT_SEMANTICS as E, type FormStartConfig as F, type SpecificPageName as G, type SpecificPageVisitConfig as H, type SpecificPageVisitMetadata as I, type TimeOnSiteMetadata as J, type TrackableEvent as K, type TriggerRegistryConfig as L, type ManualEventName as M, type TypedTrackEventOptions as N, type TypedTrackingClient as O, type PageExitConfig as P, getEventSemantics as Q, type RegisteredAutomaticEvents as R, type ScrollDepthConfig as S, type TimeOnSiteConfig as T, type CtaClickMetadata as a, type EventCategory as b, type EventClientVisibility as c, type EventConfig as d, type EventKind as e, type EventMetadata as f, type EventName as g, type EventOutcomeRole as h, type EventSemantics as i, type FormStartMetadata as j, type FormStepConfig as k, type FormStepMetadata as l, type MultiPageSessionConfig as m, type MultiPageSessionMetadata as n, type PageExitMetadata as o, type PageIdentity as p, type PageViewConfig as q, type PageViewMetadata as r, type PhoneClickConfig as s, type PhoneClickMetadata as t, type RegisteredManualEvents as u, type ScrollDepthMetadata as v, type SdkHeartbeatConfig as w, type SdkHeartbeatMetadata as x, type SiteLinkArrivalConfig as y, type SiteLinkArrivalMetadata as z };
1004
+ export { getBookingIntegration as $, type AutomaticEventName as A, type BookableDay as B, type CtaClickConfig as C, type ScrollDepthMetadata as D, EVENT_SEMANTICS as E, type FormStartConfig as F, type SdkHeartbeatConfig as G, type SdkHeartbeatMetadata as H, type SiteLinkArrivalConfig as I, type SiteLinkArrivalMetadata as J, type SiteLinkClickConfig as K, type SiteLinkClickMetadata as L, type ManualEventName as M, type SpecificPageName as N, type SpecificPageVisitConfig as O, type PageExitConfig as P, type SpecificPageVisitMetadata as Q, type RegisteredAutomaticEvents as R, type ScrollDepthConfig as S, type TimeOnSiteConfig as T, type TimeOnSiteMetadata as U, type TrackableEvent as V, type TriggerRegistryConfig as W, type TypedTrackEventOptions as X, type TypedTrackingClient as Y, bookableSlots as Z, buildBookingHandoffUrl as _, type BookingHandoffPrefill as a, getEventSemantics as a0, shopToday as a1, type BookingIntegration as b, type BookingOption as c, type BookingProvider as d, type BookingRules as e, type CtaClickMetadata as f, type EventCategory as g, type EventClientVisibility as h, type EventConfig as i, type EventKind as j, type EventMetadata as k, type EventName as l, type EventOutcomeRole as m, type EventSemantics as n, type FormStartMetadata as o, type FormStepConfig as p, type FormStepMetadata as q, type MultiPageSessionConfig as r, type MultiPageSessionMetadata as s, type PageExitMetadata as t, type PageIdentity as u, type PageViewConfig as v, type PageViewMetadata as w, type PhoneClickConfig as x, type PhoneClickMetadata as y, type RegisteredManualEvents as z };
@@ -1,78 +1,6 @@
1
- import * as z from 'zod/mini';
1
+ import { J as JsonValue } from './form-submit-BLb28aCk.mjs';
2
2
  import { CountryCode } from 'libphonenumber-js';
3
3
 
4
- /**
5
- * JSON-serializable value accepted by `form_submit.fields[].value`.
6
- *
7
- * This intentionally excludes `undefined`, functions, symbols, `Date`
8
- * instances, and non-finite numbers. Values are stored in PostgreSQL JSONB, so
9
- * consumers should send only data that has a stable JSON representation.
10
- */
11
- type JsonValue = string | number | boolean | null | JsonValue[] | {
12
- [key: string]: JsonValue;
13
- };
14
- /**
15
- * Metadata for a manually fired `form_submit` event.
16
- *
17
- * Register the event with `manual: { form_submit: {} }`, then call
18
- * `trackEvent('form_submit', metadata)` from the host site's submit handler.
19
- *
20
- * `fields` is optional. If present, each value must be JSON-serializable. Client
21
- * integrations may intentionally capture raw submitted lead data (including name,
22
- * email, phone, address, selections, and free text) for first-party analytics and
23
- * lead operations. Submitted file data is supported after conversion to a
24
- * JSON-serializable representation; upload larger files separately and send a storage
25
- * reference. Never include credentials, authentication tokens, payment-card or bank
26
- * secrets, or private keys.
27
- *
28
- * No byte limit is enforced on this metadata, here or on the server — `fields` and its
29
- * values are unbounded. Keep inlined payloads small anyway: a submit fired just before
30
- * navigation flushes over `keepalive`, which browsers cap near 64 KB and drop silently.
31
- *
32
- * @example
33
- * ```ts
34
- * tracking.trackEvent('form_submit', {
35
- * form: {
36
- * id: 'lead-form',
37
- * action: '/api/lead',
38
- * fields: [
39
- * {
40
- * name: 'service_interest',
41
- * type: 'select',
42
- * label: 'Service interest',
43
- * value: 'teeth_whitening',
44
- * },
45
- * ],
46
- * },
47
- * page: { path: window.location.pathname },
48
- * });
49
- * ```
50
- */
51
- declare const formSubmitMetadataSchema: z.ZodMiniObject<{
52
- form: z.ZodMiniObject<{
53
- id: z.ZodMiniString<string>;
54
- action: z.ZodMiniNullable<z.ZodMiniString<string>>;
55
- fields: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
56
- name: z.ZodMiniString<string>;
57
- type: z.ZodMiniString<string>;
58
- label: z.ZodMiniNullable<z.ZodMiniString<string>>;
59
- value: z.ZodMiniType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>;
60
- }, z.core.$strict>>>;
61
- }, z.core.$strict>;
62
- page: z.ZodMiniObject<{
63
- path: z.ZodMiniString<string>;
64
- }, z.core.$strict>;
65
- }, z.core.$strict>;
66
- type FormSubmitMetadata = z.infer<typeof formSubmitMetadataSchema>;
67
- /**
68
- * Registration config for `form_submit`.
69
- *
70
- * This event is manual-only and currently has no registration options. The
71
- * empty object enables typed `trackEvent('form_submit', ...)` calls.
72
- */
73
- declare const formSubmitConfigSchema: z.ZodMiniObject<{}, z.core.$strict>;
74
- type FormSubmitConfig = z.infer<typeof formSubmitConfigSchema>;
75
-
76
4
  /**
77
5
  * How a phone number is shown in the UI. The transmitted value is always E.164
78
6
  * and is deliberately NOT part of this — only the display format is configurable.
@@ -466,4 +394,4 @@ declare function optOut(options?: SetConsentOptions): void;
466
394
  */
467
395
  declare function resetConsent(): void;
468
396
 
469
- export { type ConsentChoice as C, DEFAULT_DECLINE_TTL_DAYS as D, type FormSubmitConfig as F, type GtagEnvironmentMap as G, type JsonValue as J, type MetaPixelEnvironmentMap as M, type ParsedPhone as P, type SetConsentOptions as S, type TrackingParams as T, type TrackingInstallSurface as a, type TrackingEnvironment as b, type TrackingClientContext as c, type TrackingEventCreatePayload as d, type TrackingSessionUpsertPayload as e, type ConsentChoiceState as f, type ConsentSource as g, type ConsentState as h, DEFAULT_PHONE_COUNTRY as i, type FormSubmitMetadata as j, type PhoneConfig as k, type PhoneDisplayFormat as l, type TrackedField as m, type TrackingInitConfig as n, formatPhone as o, formatPhoneAsTyped as p, getConsentChoice as q, getConsentState as r, onConsentChange as s, optIn as t, optOut as u, parsePhone as v, phoneField as w, resetConsent as x, setConsentState as y, toE164 as z };
397
+ export { type ConsentChoice as C, DEFAULT_DECLINE_TTL_DAYS as D, type GtagEnvironmentMap as G, type MetaPixelEnvironmentMap as M, type ParsedPhone as P, type SetConsentOptions as S, type TrackingParams as T, type TrackingInstallSurface as a, type TrackingEnvironment as b, type TrackingClientContext as c, type TrackingEventCreatePayload as d, type TrackingSessionUpsertPayload as e, type ConsentChoiceState as f, type ConsentSource as g, type ConsentState as h, DEFAULT_PHONE_COUNTRY as i, type PhoneConfig as j, type PhoneDisplayFormat as k, type TrackedField as l, type TrackingInitConfig as m, formatPhone as n, formatPhoneAsTyped as o, getConsentChoice as p, getConsentState as q, onConsentChange as r, optIn as s, optOut as t, parsePhone as u, phoneField as v, resetConsent as w, setConsentState as x, toE164 as y };
@@ -1,78 +1,6 @@
1
- import * as z from 'zod/mini';
1
+ import { J as JsonValue } from './form-submit-BLb28aCk.js';
2
2
  import { CountryCode } from 'libphonenumber-js';
3
3
 
4
- /**
5
- * JSON-serializable value accepted by `form_submit.fields[].value`.
6
- *
7
- * This intentionally excludes `undefined`, functions, symbols, `Date`
8
- * instances, and non-finite numbers. Values are stored in PostgreSQL JSONB, so
9
- * consumers should send only data that has a stable JSON representation.
10
- */
11
- type JsonValue = string | number | boolean | null | JsonValue[] | {
12
- [key: string]: JsonValue;
13
- };
14
- /**
15
- * Metadata for a manually fired `form_submit` event.
16
- *
17
- * Register the event with `manual: { form_submit: {} }`, then call
18
- * `trackEvent('form_submit', metadata)` from the host site's submit handler.
19
- *
20
- * `fields` is optional. If present, each value must be JSON-serializable. Client
21
- * integrations may intentionally capture raw submitted lead data (including name,
22
- * email, phone, address, selections, and free text) for first-party analytics and
23
- * lead operations. Submitted file data is supported after conversion to a
24
- * JSON-serializable representation; upload larger files separately and send a storage
25
- * reference. Never include credentials, authentication tokens, payment-card or bank
26
- * secrets, or private keys.
27
- *
28
- * No byte limit is enforced on this metadata, here or on the server — `fields` and its
29
- * values are unbounded. Keep inlined payloads small anyway: a submit fired just before
30
- * navigation flushes over `keepalive`, which browsers cap near 64 KB and drop silently.
31
- *
32
- * @example
33
- * ```ts
34
- * tracking.trackEvent('form_submit', {
35
- * form: {
36
- * id: 'lead-form',
37
- * action: '/api/lead',
38
- * fields: [
39
- * {
40
- * name: 'service_interest',
41
- * type: 'select',
42
- * label: 'Service interest',
43
- * value: 'teeth_whitening',
44
- * },
45
- * ],
46
- * },
47
- * page: { path: window.location.pathname },
48
- * });
49
- * ```
50
- */
51
- declare const formSubmitMetadataSchema: z.ZodMiniObject<{
52
- form: z.ZodMiniObject<{
53
- id: z.ZodMiniString<string>;
54
- action: z.ZodMiniNullable<z.ZodMiniString<string>>;
55
- fields: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniObject<{
56
- name: z.ZodMiniString<string>;
57
- type: z.ZodMiniString<string>;
58
- label: z.ZodMiniNullable<z.ZodMiniString<string>>;
59
- value: z.ZodMiniType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>;
60
- }, z.core.$strict>>>;
61
- }, z.core.$strict>;
62
- page: z.ZodMiniObject<{
63
- path: z.ZodMiniString<string>;
64
- }, z.core.$strict>;
65
- }, z.core.$strict>;
66
- type FormSubmitMetadata = z.infer<typeof formSubmitMetadataSchema>;
67
- /**
68
- * Registration config for `form_submit`.
69
- *
70
- * This event is manual-only and currently has no registration options. The
71
- * empty object enables typed `trackEvent('form_submit', ...)` calls.
72
- */
73
- declare const formSubmitConfigSchema: z.ZodMiniObject<{}, z.core.$strict>;
74
- type FormSubmitConfig = z.infer<typeof formSubmitConfigSchema>;
75
-
76
4
  /**
77
5
  * How a phone number is shown in the UI. The transmitted value is always E.164
78
6
  * and is deliberately NOT part of this — only the display format is configurable.
@@ -466,4 +394,4 @@ declare function optOut(options?: SetConsentOptions): void;
466
394
  */
467
395
  declare function resetConsent(): void;
468
396
 
469
- export { type ConsentChoice as C, DEFAULT_DECLINE_TTL_DAYS as D, type FormSubmitConfig as F, type GtagEnvironmentMap as G, type JsonValue as J, type MetaPixelEnvironmentMap as M, type ParsedPhone as P, type SetConsentOptions as S, type TrackingParams as T, type TrackingInstallSurface as a, type TrackingEnvironment as b, type TrackingClientContext as c, type TrackingEventCreatePayload as d, type TrackingSessionUpsertPayload as e, type ConsentChoiceState as f, type ConsentSource as g, type ConsentState as h, DEFAULT_PHONE_COUNTRY as i, type FormSubmitMetadata as j, type PhoneConfig as k, type PhoneDisplayFormat as l, type TrackedField as m, type TrackingInitConfig as n, formatPhone as o, formatPhoneAsTyped as p, getConsentChoice as q, getConsentState as r, onConsentChange as s, optIn as t, optOut as u, parsePhone as v, phoneField as w, resetConsent as x, setConsentState as y, toE164 as z };
397
+ export { type ConsentChoice as C, DEFAULT_DECLINE_TTL_DAYS as D, type GtagEnvironmentMap as G, type MetaPixelEnvironmentMap as M, type ParsedPhone as P, type SetConsentOptions as S, type TrackingParams as T, type TrackingInstallSurface as a, type TrackingEnvironment as b, type TrackingClientContext as c, type TrackingEventCreatePayload as d, type TrackingSessionUpsertPayload as e, type ConsentChoiceState as f, type ConsentSource as g, type ConsentState as h, DEFAULT_PHONE_COUNTRY as i, type PhoneConfig as j, type PhoneDisplayFormat as k, type TrackedField as l, type TrackingInitConfig as m, formatPhone as n, formatPhoneAsTyped as o, getConsentChoice as p, getConsentState as q, onConsentChange as r, optIn as s, optOut as t, parsePhone as u, phoneField as v, resetConsent as w, setConsentState as x, toE164 as y };
package/dist/phone.d.mts CHANGED
@@ -1,3 +1,4 @@
1
- export { i as DEFAULT_PHONE_COUNTRY, P as ParsedPhone, k as PhoneConfig, l as PhoneDisplayFormat, m as TrackedField, o as formatPhone, p as formatPhoneAsTyped, v as parsePhone, w as phoneField, z as toE164 } from './phone-utils-qLfVpQI7.mjs';
1
+ export { i as DEFAULT_PHONE_COUNTRY, P as ParsedPhone, j as PhoneConfig, k as PhoneDisplayFormat, l as TrackedField, n as formatPhone, o as formatPhoneAsTyped, u as parsePhone, v as phoneField, y as toE164 } from './phone-utils-CM8eUPz8.mjs';
2
2
  export { CountryCode } from 'libphonenumber-js';
3
+ import './form-submit-BLb28aCk.mjs';
3
4
  import 'zod/mini';
package/dist/phone.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export { i as DEFAULT_PHONE_COUNTRY, P as ParsedPhone, k as PhoneConfig, l as PhoneDisplayFormat, m as TrackedField, o as formatPhone, p as formatPhoneAsTyped, v as parsePhone, w as phoneField, z as toE164 } from './phone-utils-qLfVpQI7.js';
1
+ export { i as DEFAULT_PHONE_COUNTRY, P as ParsedPhone, j as PhoneConfig, k as PhoneDisplayFormat, l as TrackedField, n as formatPhone, o as formatPhoneAsTyped, u as parsePhone, v as phoneField, y as toE164 } from './phone-utils-l8ey3Zdm.js';
2
2
  export { CountryCode } from 'libphonenumber-js';
3
+ import './form-submit-BLb28aCk.js';
3
4
  import 'zod/mini';
@@ -1,5 +1,5 @@
1
1
  import * as z from 'zod/mini';
2
- import { a as ConversionConfigStore, c as TrackingConfigRuntime } from './tracking-config-runtime-C6H7ofmo.js';
2
+ import { S as SalesBookingsClient, g as ConversionConfigStore, l as TrackingConfigRuntime } from './bookings-CqCuuyP6.mjs';
3
3
  import { CountryCode } from 'libphonenumber-js';
4
4
 
5
5
  /** Raw identifiers a caller may hand us (normalized before use). */
@@ -44,6 +44,8 @@ declare const currencySchema: z.ZodMiniEnum<{
44
44
  }>;
45
45
  declare const SUPPORTED_CURRENCIES: ("USD" | "CAD")[];
46
46
  type SupportedCurrency = (typeof SUPPORTED_CURRENCIES)[number];
47
+ declare const SALE_SOURCES: ("autoleap" | "api" | "admin")[];
48
+ type SaleSource = (typeof SALE_SOURCES)[number];
47
49
  declare const TRACKING_ENVIRONMENTS: readonly ["production", "development"];
48
50
  declare const saleCreateSchema: z.ZodMiniObject<{
49
51
  amount_total_cents: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniInt>>;
@@ -118,6 +120,13 @@ interface SaleItem {
118
120
  unit_price_cents: number;
119
121
  unit_cost_cents: number | null;
120
122
  }
123
+ interface SaleSourceFacts {
124
+ invoice_id: string;
125
+ /** The shop system's repair-order number. */
126
+ invoice_code: string;
127
+ first_order: boolean;
128
+ fleet_customer: boolean;
129
+ }
121
130
  interface SaleService {
122
131
  id: string;
123
132
  service_id: string;
@@ -139,6 +148,10 @@ interface Sale {
139
148
  services: SaleService[];
140
149
  occurred_at: string;
141
150
  environment: (typeof TRACKING_ENVIRONMENTS)[number];
151
+ /** Which path created the sale: `api`, `admin` (dashboard), or a shop-system sync (`autoleap`). Server-set. */
152
+ source: SaleSource;
153
+ /** What the shop-system sync recorded about the invoice; `null` unless `source` is `autoleap`. Server-set. */
154
+ source_facts: SaleSourceFacts | null;
142
155
  metadata: Record<string, unknown> | null;
143
156
  customer_name: string | null;
144
157
  /** Operator attestation that a filler-looking `customer_name` is genuine. */
@@ -602,6 +615,11 @@ interface SalesClient<TService extends string = string, TConversion extends stri
602
615
  customers: SalesCustomersClient;
603
616
  /** Business config (pk or sk). */
604
617
  business: SalesBusinessClient;
618
+ /**
619
+ * Website bookings into the shop's own system (public key, browser only). Reads the
620
+ * booking rules from `firing` when it is the shared tracking-config runtime.
621
+ */
622
+ bookings: SalesBookingsClient;
605
623
  }
606
624
  declare function createSalesClient<TService extends string = string, TConversion extends string = string>(config: SalesClientConfig): SalesClient<TService, TConversion>;
607
625
 
@@ -616,10 +634,13 @@ declare class AranovaApiError extends Error {
616
634
  readonly status: number;
617
635
  readonly code: string | undefined;
618
636
  readonly requestId: string | undefined;
637
+ /** The error envelope's machine-readable `context`, when the API sent one. */
638
+ readonly context: Record<string, unknown> | undefined;
619
639
  constructor(message: string, options: {
620
640
  status: number;
621
641
  code?: string;
622
642
  requestId?: string;
643
+ context?: Record<string, unknown>;
623
644
  });
624
645
  }
625
646
 
@@ -659,4 +680,4 @@ interface PublicServiceItem {
659
680
  */
660
681
  declare function fetchServices(config: SalesTransportConfig): Promise<PublicServiceItem[]>;
661
682
 
662
- export { type SalesCategoryBreakdown as $, AranovaApiError as A, type BusinessConfig as B, type CompareTo as C, type DistinctCustomersByCurrency as D, type EffectiveSaleProperty as E, type SaleItemInput as F, type Granularity as G, type SaleKeysetSortField as H, type SaleListPage as I, type SaleListQuery as J, type SaleListQueryV2 as K, type SalePropertyOption as L, type SalePropertyType as M, NAMED_RANGES as N, type SaleService as O, type PublicServiceItem as P, type SaleServiceInput as Q, type SaleSortField as R, SUPPORTED_CURRENCIES as S, type SaleSortOrder as T, type SaleSummary as U, type SaleSummaryPrevious as V, type SaleSummaryQuery as W, type SaleSummaryQueryV2 as X, type SaleSummaryV2 as Y, type SaleUpdateInput as Z, type SalesBusinessClient as _, type BusinessConfigFeatures as a, type SalesClient as a0, type SalesClientConfig as a1, type SalesCustomersClient as a2, type SalesServiceBreakdown as a3, type SalesTransportConfig as a4, type SalesTrendPoint as a5, type SummaryCurrencyDelta as a6, type SummaryDeltas as a7, type SummaryWindow as a8, type SupportedCurrency as a9, TRACKING_RANGES as aa, type TrackingOverviewRange as ab, clearStashedUserData as ac, createSalesClient as ad, currencySchema as ae, fetchServices as af, formatDateInTz as ag, formatMoney as ah, fromMinor as ai, saleCreateSchema as aj, saleItemSchema as ak, saleServiceSchema as al, saleUpdateSchema as am, salesRequest as an, stashUserData as ao, toMinor as ap, type BusinessConfigService as b, type ConversionUserData as c, type CurrencyRevenue as d, type CustomerCurrencyDelta as e, type CustomerCurrencyTotal as f, type CustomerGetOptions as g, type CustomerGetResult as h, type CustomerKpis as i, type CustomerKpisDeltas as j, type CustomerKpisPrevious as k, type CustomerListPage as l, type CustomerListQuery as m, type CustomerProfile as n, type CustomerSegment as o, type CustomerSegmentCount as p, type CustomerSortField as q, type CustomerSummary as r, type CustomerSummaryQuery as s, type NamedRange as t, type Sale as u, type SaleBuiltinRequirableField as v, type SaleCursorPage as w, type SaleFilters as x, type SaleInput as y, type SaleItem as z };
683
+ export { type SaleSummaryV2 as $, AranovaApiError as A, type BusinessConfig as B, type CompareTo as C, type DistinctCustomersByCurrency as D, type EffectiveSaleProperty as E, type SaleItem as F, type Granularity as G, type SaleItemInput as H, type SaleKeysetSortField as I, type SaleListPage as J, type SaleListQuery as K, type SaleListQueryV2 as L, type SalePropertyOption as M, NAMED_RANGES as N, type SalePropertyType as O, type PublicServiceItem as P, type SaleService as Q, type SaleServiceInput as R, SALE_SOURCES as S, type SaleSortField as T, type SaleSortOrder as U, type SaleSource as V, type SaleSourceFacts as W, type SaleSummary as X, type SaleSummaryPrevious as Y, type SaleSummaryQuery as Z, type SaleSummaryQueryV2 as _, type BusinessConfigFeatures as a, type SaleUpdateInput as a0, type SalesBusinessClient as a1, type SalesCategoryBreakdown as a2, type SalesClient as a3, type SalesClientConfig as a4, type SalesCustomersClient as a5, type SalesServiceBreakdown as a6, type SalesTransportConfig as a7, type SalesTrendPoint as a8, type SummaryCurrencyDelta as a9, type SummaryDeltas as aa, type SummaryWindow as ab, type SupportedCurrency as ac, TRACKING_RANGES as ad, type TrackingOverviewRange as ae, clearStashedUserData as af, createSalesClient as ag, currencySchema as ah, fetchServices as ai, formatDateInTz as aj, formatMoney as ak, fromMinor as al, saleCreateSchema as am, saleItemSchema as an, saleServiceSchema as ao, saleUpdateSchema as ap, salesRequest as aq, stashUserData as ar, toMinor as as, type BusinessConfigService as b, type ConversionUserData as c, type CurrencyRevenue as d, type CustomerCurrencyDelta as e, type CustomerCurrencyTotal as f, type CustomerGetOptions as g, type CustomerGetResult as h, type CustomerKpis as i, type CustomerKpisDeltas as j, type CustomerKpisPrevious as k, type CustomerListPage as l, type CustomerListQuery as m, type CustomerProfile as n, type CustomerSegment as o, type CustomerSegmentCount as p, type CustomerSortField as q, type CustomerSummary as r, type CustomerSummaryQuery as s, type NamedRange as t, SUPPORTED_CURRENCIES as u, type Sale as v, type SaleBuiltinRequirableField as w, type SaleCursorPage as x, type SaleFilters as y, type SaleInput as z };
@@ -1,5 +1,5 @@
1
1
  import * as z from 'zod/mini';
2
- import { a as ConversionConfigStore, c as TrackingConfigRuntime } from './tracking-config-runtime-C6H7ofmo.mjs';
2
+ import { S as SalesBookingsClient, g as ConversionConfigStore, l as TrackingConfigRuntime } from './bookings-DIu1ho6v.js';
3
3
  import { CountryCode } from 'libphonenumber-js';
4
4
 
5
5
  /** Raw identifiers a caller may hand us (normalized before use). */
@@ -44,6 +44,8 @@ declare const currencySchema: z.ZodMiniEnum<{
44
44
  }>;
45
45
  declare const SUPPORTED_CURRENCIES: ("USD" | "CAD")[];
46
46
  type SupportedCurrency = (typeof SUPPORTED_CURRENCIES)[number];
47
+ declare const SALE_SOURCES: ("autoleap" | "api" | "admin")[];
48
+ type SaleSource = (typeof SALE_SOURCES)[number];
47
49
  declare const TRACKING_ENVIRONMENTS: readonly ["production", "development"];
48
50
  declare const saleCreateSchema: z.ZodMiniObject<{
49
51
  amount_total_cents: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniInt>>;
@@ -118,6 +120,13 @@ interface SaleItem {
118
120
  unit_price_cents: number;
119
121
  unit_cost_cents: number | null;
120
122
  }
123
+ interface SaleSourceFacts {
124
+ invoice_id: string;
125
+ /** The shop system's repair-order number. */
126
+ invoice_code: string;
127
+ first_order: boolean;
128
+ fleet_customer: boolean;
129
+ }
121
130
  interface SaleService {
122
131
  id: string;
123
132
  service_id: string;
@@ -139,6 +148,10 @@ interface Sale {
139
148
  services: SaleService[];
140
149
  occurred_at: string;
141
150
  environment: (typeof TRACKING_ENVIRONMENTS)[number];
151
+ /** Which path created the sale: `api`, `admin` (dashboard), or a shop-system sync (`autoleap`). Server-set. */
152
+ source: SaleSource;
153
+ /** What the shop-system sync recorded about the invoice; `null` unless `source` is `autoleap`. Server-set. */
154
+ source_facts: SaleSourceFacts | null;
142
155
  metadata: Record<string, unknown> | null;
143
156
  customer_name: string | null;
144
157
  /** Operator attestation that a filler-looking `customer_name` is genuine. */
@@ -602,6 +615,11 @@ interface SalesClient<TService extends string = string, TConversion extends stri
602
615
  customers: SalesCustomersClient;
603
616
  /** Business config (pk or sk). */
604
617
  business: SalesBusinessClient;
618
+ /**
619
+ * Website bookings into the shop's own system (public key, browser only). Reads the
620
+ * booking rules from `firing` when it is the shared tracking-config runtime.
621
+ */
622
+ bookings: SalesBookingsClient;
605
623
  }
606
624
  declare function createSalesClient<TService extends string = string, TConversion extends string = string>(config: SalesClientConfig): SalesClient<TService, TConversion>;
607
625
 
@@ -616,10 +634,13 @@ declare class AranovaApiError extends Error {
616
634
  readonly status: number;
617
635
  readonly code: string | undefined;
618
636
  readonly requestId: string | undefined;
637
+ /** The error envelope's machine-readable `context`, when the API sent one. */
638
+ readonly context: Record<string, unknown> | undefined;
619
639
  constructor(message: string, options: {
620
640
  status: number;
621
641
  code?: string;
622
642
  requestId?: string;
643
+ context?: Record<string, unknown>;
623
644
  });
624
645
  }
625
646
 
@@ -659,4 +680,4 @@ interface PublicServiceItem {
659
680
  */
660
681
  declare function fetchServices(config: SalesTransportConfig): Promise<PublicServiceItem[]>;
661
682
 
662
- export { type SalesCategoryBreakdown as $, AranovaApiError as A, type BusinessConfig as B, type CompareTo as C, type DistinctCustomersByCurrency as D, type EffectiveSaleProperty as E, type SaleItemInput as F, type Granularity as G, type SaleKeysetSortField as H, type SaleListPage as I, type SaleListQuery as J, type SaleListQueryV2 as K, type SalePropertyOption as L, type SalePropertyType as M, NAMED_RANGES as N, type SaleService as O, type PublicServiceItem as P, type SaleServiceInput as Q, type SaleSortField as R, SUPPORTED_CURRENCIES as S, type SaleSortOrder as T, type SaleSummary as U, type SaleSummaryPrevious as V, type SaleSummaryQuery as W, type SaleSummaryQueryV2 as X, type SaleSummaryV2 as Y, type SaleUpdateInput as Z, type SalesBusinessClient as _, type BusinessConfigFeatures as a, type SalesClient as a0, type SalesClientConfig as a1, type SalesCustomersClient as a2, type SalesServiceBreakdown as a3, type SalesTransportConfig as a4, type SalesTrendPoint as a5, type SummaryCurrencyDelta as a6, type SummaryDeltas as a7, type SummaryWindow as a8, type SupportedCurrency as a9, TRACKING_RANGES as aa, type TrackingOverviewRange as ab, clearStashedUserData as ac, createSalesClient as ad, currencySchema as ae, fetchServices as af, formatDateInTz as ag, formatMoney as ah, fromMinor as ai, saleCreateSchema as aj, saleItemSchema as ak, saleServiceSchema as al, saleUpdateSchema as am, salesRequest as an, stashUserData as ao, toMinor as ap, type BusinessConfigService as b, type ConversionUserData as c, type CurrencyRevenue as d, type CustomerCurrencyDelta as e, type CustomerCurrencyTotal as f, type CustomerGetOptions as g, type CustomerGetResult as h, type CustomerKpis as i, type CustomerKpisDeltas as j, type CustomerKpisPrevious as k, type CustomerListPage as l, type CustomerListQuery as m, type CustomerProfile as n, type CustomerSegment as o, type CustomerSegmentCount as p, type CustomerSortField as q, type CustomerSummary as r, type CustomerSummaryQuery as s, type NamedRange as t, type Sale as u, type SaleBuiltinRequirableField as v, type SaleCursorPage as w, type SaleFilters as x, type SaleInput as y, type SaleItem as z };
683
+ export { type SaleSummaryV2 as $, AranovaApiError as A, type BusinessConfig as B, type CompareTo as C, type DistinctCustomersByCurrency as D, type EffectiveSaleProperty as E, type SaleItem as F, type Granularity as G, type SaleItemInput as H, type SaleKeysetSortField as I, type SaleListPage as J, type SaleListQuery as K, type SaleListQueryV2 as L, type SalePropertyOption as M, NAMED_RANGES as N, type SalePropertyType as O, type PublicServiceItem as P, type SaleService as Q, type SaleServiceInput as R, SALE_SOURCES as S, type SaleSortField as T, type SaleSortOrder as U, type SaleSource as V, type SaleSourceFacts as W, type SaleSummary as X, type SaleSummaryPrevious as Y, type SaleSummaryQuery as Z, type SaleSummaryQueryV2 as _, type BusinessConfigFeatures as a, type SaleUpdateInput as a0, type SalesBusinessClient as a1, type SalesCategoryBreakdown as a2, type SalesClient as a3, type SalesClientConfig as a4, type SalesCustomersClient as a5, type SalesServiceBreakdown as a6, type SalesTransportConfig as a7, type SalesTrendPoint as a8, type SummaryCurrencyDelta as a9, type SummaryDeltas as aa, type SummaryWindow as ab, type SupportedCurrency as ac, TRACKING_RANGES as ad, type TrackingOverviewRange as ae, clearStashedUserData as af, createSalesClient as ag, currencySchema as ah, fetchServices as ai, formatDateInTz as aj, formatMoney as ak, fromMinor as al, saleCreateSchema as am, saleItemSchema as an, saleServiceSchema as ao, saleUpdateSchema as ap, salesRequest as aq, stashUserData as ar, toMinor as as, type BusinessConfigService as b, type ConversionUserData as c, type CurrencyRevenue as d, type CustomerCurrencyDelta as e, type CustomerCurrencyTotal as f, type CustomerGetOptions as g, type CustomerGetResult as h, type CustomerKpis as i, type CustomerKpisDeltas as j, type CustomerKpisPrevious as k, type CustomerListPage as l, type CustomerListQuery as m, type CustomerProfile as n, type CustomerSegment as o, type CustomerSegmentCount as p, type CustomerSortField as q, type CustomerSummary as r, type CustomerSummaryQuery as s, type NamedRange as t, SUPPORTED_CURRENCIES as u, type Sale as v, type SaleBuiltinRequirableField as w, type SaleCursorPage as x, type SaleFilters as y, type SaleInput as z };
package/dist/sales.d.mts CHANGED
@@ -1,4 +1,5 @@
1
- export { A as AranovaApiError, B as BusinessConfig, a as BusinessConfigFeatures, b as BusinessConfigService, C as CompareTo, d as CurrencyRevenue, e as CustomerCurrencyDelta, f as CustomerCurrencyTotal, g as CustomerGetOptions, h as CustomerGetResult, i as CustomerKpis, j as CustomerKpisDeltas, k as CustomerKpisPrevious, l as CustomerListPage, m as CustomerListQuery, n as CustomerProfile, o as CustomerSegment, p as CustomerSegmentCount, q as CustomerSortField, r as CustomerSummary, s as CustomerSummaryQuery, D as DistinctCustomersByCurrency, E as EffectiveSaleProperty, G as Granularity, N as NAMED_RANGES, t as NamedRange, P as PublicServiceItem, S as SUPPORTED_CURRENCIES, u as Sale, v as SaleBuiltinRequirableField, w as SaleCursorPage, x as SaleFilters, y as SaleInput, z as SaleItem, F as SaleItemInput, H as SaleKeysetSortField, I as SaleListPage, J as SaleListQuery, K as SaleListQueryV2, L as SalePropertyOption, M as SalePropertyType, O as SaleService, Q as SaleServiceInput, R as SaleSortField, T as SaleSortOrder, U as SaleSummary, V as SaleSummaryPrevious, W as SaleSummaryQuery, X as SaleSummaryQueryV2, Y as SaleSummaryV2, Z as SaleUpdateInput, _ as SalesBusinessClient, $ as SalesCategoryBreakdown, a0 as SalesClient, a1 as SalesClientConfig, a2 as SalesCustomersClient, a3 as SalesServiceBreakdown, a4 as SalesTransportConfig, a5 as SalesTrendPoint, a6 as SummaryCurrencyDelta, a7 as SummaryDeltas, a8 as SummaryWindow, a9 as SupportedCurrency, aa as TRACKING_RANGES, ab as TrackingOverviewRange, ad as createSalesClient, ae as currencySchema, af as fetchServices, ag as formatDateInTz, ah as formatMoney, ai as fromMinor, aj as saleCreateSchema, ak as saleItemSchema, al as saleServiceSchema, am as saleUpdateSchema, an as salesRequest, ap as toMinor } from './sales-BuKD_bdo.mjs';
1
+ export { A as AranovaApiError, B as BusinessConfig, a as BusinessConfigFeatures, b as BusinessConfigService, C as CompareTo, d as CurrencyRevenue, e as CustomerCurrencyDelta, f as CustomerCurrencyTotal, g as CustomerGetOptions, h as CustomerGetResult, i as CustomerKpis, j as CustomerKpisDeltas, k as CustomerKpisPrevious, l as CustomerListPage, m as CustomerListQuery, n as CustomerProfile, o as CustomerSegment, p as CustomerSegmentCount, q as CustomerSortField, r as CustomerSummary, s as CustomerSummaryQuery, D as DistinctCustomersByCurrency, E as EffectiveSaleProperty, G as Granularity, N as NAMED_RANGES, t as NamedRange, P as PublicServiceItem, S as SALE_SOURCES, u as SUPPORTED_CURRENCIES, v as Sale, w as SaleBuiltinRequirableField, x as SaleCursorPage, y as SaleFilters, z as SaleInput, F as SaleItem, H as SaleItemInput, I as SaleKeysetSortField, J as SaleListPage, K as SaleListQuery, L as SaleListQueryV2, M as SalePropertyOption, O as SalePropertyType, Q as SaleService, R as SaleServiceInput, T as SaleSortField, U as SaleSortOrder, V as SaleSource, W as SaleSourceFacts, X as SaleSummary, Y as SaleSummaryPrevious, Z as SaleSummaryQuery, _ as SaleSummaryQueryV2, $ as SaleSummaryV2, a0 as SaleUpdateInput, a1 as SalesBusinessClient, a2 as SalesCategoryBreakdown, a3 as SalesClient, a4 as SalesClientConfig, a5 as SalesCustomersClient, a6 as SalesServiceBreakdown, a7 as SalesTransportConfig, a8 as SalesTrendPoint, a9 as SummaryCurrencyDelta, aa as SummaryDeltas, ab as SummaryWindow, ac as SupportedCurrency, ad as TRACKING_RANGES, ae as TrackingOverviewRange, ag as createSalesClient, ah as currencySchema, ai as fetchServices, aj as formatDateInTz, ak as formatMoney, al as fromMinor, am as saleCreateSchema, an as saleItemSchema, ao as saleServiceSchema, ap as saleUpdateSchema, aq as salesRequest, as as toMinor } from './sales-CxJVthx_.mjs';
2
+ export { B as BookingDropOff, a as BookingFormSubmit, b as BookingInput, c as BookingMode, d as BookingOutcome, e as BookingSimulation, f as BookingSubmitOptions, S as SalesBookingsClient, n as newBookingAttemptKey } from './bookings-CqCuuyP6.mjs';
2
3
  import 'zod/mini';
3
- import './tracking-config-runtime-C6H7ofmo.mjs';
4
4
  import 'libphonenumber-js';
5
+ import './form-submit-BLb28aCk.mjs';
package/dist/sales.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export { A as AranovaApiError, B as BusinessConfig, a as BusinessConfigFeatures, b as BusinessConfigService, C as CompareTo, d as CurrencyRevenue, e as CustomerCurrencyDelta, f as CustomerCurrencyTotal, g as CustomerGetOptions, h as CustomerGetResult, i as CustomerKpis, j as CustomerKpisDeltas, k as CustomerKpisPrevious, l as CustomerListPage, m as CustomerListQuery, n as CustomerProfile, o as CustomerSegment, p as CustomerSegmentCount, q as CustomerSortField, r as CustomerSummary, s as CustomerSummaryQuery, D as DistinctCustomersByCurrency, E as EffectiveSaleProperty, G as Granularity, N as NAMED_RANGES, t as NamedRange, P as PublicServiceItem, S as SUPPORTED_CURRENCIES, u as Sale, v as SaleBuiltinRequirableField, w as SaleCursorPage, x as SaleFilters, y as SaleInput, z as SaleItem, F as SaleItemInput, H as SaleKeysetSortField, I as SaleListPage, J as SaleListQuery, K as SaleListQueryV2, L as SalePropertyOption, M as SalePropertyType, O as SaleService, Q as SaleServiceInput, R as SaleSortField, T as SaleSortOrder, U as SaleSummary, V as SaleSummaryPrevious, W as SaleSummaryQuery, X as SaleSummaryQueryV2, Y as SaleSummaryV2, Z as SaleUpdateInput, _ as SalesBusinessClient, $ as SalesCategoryBreakdown, a0 as SalesClient, a1 as SalesClientConfig, a2 as SalesCustomersClient, a3 as SalesServiceBreakdown, a4 as SalesTransportConfig, a5 as SalesTrendPoint, a6 as SummaryCurrencyDelta, a7 as SummaryDeltas, a8 as SummaryWindow, a9 as SupportedCurrency, aa as TRACKING_RANGES, ab as TrackingOverviewRange, ad as createSalesClient, ae as currencySchema, af as fetchServices, ag as formatDateInTz, ah as formatMoney, ai as fromMinor, aj as saleCreateSchema, ak as saleItemSchema, al as saleServiceSchema, am as saleUpdateSchema, an as salesRequest, ap as toMinor } from './sales-C3O_xxZ_.js';
1
+ export { A as AranovaApiError, B as BusinessConfig, a as BusinessConfigFeatures, b as BusinessConfigService, C as CompareTo, d as CurrencyRevenue, e as CustomerCurrencyDelta, f as CustomerCurrencyTotal, g as CustomerGetOptions, h as CustomerGetResult, i as CustomerKpis, j as CustomerKpisDeltas, k as CustomerKpisPrevious, l as CustomerListPage, m as CustomerListQuery, n as CustomerProfile, o as CustomerSegment, p as CustomerSegmentCount, q as CustomerSortField, r as CustomerSummary, s as CustomerSummaryQuery, D as DistinctCustomersByCurrency, E as EffectiveSaleProperty, G as Granularity, N as NAMED_RANGES, t as NamedRange, P as PublicServiceItem, S as SALE_SOURCES, u as SUPPORTED_CURRENCIES, v as Sale, w as SaleBuiltinRequirableField, x as SaleCursorPage, y as SaleFilters, z as SaleInput, F as SaleItem, H as SaleItemInput, I as SaleKeysetSortField, J as SaleListPage, K as SaleListQuery, L as SaleListQueryV2, M as SalePropertyOption, O as SalePropertyType, Q as SaleService, R as SaleServiceInput, T as SaleSortField, U as SaleSortOrder, V as SaleSource, W as SaleSourceFacts, X as SaleSummary, Y as SaleSummaryPrevious, Z as SaleSummaryQuery, _ as SaleSummaryQueryV2, $ as SaleSummaryV2, a0 as SaleUpdateInput, a1 as SalesBusinessClient, a2 as SalesCategoryBreakdown, a3 as SalesClient, a4 as SalesClientConfig, a5 as SalesCustomersClient, a6 as SalesServiceBreakdown, a7 as SalesTransportConfig, a8 as SalesTrendPoint, a9 as SummaryCurrencyDelta, aa as SummaryDeltas, ab as SummaryWindow, ac as SupportedCurrency, ad as TRACKING_RANGES, ae as TrackingOverviewRange, ag as createSalesClient, ah as currencySchema, ai as fetchServices, aj as formatDateInTz, ak as formatMoney, al as fromMinor, am as saleCreateSchema, an as saleItemSchema, ao as saleServiceSchema, ap as saleUpdateSchema, aq as salesRequest, as as toMinor } from './sales-hlcVTJSS.js';
2
+ export { B as BookingDropOff, a as BookingFormSubmit, b as BookingInput, c as BookingMode, d as BookingOutcome, e as BookingSimulation, f as BookingSubmitOptions, S as SalesBookingsClient, n as newBookingAttemptKey } from './bookings-DIu1ho6v.js';
2
3
  import 'zod/mini';
3
- import './tracking-config-runtime-C6H7ofmo.js';
4
4
  import 'libphonenumber-js';
5
+ import './form-submit-BLb28aCk.js';