@voyantjs/bookings 0.52.3 → 0.53.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/index.d.ts CHANGED
@@ -20,7 +20,7 @@ export interface BookingsHonoModuleOptions extends BookingRouteRuntimeOptions {
20
20
  }
21
21
  export declare function createBookingsHonoModule(options?: BookingsHonoModuleOptions): HonoModule;
22
22
  export declare const bookingsHonoModule: HonoModule;
23
- export type { BookingRouteRuntime, BookingRouteRuntimeOptions, ResolveBookingKmsProvider, } from "./route-runtime.js";
23
+ export type { BookingPersonResolverContact, BookingRouteRuntime, BookingRouteRuntimeOptions, ResolveBookingBillingPerson, ResolveBookingKmsProvider, ResolveBookingTravelerPerson, ResolveBookingTravelSnapshot, } from "./route-runtime.js";
24
24
  export { BOOKING_ROUTE_RUNTIME_CONTAINER_KEY, buildBookingRouteRuntime, } from "./route-runtime.js";
25
25
  export type { BookingActionLedgerListResponse, BookingRoutes } from "./routes.js";
26
26
  export type { PublicBookingRoutes } from "./routes-public.js";
@@ -29,6 +29,6 @@ export type { BookingTravelerBedPreference, BookingTravelerDietary, BookingTrave
29
29
  export { bookingTravelerBedPreferenceSchema, bookingTravelerDietarySchema, bookingTravelerIdentitySchema, bookingTravelerTravelDetailInsertSchema, bookingTravelerTravelDetailSelectSchema, bookingTravelerTravelDetails, bookingTravelerTravelDetailUpdateSchema, decryptedBookingTravelerTravelDetailSchema, travelerAllocationMapSchema, } from "./schema/travel-details.js";
30
30
  export type { Booking, BookingActivity, BookingAllocation, BookingDocument, BookingFulfillment, BookingGroup, BookingGroupMember, BookingItem, BookingItemTraveler, BookingNote, BookingPiiAccessLog, BookingPriceOverride, BookingRedemptionEvent, BookingSessionState, BookingStaffAssignment, BookingSupplierStatus, BookingTraveler, NewBooking, NewBookingActivity, NewBookingAllocation, NewBookingDocument, NewBookingFulfillment, NewBookingGroup, NewBookingGroupMember, NewBookingItem, NewBookingItemTraveler, NewBookingNote, NewBookingPiiAccessLog, NewBookingRedemptionEvent, NewBookingSessionState, NewBookingStaffAssignment, NewBookingSupplierStatus, NewBookingTraveler, } from "./schema.js";
31
31
  export { bookingActivityLog, bookingAllocations, bookingDocuments, bookingFulfillments, bookingGroupKindEnum, bookingGroupMemberRoleEnum, bookingGroupMembers, bookingGroups, bookingItems, bookingItemTravelers, bookingNotes, bookingPiiAccessLog, bookingRedemptionEvents, bookingSessionStates, bookingStaffAssignments, bookingSupplierStatuses, bookings, bookingTravelers, } from "./schema.js";
32
- export { publicBookingsService, resolveSessionPricingSnapshot } from "./service-public.js";
32
+ export { type PublicBookingsServiceResolvers, publicBookingsService, resolveSessionPricingSnapshot, } from "./service-public.js";
33
33
  export { addBookingGroupMemberSchema, bookingGroupKindSchema, bookingGroupListQuerySchema, bookingGroupMemberRoleSchema, bookingListQuerySchema, bookingPriceOverrideSchema, cancelBookingSchema, completeBookingSchema, confirmBookingSchema, convertProductSchema, createBookingSchema, createTravelerWithTravelDetailsSchema, expireBookingSchema, expireStaleBookingsSchema, extendBookingHoldSchema, insertBookingAllocationSchema, insertBookingDocumentSchema, insertBookingFulfillmentSchema, insertBookingGroupSchema, insertBookingItemSchema, insertBookingItemTravelerSchema, insertBookingNoteSchema, insertBookingSchema, insertBookingTravelerDocumentSchema, insertSupplierStatusSchema, insertTravelerSchema, internalBookingOverviewLookupQuerySchema, overrideBookingStatusSchema, pricingPreviewSchema, publicBookingOverviewLookupQuerySchema, publicBookingSessionMutationSchema, publicBookingSessionRepriceItemSchema, publicBookingSessionRepriceResultSchema, publicBookingSessionRepriceSummarySchema, publicBookingSessionStateSchema, publicCreateBookingSessionSchema, publicRepriceBookingSessionSchema, publicUpdateBookingSessionSchema, publicUpsertBookingSessionStateSchema, recordBookingRedemptionSchema, reserveBookingFromTransactionSchema, reserveBookingSchema, sharingGroupsForSlotQuerySchema, startBookingSchema, updateBookingAllocationSchema, updateBookingFulfillmentSchema, updateBookingGroupSchema, updateBookingItemSchema, updateBookingSchema, updateSupplierStatusSchema, updateTravelerSchema, updateTravelerWithTravelDetailsSchema, upsertTravelerTravelDetailsSchema, } from "./validation.js";
34
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -42,5 +42,5 @@ export { BOOKING_ROUTE_RUNTIME_CONTAINER_KEY, buildBookingRouteRuntime, } from "
42
42
  export { publicBookingRoutes } from "./routes-public.js";
43
43
  export { bookingTravelerBedPreferenceSchema, bookingTravelerDietarySchema, bookingTravelerIdentitySchema, bookingTravelerTravelDetailInsertSchema, bookingTravelerTravelDetailSelectSchema, bookingTravelerTravelDetails, bookingTravelerTravelDetailUpdateSchema, decryptedBookingTravelerTravelDetailSchema, travelerAllocationMapSchema, } from "./schema/travel-details.js";
44
44
  export { bookingActivityLog, bookingAllocations, bookingDocuments, bookingFulfillments, bookingGroupKindEnum, bookingGroupMemberRoleEnum, bookingGroupMembers, bookingGroups, bookingItems, bookingItemTravelers, bookingNotes, bookingPiiAccessLog, bookingRedemptionEvents, bookingSessionStates, bookingStaffAssignments, bookingSupplierStatuses, bookings, bookingTravelers, } from "./schema.js";
45
- export { publicBookingsService, resolveSessionPricingSnapshot } from "./service-public.js";
45
+ export { publicBookingsService, resolveSessionPricingSnapshot, } from "./service-public.js";
46
46
  export { addBookingGroupMemberSchema, bookingGroupKindSchema, bookingGroupListQuerySchema, bookingGroupMemberRoleSchema, bookingListQuerySchema, bookingPriceOverrideSchema, cancelBookingSchema, completeBookingSchema, confirmBookingSchema, convertProductSchema, createBookingSchema, createTravelerWithTravelDetailsSchema, expireBookingSchema, expireStaleBookingsSchema, extendBookingHoldSchema, insertBookingAllocationSchema, insertBookingDocumentSchema, insertBookingFulfillmentSchema, insertBookingGroupSchema, insertBookingItemSchema, insertBookingItemTravelerSchema, insertBookingNoteSchema, insertBookingSchema, insertBookingTravelerDocumentSchema, insertSupplierStatusSchema, insertTravelerSchema, internalBookingOverviewLookupQuerySchema, overrideBookingStatusSchema, pricingPreviewSchema, publicBookingOverviewLookupQuerySchema, publicBookingSessionMutationSchema, publicBookingSessionRepriceItemSchema, publicBookingSessionRepriceResultSchema, publicBookingSessionRepriceSummarySchema, publicBookingSessionStateSchema, publicCreateBookingSessionSchema, publicRepriceBookingSessionSchema, publicUpdateBookingSessionSchema, publicUpsertBookingSessionStateSchema, recordBookingRedemptionSchema, reserveBookingFromTransactionSchema, reserveBookingSchema, sharingGroupsForSlotQuerySchema, startBookingSchema, updateBookingAllocationSchema, updateBookingFulfillmentSchema, updateBookingGroupSchema, updateBookingItemSchema, updateBookingSchema, updateSupplierStatusSchema, updateTravelerSchema, updateTravelerWithTravelDetailsSchema, upsertTravelerTravelDetailsSchema, } from "./validation.js";
@@ -15,9 +15,49 @@ export declare const BOOKING_ROUTE_RUNTIME_CONTAINER_KEY = "runtime.bookings.rou
15
15
  export type ResolveBookingTravelSnapshot = (db: PostgresJsDatabase, personId: string, ctx: {
16
16
  kms: KmsProvider;
17
17
  }) => Promise<BookingTravelerSnapshot | null>;
18
+ /**
19
+ * Best-effort contact snapshot the booking-session bootstrap + update
20
+ * flows hand to the caller's person resolver. Mirrors the storefront
21
+ * lead-intake `StorefrontLeadContact` shape so the same resolver can
22
+ * service both surfaces.
23
+ */
24
+ export interface BookingPersonResolverContact {
25
+ firstName: string | null;
26
+ lastName: string | null;
27
+ email: string | null;
28
+ phone: string | null;
29
+ preferredLanguage: string | null;
30
+ }
31
+ /**
32
+ * Resolves (or upserts) a CRM person from a booking's billing contact
33
+ * snapshot. Returns the resolved person id, or `null` to leave the
34
+ * booking's `person_id` unset. Templates wire this from
35
+ * `crmService.upsertPersonFromContact` so the bookings package stays
36
+ * free of any direct CRM dependency — see issue #961.
37
+ */
38
+ export type ResolveBookingBillingPerson = (db: PostgresJsDatabase, contact: BookingPersonResolverContact, ctx: {
39
+ bookingId: string;
40
+ source: string;
41
+ sourceRef: string;
42
+ }) => Promise<string | null>;
43
+ /**
44
+ * Resolves (or upserts) a CRM person from a booking traveler payload.
45
+ * Called from `publicBookingsService.createSession` /
46
+ * `updateSession` per-traveler so storefront-originated bookings
47
+ * produce CRM person links per traveler (not just for the billing
48
+ * contact). Returns the resolved person id, or `null` to keep
49
+ * `booking_travelers.person_id` unset.
50
+ */
51
+ export type ResolveBookingTravelerPerson = (db: PostgresJsDatabase, contact: BookingPersonResolverContact, ctx: {
52
+ bookingId: string;
53
+ source: string;
54
+ sourceRef: string;
55
+ }) => Promise<string | null>;
18
56
  export interface BookingRouteRuntime {
19
57
  getKmsProvider(): Promise<KmsProvider>;
20
58
  resolveTravelSnapshot?: ResolveBookingTravelSnapshot;
59
+ resolveBillingPerson?: ResolveBookingBillingPerson;
60
+ resolveTravelerPerson?: ResolveBookingTravelerPerson;
21
61
  }
22
62
  /**
23
63
  * Hook for apps that source their KMS key material from somewhere other than
@@ -30,6 +70,8 @@ export type ResolveBookingKmsProvider = (env: Record<string, string | undefined>
30
70
  export interface BookingRouteRuntimeOptions {
31
71
  resolveKmsProvider?: ResolveBookingKmsProvider;
32
72
  resolveTravelSnapshot?: ResolveBookingTravelSnapshot;
73
+ resolveBillingPerson?: ResolveBookingBillingPerson;
74
+ resolveTravelerPerson?: ResolveBookingTravelerPerson;
33
75
  }
34
76
  export declare function buildBookingRouteRuntime(bindings: KmsBindings, options?: BookingRouteRuntimeOptions): BookingRouteRuntime;
35
77
  //# sourceMappingURL=route-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"route-runtime.d.ts","sourceRoot":"","sources":["../src/route-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,eAAO,MAAM,mCAAmC,4BAA4B,CAAA;AAE5E;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,EAAE,EAAE,kBAAkB,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE;IAAE,GAAG,EAAE,WAAW,CAAA;CAAE,KACtB,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAClC,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACtC,qBAAqB,CAAC,EAAE,4BAA4B,CAAA;CACrD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KACpC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvC,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,CAAC,EAAE,yBAAyB,CAAA;IAC9C,qBAAqB,CAAC,EAAE,4BAA4B,CAAA;CACrD;AAgBD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAYrB"}
1
+ {"version":3,"file":"route-runtime.d.ts","sourceRoot":"","sources":["../src/route-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,eAAO,MAAM,mCAAmC,4BAA4B,CAAA;AAE5E;;;;;;;;GAQG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,EAAE,EAAE,kBAAkB,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE;IAAE,GAAG,EAAE,WAAW,CAAA;CAAE,KACtB,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,2BAA2B,GAAG,CACxC,EAAE,EAAE,kBAAkB,EACtB,OAAO,EAAE,4BAA4B,EACrC,GAAG,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAC1D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE3B;;;;;;;GAOG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,EAAE,EAAE,kBAAkB,EACtB,OAAO,EAAE,4BAA4B,EACrC,GAAG,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,KAC1D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE3B,MAAM,WAAW,mBAAmB;IAClC,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;IACtC,qBAAqB,CAAC,EAAE,4BAA4B,CAAA;IACpD,oBAAoB,CAAC,EAAE,2BAA2B,CAAA;IAClD,qBAAqB,CAAC,EAAE,4BAA4B,CAAA;CACrD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,yBAAyB,GAAG,CACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KACpC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;AAEvC,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,CAAC,EAAE,yBAAyB,CAAA;IAC9C,qBAAqB,CAAC,EAAE,4BAA4B,CAAA;IACpD,oBAAoB,CAAC,EAAE,2BAA2B,CAAA;IAClD,qBAAqB,CAAC,EAAE,4BAA4B,CAAA;CACrD;AAgBD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAcrB"}
@@ -17,5 +17,7 @@ export function buildBookingRouteRuntime(bindings, options = {}) {
17
17
  return createKmsProviderFromEnv(runtimeEnv);
18
18
  },
19
19
  resolveTravelSnapshot: options.resolveTravelSnapshot,
20
+ resolveBillingPerson: options.resolveBillingPerson,
21
+ resolveTravelerPerson: options.resolveTravelerPerson,
20
22
  };
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"routes-public.d.ts","sourceRoot":"","sources":["../src/routes-public.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,GAAG,EAA2B,MAAM,oBAAoB,CAAA;AAoEtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;+BAyBsC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAkJxE,CAAA;AAEJ,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA"}
1
+ {"version":3,"file":"routes-public.d.ts","sourceRoot":"","sources":["../src/routes-public.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,GAAG,EAA2B,MAAM,oBAAoB,CAAA;AAyFtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;+BA0BsC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAoJxE,CAAA;AAEJ,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { idempotencyKey, parseJsonBody, parseQuery, UnauthorizedApiError } from "@voyantjs/hono";
2
2
  import { Hono } from "hono";
3
3
  import { checkoutCapabilityActions, checkoutCapabilityCookie, issueCheckoutCapability, requireCheckoutCapability, } from "./checkout-capability.js";
4
+ import { BOOKING_ROUTE_RUNTIME_CONTAINER_KEY, buildBookingRouteRuntime, } from "./route-runtime.js";
4
5
  import { getRuntimeEnv, notFound } from "./routes-shared.js";
5
6
  import { publicBookingsService } from "./service-public.js";
6
7
  import { publicBookingOverviewLookupQuerySchema, publicBookingSessionMutationSchema, publicCreateBookingSessionSchema, publicRepriceBookingSessionSchema, publicUpdateBookingSessionSchema, publicUpsertBookingSessionStateSchema, } from "./validation-public.js";
@@ -50,9 +51,25 @@ function sessionCapability(action) {
50
51
  await next();
51
52
  };
52
53
  }
54
+ function getRouteRuntime(c) {
55
+ const container = c.var.container;
56
+ try {
57
+ return (container?.resolve(BOOKING_ROUTE_RUNTIME_CONTAINER_KEY) ?? buildBookingRouteRuntime(c.env));
58
+ }
59
+ catch {
60
+ return buildBookingRouteRuntime(c.env);
61
+ }
62
+ }
63
+ function publicResolvers(c) {
64
+ const runtime = getRouteRuntime(c);
65
+ return {
66
+ resolveBillingPerson: runtime.resolveBillingPerson,
67
+ resolveTravelerPerson: runtime.resolveTravelerPerson,
68
+ };
69
+ }
53
70
  export const publicBookingRoutes = new Hono()
54
71
  .post("/sessions", idempotencyKey({ scope: "POST /v1/public/bookings/sessions" }), async (c) => {
55
- const result = await publicBookingsService.createSession(c.get("db"), await parseJsonBody(c, publicCreateBookingSessionSchema), c.get("userId"));
72
+ const result = await publicBookingsService.createSession(c.get("db"), await parseJsonBody(c, publicCreateBookingSessionSchema), c.get("userId"), publicResolvers(c));
56
73
  if (result.status === "slot_not_found") {
57
74
  return notFound(c, "Availability slot not found");
58
75
  }
@@ -71,7 +88,7 @@ export const publicBookingRoutes = new Hono()
71
88
  return session ? c.json({ data: session }) : notFound(c, "Booking session not found");
72
89
  })
73
90
  .patch("/sessions/:sessionId", sessionCapability("session:update"), idempotencyKey(), async (c) => {
74
- const result = await publicBookingsService.updateSession(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicUpdateBookingSessionSchema), c.get("userId"));
91
+ const result = await publicBookingsService.updateSession(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicUpdateBookingSessionSchema), c.get("userId"), publicResolvers(c));
75
92
  if (result.status === "not_found") {
76
93
  return notFound(c, "Booking session not found");
77
94
  }
@@ -86,7 +103,7 @@ export const publicBookingRoutes = new Hono()
86
103
  return state ? c.json({ data: state }) : notFound(c, "Booking session not found");
87
104
  })
88
105
  .put("/sessions/:sessionId/state", sessionCapability("session:update"), idempotencyKey(), async (c) => {
89
- const result = await publicBookingsService.updateSessionState(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicUpsertBookingSessionStateSchema));
106
+ const result = await publicBookingsService.updateSessionState(c.get("db"), c.req.param("sessionId"), await parseJsonBody(c, publicUpsertBookingSessionStateSchema), publicResolvers(c));
90
107
  if (result.status === "not_found") {
91
108
  return notFound(c, "Booking session not found");
92
109
  }
@@ -1,5 +1,18 @@
1
1
  import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ import type { ResolveBookingBillingPerson, ResolveBookingTravelerPerson } from "./route-runtime.js";
2
3
  import type { InternalBookingOverviewLookupQuery, PublicBookingOverviewLookupQuery, PublicBookingSessionMutationInput, PublicBookingSessionRepriceInput, PublicCreateBookingSessionInput, PublicUpdateBookingSessionInput, PublicUpsertBookingSessionStateInput } from "./validation-public.js";
4
+ /**
5
+ * Optional resolver bundle for storefront/public booking flows. When
6
+ * supplied, billing-contact + traveler payloads are run through the
7
+ * caller's resolver to look up (or create) the matching CRM person
8
+ * and the booking / traveler rows pick up the resulting `person_id`.
9
+ * Default (omitted) behaviour is the historic one: rows land with
10
+ * `person_id = NULL`. See issue #961.
11
+ */
12
+ export interface PublicBookingsServiceResolvers {
13
+ resolveBillingPerson?: ResolveBookingBillingPerson;
14
+ resolveTravelerPerson?: ResolveBookingTravelerPerson;
15
+ }
3
16
  /**
4
17
  * Resolves the catalog-scoped pricing snapshot for a product (options → option
5
18
  * price rules → per-unit price rules → tiers). The snapshot is the same data
@@ -56,7 +69,7 @@ export declare function resolveSessionPricingSnapshot(db: PostgresJsDatabase, pr
56
69
  }[];
57
70
  } | null>;
58
71
  export declare const publicBookingsService: {
59
- createSession(db: PostgresJsDatabase, input: PublicCreateBookingSessionInput, userId?: string): Promise<{
72
+ createSession(db: PostgresJsDatabase, input: PublicCreateBookingSessionInput, userId?: string, resolvers?: PublicBookingsServiceResolvers): Promise<{
60
73
  status: Exclude<string, "ok">;
61
74
  } | {
62
75
  status: "ok";
@@ -251,7 +264,7 @@ export declare const publicBookingsService: {
251
264
  createdAt: string;
252
265
  updatedAt: string;
253
266
  } | null>;
254
- updateSessionState(db: PostgresJsDatabase, bookingId: string, input: PublicUpsertBookingSessionStateInput): Promise<{
267
+ updateSessionState(db: PostgresJsDatabase, bookingId: string, input: PublicUpsertBookingSessionStateInput, resolvers?: PublicBookingsServiceResolvers): Promise<{
255
268
  status: "not_found";
256
269
  state?: undefined;
257
270
  } | {
@@ -267,7 +280,7 @@ export declare const publicBookingsService: {
267
280
  updatedAt: string;
268
281
  };
269
282
  }>;
270
- updateSession(db: PostgresJsDatabase, bookingId: string, input: PublicUpdateBookingSessionInput, userId?: string): Promise<{
283
+ updateSession(db: PostgresJsDatabase, bookingId: string, input: PublicUpdateBookingSessionInput, userId?: string, resolvers?: PublicBookingsServiceResolvers): Promise<{
271
284
  status: Exclude<string, "ok">;
272
285
  } | {
273
286
  status: "ok";
@@ -1 +1 @@
1
- {"version":3,"file":"service-public.d.ts","sourceRoot":"","sources":["../src/service-public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-public.d.ts","sourceRoot":"","sources":["../src/service-public.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,47 @@ import { optionPriceRulesRef, optionUnitPriceRulesRef, optionUnitTiersRef, price
3
3
  import { optionUnitsRef, productOptionsRef, productsRef } from "./products-ref.js";
4
4
  import { bookingAllocations, bookingDocuments, bookingFulfillments, bookingItems, bookingItemTravelers, bookingSessionStates, bookings, bookingTravelers, } from "./schema.js";
5
5
  import { bookingsService } from "./service.js";
6
+ const BOOKING_PERSON_SOURCE = "storefront-booking";
7
+ async function safeResolveTravelerPerson(db, resolver, participant, bookingId) {
8
+ if (!resolver)
9
+ return null;
10
+ const contact = {
11
+ firstName: participant.firstName,
12
+ lastName: participant.lastName,
13
+ email: participant.email,
14
+ phone: participant.phone,
15
+ preferredLanguage: participant.preferredLanguage,
16
+ };
17
+ try {
18
+ return await resolver(db, contact, {
19
+ bookingId,
20
+ source: BOOKING_PERSON_SOURCE,
21
+ sourceRef: bookingId,
22
+ });
23
+ }
24
+ catch (error) {
25
+ // Person resolution is best-effort — a CRM hiccup must not block
26
+ // the actual booking. Log and fall back to `null` so the traveler
27
+ // row still lands without a person link.
28
+ console.error("[bookings] resolveTravelerPerson failed for booking", bookingId, error);
29
+ return null;
30
+ }
31
+ }
32
+ async function safeResolveBillingPerson(db, resolver, contact, bookingId) {
33
+ if (!resolver)
34
+ return null;
35
+ try {
36
+ return await resolver(db, contact, {
37
+ bookingId,
38
+ source: BOOKING_PERSON_SOURCE,
39
+ sourceRef: bookingId,
40
+ });
41
+ }
42
+ catch (error) {
43
+ console.error("[bookings] resolveBillingPerson failed for booking", bookingId, error);
44
+ return null;
45
+ }
46
+ }
6
47
  const travelerParticipantTypes = new Set(["traveler", "occupant"]);
7
48
  const WIZARD_STATE_KEY = "wizard";
8
49
  function normalizeDate(value) {
@@ -577,7 +618,7 @@ async function buildSessionSnapshot(db, bookingId) {
577
618
  };
578
619
  }
579
620
  export const publicBookingsService = {
580
- async createSession(db, input, userId) {
621
+ async createSession(db, input, userId, resolvers = {}) {
581
622
  const travelers = input.travelers ?? [];
582
623
  const travelerCount = countTravelerParticipants(travelers);
583
624
  const bookingNumber = await generateBookingNumber(db);
@@ -618,6 +659,13 @@ export const publicBookingsService = {
618
659
  return result;
619
660
  }
620
661
  for (const participant of travelers) {
662
+ const personId = await safeResolveTravelerPerson(db, resolvers.resolveTravelerPerson, {
663
+ firstName: participant.firstName,
664
+ lastName: participant.lastName,
665
+ email: participant.email ?? null,
666
+ phone: participant.phone ?? null,
667
+ preferredLanguage: participant.preferredLanguage ?? null,
668
+ }, result.booking.id);
621
669
  await bookingsService.createTravelerRecord(db, result.booking.id, {
622
670
  participantType: participant.participantType,
623
671
  travelerCategory: participant.travelerCategory ?? null,
@@ -629,7 +677,7 @@ export const publicBookingsService = {
629
677
  specialRequests: participant.specialRequests ?? null,
630
678
  isPrimary: participant.isPrimary,
631
679
  notes: participant.notes ?? null,
632
- personId: null,
680
+ personId,
633
681
  }, userId);
634
682
  }
635
683
  const session = await buildSessionSnapshot(db, result.booking.id);
@@ -645,7 +693,7 @@ export const publicBookingsService = {
645
693
  }
646
694
  return getWizardSessionState(db, bookingId);
647
695
  },
648
- async updateSessionState(db, bookingId, input) {
696
+ async updateSessionState(db, bookingId, input, resolvers = {}) {
649
697
  const booking = await bookingsService.getBookingById(db, bookingId);
650
698
  if (!booking) {
651
699
  return { status: "not_found" };
@@ -656,11 +704,27 @@ export const publicBookingsService = {
656
704
  }
657
705
  const bookingContact = extractBookingContactFromStatePayload(state.payload);
658
706
  if (bookingContact) {
659
- await bookingsService.updateBooking(db, bookingId, bookingContact);
707
+ // Resolve a CRM person from the billing snapshot when a resolver
708
+ // is wired — issue #961 calls out that storefront bookings used
709
+ // to land with `person_id = NULL`, leaving every customer outside
710
+ // the CRM until each operator wired their own bridge.
711
+ const personId = booking.personId
712
+ ? booking.personId
713
+ : await safeResolveBillingPerson(db, resolvers.resolveBillingPerson, {
714
+ firstName: bookingContact.contactFirstName,
715
+ lastName: bookingContact.contactLastName,
716
+ email: bookingContact.contactEmail,
717
+ phone: bookingContact.contactPhone,
718
+ preferredLanguage: null,
719
+ }, bookingId);
720
+ await bookingsService.updateBooking(db, bookingId, {
721
+ ...bookingContact,
722
+ ...(personId && booking.personId !== personId ? { personId } : {}),
723
+ });
660
724
  }
661
725
  return { status: "ok", state };
662
726
  },
663
- async updateSession(db, bookingId, input, userId) {
727
+ async updateSession(db, bookingId, input, userId, resolvers = {}) {
664
728
  const booking = await bookingsService.getBookingById(db, bookingId);
665
729
  if (!booking) {
666
730
  return { status: "not_found" };
@@ -703,6 +767,13 @@ export const publicBookingsService = {
703
767
  });
704
768
  continue;
705
769
  }
770
+ const personId = await safeResolveTravelerPerson(db, resolvers.resolveTravelerPerson, {
771
+ firstName: participant.firstName,
772
+ lastName: participant.lastName,
773
+ email: participant.email ?? null,
774
+ phone: participant.phone ?? null,
775
+ preferredLanguage: participant.preferredLanguage ?? null,
776
+ }, bookingId);
706
777
  await bookingsService.createTravelerRecord(db, bookingId, {
707
778
  participantType: participant.participantType,
708
779
  travelerCategory: participant.travelerCategory ?? null,
@@ -714,7 +785,7 @@ export const publicBookingsService = {
714
785
  specialRequests: participant.specialRequests ?? null,
715
786
  isPrimary: participant.isPrimary,
716
787
  notes: participant.notes ?? null,
717
- personId: null,
788
+ personId,
718
789
  }, userId);
719
790
  }
720
791
  }
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/dist/service.js CHANGED
@@ -347,10 +347,15 @@ async function getConvertProductData(db, data) {
347
347
  if (option && selectedSlot.optionId && selectedSlot.optionId !== option.id) {
348
348
  return null;
349
349
  }
350
- if (selectedSlot.optionId &&
351
- requestedLineOptionIds.some((optionId) => optionId !== selectedSlot.optionId)) {
352
- return null;
353
- }
350
+ // Note: per-line `optionId` is intentionally NOT required to match
351
+ // `selectedSlot.optionId`. A slot's `option_id` marks which option
352
+ // owns the slot's per-unit allocation tracking; other options on the
353
+ // same product are still bookable on the same departure (e.g. a
354
+ // tour-operator bus + hotel allotment selling SGL/DBL/TWN/TPL on one
355
+ // slot). Line options are validated to live on the product above
356
+ // (the `lineOptions.length !== requestedLineOptionIds.length` guard),
357
+ // and `adjustSlotCapacity` enforces total pax server-side at booking
358
+ // time. See issue #960.
354
359
  slot = {
355
360
  id: selectedSlot.id,
356
361
  dateLocal: selectedSlot.dateLocal,
@@ -867,9 +872,11 @@ async function reserveBookingFromTransactionSource(db, source, data, userId, run
867
872
  if (item.productId && item.productId !== slot.product_id) {
868
873
  throw new BookingServiceError("slot_product_mismatch");
869
874
  }
870
- if (item.optionId && item.optionId !== slot.option_id) {
871
- throw new BookingServiceError("slot_option_mismatch");
872
- }
875
+ // Per issue #960, a per-item `optionId` no longer has to match
876
+ // `slot.option_id` — option-scoped slots accept items for any
877
+ // option that lives on the same product. `getConvertProductData`
878
+ // already validated each line's option belongs to the product;
879
+ // total pax is enforced by `adjustSlotCapacity` above.
873
880
  if (capacity.slotChange)
874
881
  slotChanges.push(capacity.slotChange);
875
882
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/bookings",
3
- "version": "0.52.3",
3
+ "version": "0.53.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -79,15 +79,15 @@
79
79
  "drizzle-orm": "^0.45.2",
80
80
  "hono": "^4.12.10",
81
81
  "zod": "^4.3.6",
82
- "@voyantjs/action-ledger": "0.52.3",
83
- "@voyantjs/core": "0.52.3",
84
- "@voyantjs/db": "0.52.3",
85
- "@voyantjs/hono": "0.52.3",
86
- "@voyantjs/utils": "0.52.3"
82
+ "@voyantjs/action-ledger": "0.53.0",
83
+ "@voyantjs/core": "0.53.0",
84
+ "@voyantjs/db": "0.53.0",
85
+ "@voyantjs/hono": "0.53.0",
86
+ "@voyantjs/utils": "0.53.0"
87
87
  },
88
88
  "devDependencies": {
89
89
  "typescript": "^6.0.2",
90
- "@voyantjs/products": "0.52.3",
90
+ "@voyantjs/products": "0.53.0",
91
91
  "@voyantjs/voyant-typescript-config": "0.1.0"
92
92
  },
93
93
  "files": [