@voyantjs/products 0.50.5 → 0.50.7
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.
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
* `product_pax_pricing_tiers`.
|
|
11
11
|
* - `getProductContent` + `buildProductDraftShape` for the journey
|
|
12
12
|
* wizard's step descriptor.
|
|
13
|
-
* - An injected `
|
|
13
|
+
* - An injected `createBooking` function for the commit path
|
|
14
14
|
* — keeps `@voyantjs/products` from depending on
|
|
15
15
|
* `@voyantjs/finance` (no workspace cycle).
|
|
16
16
|
*
|
|
17
17
|
* Phase A scope (deliberately narrow):
|
|
18
18
|
* - Price = product.sellAmountCents × pax_count, no taxes / addons /
|
|
19
19
|
* accommodation / vouchers.
|
|
20
|
-
* - Commit goes through the bridge into `
|
|
20
|
+
* - Commit goes through the bridge into `bookingsCreate`'s input
|
|
21
21
|
* shape — products-only, no extras / hospitality / cruises / encrypted
|
|
22
22
|
* travel details / snapshot graph.
|
|
23
23
|
*
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import { type AddonOffer, type BookingDraftShape, type OwnedBookingHandler, type OwnedHandlerContext, type TravelerFieldRequirement } from "@voyantjs/catalog/booking-engine";
|
|
28
28
|
/**
|
|
29
|
-
* Subset of `
|
|
30
|
-
* Mirrors the schema in `service-
|
|
29
|
+
* Subset of `bookingsCreate`'s input the bridge builds.
|
|
30
|
+
* Mirrors the schema in `service-booking-create.ts` — kept
|
|
31
31
|
* structural here so we don't pull a dependency into products.
|
|
32
32
|
*/
|
|
33
|
-
export interface
|
|
33
|
+
export interface BookingCreateBridgeInput {
|
|
34
34
|
productId: string;
|
|
35
35
|
optionId?: string | null;
|
|
36
36
|
slotId?: string | null;
|
|
@@ -77,18 +77,18 @@ export interface QuickCreateBridgeInput {
|
|
|
77
77
|
sortOrder?: number;
|
|
78
78
|
}>;
|
|
79
79
|
}
|
|
80
|
-
export interface
|
|
80
|
+
export interface BookingCreateBridgeResult {
|
|
81
81
|
status: "ok" | "product_not_found" | string;
|
|
82
82
|
bookingId?: string;
|
|
83
83
|
bookingNumber?: string;
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
|
-
* Caller-supplied bridge to `
|
|
87
|
-
* this up — `(input, opts) =>
|
|
86
|
+
* Caller-supplied bridge to `bookingsCreate`. Templates wire
|
|
87
|
+
* this up — `(input, opts) => createBooking(db as PostgresJsDatabase, input, opts)`.
|
|
88
88
|
*/
|
|
89
|
-
export type
|
|
89
|
+
export type BookingCreateBridge = (input: BookingCreateBridgeInput, options?: {
|
|
90
90
|
userId?: string;
|
|
91
|
-
}) => Promise<
|
|
91
|
+
}) => Promise<BookingCreateBridgeResult>;
|
|
92
92
|
export interface BuildOwnedProductDraftShapeOptions {
|
|
93
93
|
/**
|
|
94
94
|
* Per-traveler field requirements pulled from
|
|
@@ -233,11 +233,11 @@ export interface AvailabilityHoldBridge {
|
|
|
233
233
|
}
|
|
234
234
|
export interface CreateProductsBookingHandlerOptions extends OwnedProductsShapeLoaders {
|
|
235
235
|
/**
|
|
236
|
-
* Caller-supplied bridge to `
|
|
236
|
+
* Caller-supplied bridge to `bookingsCreate`. Wired by the
|
|
237
237
|
* template at boot, since `@voyantjs/products` does not import
|
|
238
238
|
* `@voyantjs/finance`.
|
|
239
239
|
*/
|
|
240
|
-
|
|
240
|
+
createBooking: BookingCreateBridge;
|
|
241
241
|
/**
|
|
242
242
|
* Generator for booking numbers. Defaults to a timestamp-based
|
|
243
243
|
* value if not supplied. Templates that have a sequence service
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/booking-engine/handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EAStB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EAExB,KAAK,wBAAwB,EAC9B,MAAM,kCAAkC,CAAA;AAYzC;;;;GAIG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/booking-engine/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
* `product_pax_pricing_tiers`.
|
|
11
11
|
* - `getProductContent` + `buildProductDraftShape` for the journey
|
|
12
12
|
* wizard's step descriptor.
|
|
13
|
-
* - An injected `
|
|
13
|
+
* - An injected `createBooking` function for the commit path
|
|
14
14
|
* — keeps `@voyantjs/products` from depending on
|
|
15
15
|
* `@voyantjs/finance` (no workspace cycle).
|
|
16
16
|
*
|
|
17
17
|
* Phase A scope (deliberately narrow):
|
|
18
18
|
* - Price = product.sellAmountCents × pax_count, no taxes / addons /
|
|
19
19
|
* accommodation / vouchers.
|
|
20
|
-
* - Commit goes through the bridge into `
|
|
20
|
+
* - Commit goes through the bridge into `bookingsCreate`'s input
|
|
21
21
|
* shape — products-only, no extras / hospitality / cruises / encrypted
|
|
22
22
|
* travel details / snapshot graph.
|
|
23
23
|
*
|
|
@@ -240,7 +240,7 @@ export function createProductsBookingHandler(options) {
|
|
|
240
240
|
// subtotal during tax recompute, so derive the override from the
|
|
241
241
|
// gross breakdown total when an included tax line is present.
|
|
242
242
|
const sellAmountCentsOverride = resolveSellAmountCentsOverride(request.pricing);
|
|
243
|
-
const bridge = await options.
|
|
243
|
+
const bridge = await options.createBooking({
|
|
244
244
|
productId: product.id,
|
|
245
245
|
bookingNumber: generateNumber(),
|
|
246
246
|
personId: extractPersonId(request.party),
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Per `docs/architecture/booking-journey-architecture.md` §6.
|
|
6
6
|
*/
|
|
7
|
-
export { type AvailabilityHoldBridge,
|
|
7
|
+
export { type AvailabilityHoldBridge, type BookingCreateBridge, type BookingCreateBridgeInput, type BookingCreateBridgeResult, buildOwnedProductDraftShape, type CreateProductsBookingHandlerOptions, createProductsBookingHandler, } from "./handler.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/booking-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,sBAAsB,EAC3B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/booking-engine/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,2BAA2B,EAC3B,KAAK,mCAAmC,EACxC,4BAA4B,GAC7B,MAAM,cAAc,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/products",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.7",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -125,12 +125,12 @@
|
|
|
125
125
|
"hono": "^4.12.10",
|
|
126
126
|
"pdf-lib": "^1.17.1",
|
|
127
127
|
"zod": "^4.3.6",
|
|
128
|
-
"@voyantjs/core": "0.50.
|
|
129
|
-
"@voyantjs/db": "0.50.
|
|
130
|
-
"@voyantjs/hono": "0.50.
|
|
131
|
-
"@voyantjs/
|
|
132
|
-
"@voyantjs/
|
|
133
|
-
"@voyantjs/storage": "0.50.
|
|
128
|
+
"@voyantjs/core": "0.50.7",
|
|
129
|
+
"@voyantjs/db": "0.50.7",
|
|
130
|
+
"@voyantjs/hono": "0.50.7",
|
|
131
|
+
"@voyantjs/utils": "0.50.7",
|
|
132
|
+
"@voyantjs/catalog": "0.50.7",
|
|
133
|
+
"@voyantjs/storage": "0.50.7"
|
|
134
134
|
},
|
|
135
135
|
"devDependencies": {
|
|
136
136
|
"typescript": "^6.0.2",
|