@voyant-travel/commerce 0.1.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/LICENSE +201 -0
- package/README.md +145 -0
- package/dist/accepted-quote-version-reservation-golden-flow.test.d.ts +2 -0
- package/dist/accepted-quote-version-reservation-golden-flow.test.d.ts.map +1 -0
- package/dist/accepted-quote-version-reservation-golden-flow.test.js +398 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/interface.d.ts +18 -0
- package/dist/interface.d.ts.map +1 -0
- package/dist/interface.js +246 -0
- package/dist/interface.test.d.ts +2 -0
- package/dist/interface.test.d.ts.map +1 -0
- package/dist/interface.test.js +357 -0
- package/dist/markets/index.d.ts +11 -0
- package/dist/markets/index.d.ts.map +1 -0
- package/dist/markets/index.js +12 -0
- package/dist/markets/routes.d.ts +1182 -0
- package/dist/markets/routes.d.ts.map +1 -0
- package/dist/markets/routes.js +209 -0
- package/dist/markets/schema.d.ts +1527 -0
- package/dist/markets/schema.d.ts.map +1 -0
- package/dist/markets/schema.js +240 -0
- package/dist/markets/service-core.d.ts +253 -0
- package/dist/markets/service-core.d.ts.map +1 -0
- package/dist/markets/service-core.js +242 -0
- package/dist/markets/service-rules.d.ts +191 -0
- package/dist/markets/service-rules.d.ts.map +1 -0
- package/dist/markets/service-rules.js +155 -0
- package/dist/markets/service-shared.d.ts +36 -0
- package/dist/markets/service-shared.d.ts.map +1 -0
- package/dist/markets/service-shared.js +7 -0
- package/dist/markets/service.d.ts +43 -0
- package/dist/markets/service.d.ts.map +1 -0
- package/dist/markets/service.js +42 -0
- package/dist/markets/validation.d.ts +451 -0
- package/dist/markets/validation.d.ts.map +1 -0
- package/dist/markets/validation.js +160 -0
- package/dist/pricing/events.d.ts +53 -0
- package/dist/pricing/events.d.ts.map +1 -0
- package/dist/pricing/events.js +28 -0
- package/dist/pricing/index.d.ts +15 -0
- package/dist/pricing/index.d.ts.map +1 -0
- package/dist/pricing/index.js +18 -0
- package/dist/pricing/routes-core.d.ts +981 -0
- package/dist/pricing/routes-core.d.ts.map +1 -0
- package/dist/pricing/routes-core.js +102 -0
- package/dist/pricing/routes-public.d.ts +136 -0
- package/dist/pricing/routes-public.d.ts.map +1 -0
- package/dist/pricing/routes-public.js +14 -0
- package/dist/pricing/routes-rules.d.ts +1339 -0
- package/dist/pricing/routes-rules.d.ts.map +1 -0
- package/dist/pricing/routes-rules.js +138 -0
- package/dist/pricing/routes-shared.d.ts +14 -0
- package/dist/pricing/routes-shared.d.ts.map +1 -0
- package/dist/pricing/routes-shared.js +3 -0
- package/dist/pricing/routes.d.ts +7 -0
- package/dist/pricing/routes.d.ts.map +1 -0
- package/dist/pricing/routes.js +6 -0
- package/dist/pricing/schema-catalogs.d.ts +467 -0
- package/dist/pricing/schema-catalogs.d.ts.map +1 -0
- package/dist/pricing/schema-catalogs.js +47 -0
- package/dist/pricing/schema-categories.d.ts +497 -0
- package/dist/pricing/schema-categories.d.ts.map +1 -0
- package/dist/pricing/schema-categories.js +54 -0
- package/dist/pricing/schema-departure-overrides.d.ts +228 -0
- package/dist/pricing/schema-departure-overrides.d.ts.map +1 -0
- package/dist/pricing/schema-departure-overrides.js +36 -0
- package/dist/pricing/schema-option-rules.d.ts +1770 -0
- package/dist/pricing/schema-option-rules.d.ts.map +1 -0
- package/dist/pricing/schema-option-rules.js +181 -0
- package/dist/pricing/schema-policies.d.ts +395 -0
- package/dist/pricing/schema-policies.d.ts.map +1 -0
- package/dist/pricing/schema-policies.js +41 -0
- package/dist/pricing/schema-relations.d.ts +59 -0
- package/dist/pricing/schema-relations.d.ts.map +1 -0
- package/dist/pricing/schema-relations.js +111 -0
- package/dist/pricing/schema-shared.d.ts +11 -0
- package/dist/pricing/schema-shared.d.ts.map +1 -0
- package/dist/pricing/schema-shared.js +67 -0
- package/dist/pricing/schema.d.ts +8 -0
- package/dist/pricing/schema.d.ts.map +1 -0
- package/dist/pricing/schema.js +7 -0
- package/dist/pricing/service-catalog-plane-pricing.d.ts +95 -0
- package/dist/pricing/service-catalog-plane-pricing.d.ts.map +1 -0
- package/dist/pricing/service-catalog-plane-pricing.js +382 -0
- package/dist/pricing/service-catalogs.d.ts +139 -0
- package/dist/pricing/service-catalogs.d.ts.map +1 -0
- package/dist/pricing/service-catalogs.js +89 -0
- package/dist/pricing/service-categories.d.ts +147 -0
- package/dist/pricing/service-categories.d.ts.map +1 -0
- package/dist/pricing/service-categories.js +105 -0
- package/dist/pricing/service-departure-overrides.d.ts +67 -0
- package/dist/pricing/service-departure-overrides.d.ts.map +1 -0
- package/dist/pricing/service-departure-overrides.js +54 -0
- package/dist/pricing/service-option-rules.d.ts +321 -0
- package/dist/pricing/service-option-rules.d.ts.map +1 -0
- package/dist/pricing/service-option-rules.js +340 -0
- package/dist/pricing/service-policies.d.ts +123 -0
- package/dist/pricing/service-policies.d.ts.map +1 -0
- package/dist/pricing/service-policies.js +95 -0
- package/dist/pricing/service-public.d.ts +89 -0
- package/dist/pricing/service-public.d.ts.map +1 -0
- package/dist/pricing/service-public.js +473 -0
- package/dist/pricing/service-rule-resolver.d.ts +67 -0
- package/dist/pricing/service-rule-resolver.d.ts.map +1 -0
- package/dist/pricing/service-rule-resolver.js +204 -0
- package/dist/pricing/service-shared.d.ts +53 -0
- package/dist/pricing/service-shared.d.ts.map +1 -0
- package/dist/pricing/service-shared.js +4 -0
- package/dist/pricing/service-transfer-rules.d.ts +211 -0
- package/dist/pricing/service-transfer-rules.d.ts.map +1 -0
- package/dist/pricing/service-transfer-rules.js +139 -0
- package/dist/pricing/service.d.ts +79 -0
- package/dist/pricing/service.d.ts.map +1 -0
- package/dist/pricing/service.js +78 -0
- package/dist/pricing/validation-public.d.ts +412 -0
- package/dist/pricing/validation-public.d.ts.map +1 -0
- package/dist/pricing/validation-public.js +111 -0
- package/dist/pricing/validation-shared.d.ts +71 -0
- package/dist/pricing/validation-shared.d.ts.map +1 -0
- package/dist/pricing/validation-shared.js +63 -0
- package/dist/pricing/validation.d.ts +987 -0
- package/dist/pricing/validation.d.ts.map +1 -0
- package/dist/pricing/validation.js +307 -0
- package/dist/promotions/events.d.ts +38 -0
- package/dist/promotions/events.d.ts.map +1 -0
- package/dist/promotions/events.js +25 -0
- package/dist/promotions/index.d.ts +12 -0
- package/dist/promotions/index.d.ts.map +1 -0
- package/dist/promotions/index.js +17 -0
- package/dist/promotions/routes-shared.d.ts +14 -0
- package/dist/promotions/routes-shared.d.ts.map +1 -0
- package/dist/promotions/routes-shared.js +3 -0
- package/dist/promotions/routes.d.ts +395 -0
- package/dist/promotions/routes.d.ts.map +1 -0
- package/dist/promotions/routes.js +55 -0
- package/dist/promotions/schema.d.ts +675 -0
- package/dist/promotions/schema.d.ts.map +1 -0
- package/dist/promotions/schema.js +126 -0
- package/dist/promotions/service-booking-confirmed.d.ts +77 -0
- package/dist/promotions/service-booking-confirmed.d.ts.map +1 -0
- package/dist/promotions/service-booking-confirmed.js +134 -0
- package/dist/promotions/service-boundary-scheduler.d.ts +85 -0
- package/dist/promotions/service-boundary-scheduler.d.ts.map +1 -0
- package/dist/promotions/service-boundary-scheduler.js +141 -0
- package/dist/promotions/service-catalog-evaluator.d.ts +22 -0
- package/dist/promotions/service-catalog-evaluator.d.ts.map +1 -0
- package/dist/promotions/service-catalog-evaluator.js +33 -0
- package/dist/promotions/service-catalog-plane-promotions.d.ts +73 -0
- package/dist/promotions/service-catalog-plane-promotions.d.ts.map +1 -0
- package/dist/promotions/service-catalog-plane-promotions.js +118 -0
- package/dist/promotions/service-evaluator.d.ts +134 -0
- package/dist/promotions/service-evaluator.d.ts.map +1 -0
- package/dist/promotions/service-evaluator.js +302 -0
- package/dist/promotions/service-storefront.d.ts +147 -0
- package/dist/promotions/service-storefront.d.ts.map +1 -0
- package/dist/promotions/service-storefront.js +326 -0
- package/dist/promotions/service.d.ts +143 -0
- package/dist/promotions/service.d.ts.map +1 -0
- package/dist/promotions/service.js +359 -0
- package/dist/promotions/validation.d.ts +195 -0
- package/dist/promotions/validation.d.ts.map +1 -0
- package/dist/promotions/validation.js +167 -0
- package/dist/promotions/workflow-bulk-reindex.d.ts +36 -0
- package/dist/promotions/workflow-bulk-reindex.d.ts.map +1 -0
- package/dist/promotions/workflow-bulk-reindex.js +53 -0
- package/dist/promotions/workflow-runtime.d.ts +17 -0
- package/dist/promotions/workflow-runtime.d.ts.map +1 -0
- package/dist/promotions/workflow-runtime.js +9 -0
- package/dist/runtime.d.ts +18 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +27 -0
- package/dist/runtime.test.d.ts +2 -0
- package/dist/runtime.test.d.ts.map +1 -0
- package/dist/runtime.test.js +25 -0
- package/dist/schema.d.ts +5 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +4 -0
- package/dist/sellability/index.d.ts +13 -0
- package/dist/sellability/index.d.ts.map +1 -0
- package/dist/sellability/index.js +17 -0
- package/dist/sellability/routes.d.ts +2332 -0
- package/dist/sellability/routes.d.ts.map +1 -0
- package/dist/sellability/routes.js +166 -0
- package/dist/sellability/schema.d.ts +1716 -0
- package/dist/sellability/schema.d.ts.map +1 -0
- package/dist/sellability/schema.js +278 -0
- package/dist/sellability/service-records.d.ts +316 -0
- package/dist/sellability/service-records.d.ts.map +1 -0
- package/dist/sellability/service-records.js +253 -0
- package/dist/sellability/service-resolve.d.ts +72 -0
- package/dist/sellability/service-resolve.d.ts.map +1 -0
- package/dist/sellability/service-resolve.js +580 -0
- package/dist/sellability/service-shared.d.ts +124 -0
- package/dist/sellability/service-shared.d.ts.map +1 -0
- package/dist/sellability/service-shared.js +96 -0
- package/dist/sellability/service-snapshots.d.ts +191 -0
- package/dist/sellability/service-snapshots.d.ts.map +1 -0
- package/dist/sellability/service-snapshots.js +153 -0
- package/dist/sellability/service.d.ts +1038 -0
- package/dist/sellability/service.d.ts.map +1 -0
- package/dist/sellability/service.js +17 -0
- package/dist/sellability/validation.d.ts +477 -0
- package/dist/sellability/validation.d.ts.map +1 -0
- package/dist/sellability/validation.js +192 -0
- package/dist/types.d.ts +239 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { booleanQueryParam } from "@voyant-travel/db/helpers";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
export const requestedUnitSchema = z.object({
|
|
4
|
+
requestRef: z.string().min(1).max(100).optional(),
|
|
5
|
+
unitId: z.string().nullable().optional(),
|
|
6
|
+
pricingCategoryId: z.string().nullable().optional(),
|
|
7
|
+
quantity: z.number().int().min(1),
|
|
8
|
+
});
|
|
9
|
+
export const sellabilityResolveQuerySchema = z.object({
|
|
10
|
+
productId: z.string().optional(),
|
|
11
|
+
optionId: z.string().optional(),
|
|
12
|
+
slotId: z.string().optional(),
|
|
13
|
+
dateLocal: z.string().date().optional(),
|
|
14
|
+
startTimeId: z.string().optional(),
|
|
15
|
+
marketId: z.string().optional(),
|
|
16
|
+
channelId: z.string().optional(),
|
|
17
|
+
pickupPointId: z.string().optional(),
|
|
18
|
+
currencyCode: z.string().length(3).optional(),
|
|
19
|
+
requestedUnits: z.array(requestedUnitSchema).default([]),
|
|
20
|
+
limit: z.number().int().min(1).max(100).default(25),
|
|
21
|
+
});
|
|
22
|
+
export const sellabilitySnapshotStatusSchema = z.enum(["resolved", "offer_constructed", "expired"]);
|
|
23
|
+
export const sellabilityPolicyScopeSchema = z.enum([
|
|
24
|
+
"global",
|
|
25
|
+
"product",
|
|
26
|
+
"option",
|
|
27
|
+
"market",
|
|
28
|
+
"channel",
|
|
29
|
+
]);
|
|
30
|
+
export const sellabilityPolicyTypeSchema = z.enum([
|
|
31
|
+
"capability",
|
|
32
|
+
"occupancy",
|
|
33
|
+
"pickup",
|
|
34
|
+
"question",
|
|
35
|
+
"allotment",
|
|
36
|
+
"availability_window",
|
|
37
|
+
"currency",
|
|
38
|
+
"custom",
|
|
39
|
+
]);
|
|
40
|
+
export const sellabilityPolicyResultStatusSchema = z.enum([
|
|
41
|
+
"passed",
|
|
42
|
+
"blocked",
|
|
43
|
+
"warning",
|
|
44
|
+
"adjusted",
|
|
45
|
+
]);
|
|
46
|
+
export const offerRefreshRunStatusSchema = z.enum([
|
|
47
|
+
"pending",
|
|
48
|
+
"running",
|
|
49
|
+
"completed",
|
|
50
|
+
"failed",
|
|
51
|
+
"expired",
|
|
52
|
+
]);
|
|
53
|
+
export const offerExpirationEventStatusSchema = z.enum([
|
|
54
|
+
"scheduled",
|
|
55
|
+
"expired",
|
|
56
|
+
"cancelled",
|
|
57
|
+
"superseded",
|
|
58
|
+
]);
|
|
59
|
+
export const sellabilityExplanationTypeSchema = z.enum([
|
|
60
|
+
"sellable",
|
|
61
|
+
"blocked",
|
|
62
|
+
"warning",
|
|
63
|
+
"pricing",
|
|
64
|
+
"allotment",
|
|
65
|
+
"pickup",
|
|
66
|
+
"policy",
|
|
67
|
+
]);
|
|
68
|
+
export const sellabilityPersistSnapshotSchema = z.object({
|
|
69
|
+
query: sellabilityResolveQuerySchema,
|
|
70
|
+
expiresAt: z.string().datetime().nullable().optional(),
|
|
71
|
+
});
|
|
72
|
+
export const sellabilitySnapshotListQuerySchema = z.object({
|
|
73
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
74
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
75
|
+
offerId: z.string().optional(),
|
|
76
|
+
marketId: z.string().optional(),
|
|
77
|
+
channelId: z.string().optional(),
|
|
78
|
+
productId: z.string().optional(),
|
|
79
|
+
optionId: z.string().optional(),
|
|
80
|
+
slotId: z.string().optional(),
|
|
81
|
+
status: sellabilitySnapshotStatusSchema.optional(),
|
|
82
|
+
});
|
|
83
|
+
export const sellabilitySnapshotItemListQuerySchema = z.object({
|
|
84
|
+
limit: z.coerce.number().int().min(1).max(200).default(100),
|
|
85
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
86
|
+
snapshotId: z.string().optional(),
|
|
87
|
+
productId: z.string().optional(),
|
|
88
|
+
optionId: z.string().optional(),
|
|
89
|
+
slotId: z.string().optional(),
|
|
90
|
+
unitId: z.string().optional(),
|
|
91
|
+
});
|
|
92
|
+
export const sellabilityPolicyCoreSchema = z.object({
|
|
93
|
+
name: z.string().min(1).max(255),
|
|
94
|
+
scope: sellabilityPolicyScopeSchema.default("global"),
|
|
95
|
+
policyType: sellabilityPolicyTypeSchema.default("custom"),
|
|
96
|
+
productId: z.string().nullable().optional(),
|
|
97
|
+
optionId: z.string().nullable().optional(),
|
|
98
|
+
marketId: z.string().nullable().optional(),
|
|
99
|
+
channelId: z.string().nullable().optional(),
|
|
100
|
+
priority: z.number().int().default(0),
|
|
101
|
+
active: z.boolean().default(true),
|
|
102
|
+
conditions: z.record(z.string(), z.unknown()).default({}),
|
|
103
|
+
effects: z.record(z.string(), z.unknown()).default({}),
|
|
104
|
+
notes: z.string().nullable().optional(),
|
|
105
|
+
metadata: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
106
|
+
});
|
|
107
|
+
export const insertSellabilityPolicySchema = sellabilityPolicyCoreSchema;
|
|
108
|
+
export const updateSellabilityPolicySchema = sellabilityPolicyCoreSchema.partial();
|
|
109
|
+
export const sellabilityPolicyListQuerySchema = z.object({
|
|
110
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
111
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
112
|
+
scope: sellabilityPolicyScopeSchema.optional(),
|
|
113
|
+
policyType: sellabilityPolicyTypeSchema.optional(),
|
|
114
|
+
productId: z.string().optional(),
|
|
115
|
+
optionId: z.string().optional(),
|
|
116
|
+
marketId: z.string().optional(),
|
|
117
|
+
channelId: z.string().optional(),
|
|
118
|
+
active: booleanQueryParam.optional(),
|
|
119
|
+
});
|
|
120
|
+
export const sellabilityPolicyResultCoreSchema = z.object({
|
|
121
|
+
snapshotId: z.string(),
|
|
122
|
+
snapshotItemId: z.string().nullable().optional(),
|
|
123
|
+
policyId: z.string().nullable().optional(),
|
|
124
|
+
candidateIndex: z.number().int().min(0).default(0),
|
|
125
|
+
status: sellabilityPolicyResultStatusSchema.default("passed"),
|
|
126
|
+
message: z.string().nullable().optional(),
|
|
127
|
+
details: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
128
|
+
});
|
|
129
|
+
export const insertSellabilityPolicyResultSchema = sellabilityPolicyResultCoreSchema;
|
|
130
|
+
export const updateSellabilityPolicyResultSchema = sellabilityPolicyResultCoreSchema.partial();
|
|
131
|
+
export const sellabilityPolicyResultListQuerySchema = z.object({
|
|
132
|
+
limit: z.coerce.number().int().min(1).max(200).default(100),
|
|
133
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
134
|
+
snapshotId: z.string().optional(),
|
|
135
|
+
snapshotItemId: z.string().optional(),
|
|
136
|
+
policyId: z.string().optional(),
|
|
137
|
+
status: sellabilityPolicyResultStatusSchema.optional(),
|
|
138
|
+
});
|
|
139
|
+
export const offerRefreshRunCoreSchema = z.object({
|
|
140
|
+
offerId: z.string(),
|
|
141
|
+
snapshotId: z.string().nullable().optional(),
|
|
142
|
+
status: offerRefreshRunStatusSchema.default("pending"),
|
|
143
|
+
startedAt: z.string().datetime().nullable().optional(),
|
|
144
|
+
completedAt: z.string().datetime().nullable().optional(),
|
|
145
|
+
notes: z.string().nullable().optional(),
|
|
146
|
+
metadata: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
147
|
+
});
|
|
148
|
+
export const insertOfferRefreshRunSchema = offerRefreshRunCoreSchema;
|
|
149
|
+
export const updateOfferRefreshRunSchema = offerRefreshRunCoreSchema.partial();
|
|
150
|
+
export const offerRefreshRunListQuerySchema = z.object({
|
|
151
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
152
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
153
|
+
offerId: z.string().optional(),
|
|
154
|
+
snapshotId: z.string().optional(),
|
|
155
|
+
status: offerRefreshRunStatusSchema.optional(),
|
|
156
|
+
});
|
|
157
|
+
export const offerExpirationEventCoreSchema = z.object({
|
|
158
|
+
offerId: z.string(),
|
|
159
|
+
snapshotId: z.string().nullable().optional(),
|
|
160
|
+
expiresAt: z.string().datetime(),
|
|
161
|
+
expiredAt: z.string().datetime().nullable().optional(),
|
|
162
|
+
status: offerExpirationEventStatusSchema.default("scheduled"),
|
|
163
|
+
reason: z.string().nullable().optional(),
|
|
164
|
+
metadata: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
165
|
+
});
|
|
166
|
+
export const insertOfferExpirationEventSchema = offerExpirationEventCoreSchema;
|
|
167
|
+
export const updateOfferExpirationEventSchema = offerExpirationEventCoreSchema.partial();
|
|
168
|
+
export const offerExpirationEventListQuerySchema = z.object({
|
|
169
|
+
limit: z.coerce.number().int().min(1).max(200).default(50),
|
|
170
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
171
|
+
offerId: z.string().optional(),
|
|
172
|
+
snapshotId: z.string().optional(),
|
|
173
|
+
status: offerExpirationEventStatusSchema.optional(),
|
|
174
|
+
});
|
|
175
|
+
export const sellabilityExplanationCoreSchema = z.object({
|
|
176
|
+
snapshotId: z.string(),
|
|
177
|
+
snapshotItemId: z.string().nullable().optional(),
|
|
178
|
+
candidateIndex: z.number().int().min(0).default(0),
|
|
179
|
+
explanationType: sellabilityExplanationTypeSchema.default("policy"),
|
|
180
|
+
code: z.string().nullable().optional(),
|
|
181
|
+
message: z.string().min(1),
|
|
182
|
+
details: z.record(z.string(), z.unknown()).nullable().optional(),
|
|
183
|
+
});
|
|
184
|
+
export const insertSellabilityExplanationSchema = sellabilityExplanationCoreSchema;
|
|
185
|
+
export const updateSellabilityExplanationSchema = sellabilityExplanationCoreSchema.partial();
|
|
186
|
+
export const sellabilityExplanationListQuerySchema = z.object({
|
|
187
|
+
limit: z.coerce.number().int().min(1).max(200).default(100),
|
|
188
|
+
offset: z.coerce.number().int().min(0).default(0),
|
|
189
|
+
snapshotId: z.string().optional(),
|
|
190
|
+
snapshotItemId: z.string().optional(),
|
|
191
|
+
explanationType: sellabilityExplanationTypeSchema.optional(),
|
|
192
|
+
});
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
export type CommercialCurrencyCode = string;
|
|
2
|
+
export type CommercialJson = null | boolean | number | string | CommercialJson[] | {
|
|
3
|
+
[key: string]: CommercialJson;
|
|
4
|
+
};
|
|
5
|
+
export interface CommercialMoney {
|
|
6
|
+
amountMinor: number;
|
|
7
|
+
currency: CommercialCurrencyCode;
|
|
8
|
+
precision?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface CommercialProviderHandle {
|
|
11
|
+
providerId?: string;
|
|
12
|
+
sourceId?: string;
|
|
13
|
+
externalRef?: string;
|
|
14
|
+
handle?: string;
|
|
15
|
+
facts?: Record<string, CommercialJson>;
|
|
16
|
+
}
|
|
17
|
+
export interface CommercialAdapterHandle extends CommercialProviderHandle {
|
|
18
|
+
adapterId: string;
|
|
19
|
+
adapterKind: CommercialAdapterRegistrationKind;
|
|
20
|
+
}
|
|
21
|
+
export type CommercialItemRef = {
|
|
22
|
+
kind: "catalog-item";
|
|
23
|
+
id: string;
|
|
24
|
+
vertical?: string;
|
|
25
|
+
source?: "operated" | "sourced" | string;
|
|
26
|
+
adapterHint?: string;
|
|
27
|
+
sourceRef?: CommercialProviderHandle;
|
|
28
|
+
} | {
|
|
29
|
+
kind: "vertical-item";
|
|
30
|
+
id: string;
|
|
31
|
+
vertical: string;
|
|
32
|
+
source?: "operated" | "sourced" | string;
|
|
33
|
+
adapterHint?: string;
|
|
34
|
+
sourceRef?: CommercialProviderHandle;
|
|
35
|
+
};
|
|
36
|
+
export interface CommercialBuyerRef {
|
|
37
|
+
id?: string;
|
|
38
|
+
actorType?: "staff" | "customer" | "partner" | "supplier" | string;
|
|
39
|
+
relationshipId?: string;
|
|
40
|
+
segmentIds?: string[];
|
|
41
|
+
facts?: Record<string, CommercialJson>;
|
|
42
|
+
}
|
|
43
|
+
export interface CommercialChannelRef {
|
|
44
|
+
id?: string;
|
|
45
|
+
code?: string;
|
|
46
|
+
kind?: "direct" | "reseller" | "partner" | "staff" | string;
|
|
47
|
+
facts?: Record<string, CommercialJson>;
|
|
48
|
+
}
|
|
49
|
+
export interface CommercialMarketRef {
|
|
50
|
+
id?: string;
|
|
51
|
+
code?: string;
|
|
52
|
+
locale?: string;
|
|
53
|
+
currency?: CommercialCurrencyCode;
|
|
54
|
+
facts?: Record<string, CommercialJson>;
|
|
55
|
+
}
|
|
56
|
+
export interface CommercialParty {
|
|
57
|
+
pax: number;
|
|
58
|
+
adults?: number;
|
|
59
|
+
children?: number;
|
|
60
|
+
infants?: number;
|
|
61
|
+
units?: Array<{
|
|
62
|
+
unitId?: string;
|
|
63
|
+
unitType?: string;
|
|
64
|
+
quantity: number;
|
|
65
|
+
}>;
|
|
66
|
+
}
|
|
67
|
+
export interface CommercialDecisionInput {
|
|
68
|
+
item: CommercialItemRef;
|
|
69
|
+
date: string;
|
|
70
|
+
party: CommercialParty;
|
|
71
|
+
currency: CommercialCurrencyCode;
|
|
72
|
+
buyer?: CommercialBuyerRef;
|
|
73
|
+
channel?: CommercialChannelRef;
|
|
74
|
+
market?: CommercialMarketRef;
|
|
75
|
+
promotionCodes?: string[];
|
|
76
|
+
requestedAt?: string;
|
|
77
|
+
idempotencyKey?: string;
|
|
78
|
+
evaluationMode?: "preview" | "quote" | "checkout";
|
|
79
|
+
locale?: string;
|
|
80
|
+
trace?: {
|
|
81
|
+
correlationId?: string;
|
|
82
|
+
requestedBy?: string;
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export type CommercialDecisionTraceSource = "commerce" | "adapter" | "availability" | "pricing" | "markets" | "promotions" | "fx" | "sellability";
|
|
86
|
+
export type CommercialDecisionTraceOutcome = "applied" | "blocked" | "error" | "informational" | "skipped";
|
|
87
|
+
export interface CommercialDecisionTrace {
|
|
88
|
+
id: string;
|
|
89
|
+
source: CommercialDecisionTraceSource;
|
|
90
|
+
outcome: CommercialDecisionTraceOutcome;
|
|
91
|
+
code: string;
|
|
92
|
+
message?: string;
|
|
93
|
+
ruleId?: string;
|
|
94
|
+
provider?: CommercialProviderHandle;
|
|
95
|
+
refs?: Record<string, string>;
|
|
96
|
+
facts?: Record<string, CommercialJson>;
|
|
97
|
+
}
|
|
98
|
+
export interface CommercialPricingComponent {
|
|
99
|
+
id?: string;
|
|
100
|
+
kind: "base" | "unit" | "fee" | "tax" | "discount" | "adjustment" | "commission" | string;
|
|
101
|
+
label?: string;
|
|
102
|
+
amount: CommercialMoney;
|
|
103
|
+
quantity?: number;
|
|
104
|
+
ruleId?: string;
|
|
105
|
+
facts?: Record<string, CommercialJson>;
|
|
106
|
+
}
|
|
107
|
+
export interface CommercialFxFact {
|
|
108
|
+
sourceCurrency: CommercialCurrencyCode;
|
|
109
|
+
requestedCurrency: CommercialCurrencyCode;
|
|
110
|
+
rate: string;
|
|
111
|
+
rateSetId?: string;
|
|
112
|
+
provider?: CommercialProviderHandle;
|
|
113
|
+
quotedAt?: string;
|
|
114
|
+
}
|
|
115
|
+
export interface CommercialPricingFacts {
|
|
116
|
+
currency: CommercialCurrencyCode;
|
|
117
|
+
total: CommercialMoney;
|
|
118
|
+
subtotal?: CommercialMoney;
|
|
119
|
+
taxTotal?: CommercialMoney;
|
|
120
|
+
feeTotal?: CommercialMoney;
|
|
121
|
+
discountTotal?: CommercialMoney;
|
|
122
|
+
components: CommercialPricingComponent[];
|
|
123
|
+
priceRuleIds?: string[];
|
|
124
|
+
catalogId?: string;
|
|
125
|
+
fx?: CommercialFxFact;
|
|
126
|
+
facts?: Record<string, CommercialJson>;
|
|
127
|
+
}
|
|
128
|
+
export interface CommercialPromotionFact {
|
|
129
|
+
id?: string;
|
|
130
|
+
code?: string;
|
|
131
|
+
name?: string;
|
|
132
|
+
status: "applied" | "rejected" | "eligible" | "ineligible";
|
|
133
|
+
discount?: CommercialMoney;
|
|
134
|
+
ruleId?: string;
|
|
135
|
+
reason?: string;
|
|
136
|
+
facts?: Record<string, CommercialJson>;
|
|
137
|
+
}
|
|
138
|
+
export interface CommercialPromotionFacts {
|
|
139
|
+
requestedCodes?: string[];
|
|
140
|
+
applied: CommercialPromotionFact[];
|
|
141
|
+
rejected: CommercialPromotionFact[];
|
|
142
|
+
totalDiscount?: CommercialMoney;
|
|
143
|
+
stacking?: {
|
|
144
|
+
mode?: string;
|
|
145
|
+
ruleIds?: string[];
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export interface CommercialAvailabilityFact {
|
|
149
|
+
status: "available" | "limited" | "unavailable" | "unknown";
|
|
150
|
+
capacityRemaining?: number;
|
|
151
|
+
allocationRef?: string;
|
|
152
|
+
validUntil?: string;
|
|
153
|
+
facts?: Record<string, CommercialJson>;
|
|
154
|
+
}
|
|
155
|
+
export interface CommercialSellabilityFact {
|
|
156
|
+
status: "allowed" | "blocked" | "requires_review" | "unknown";
|
|
157
|
+
policyIds?: string[];
|
|
158
|
+
facts?: Record<string, CommercialJson>;
|
|
159
|
+
}
|
|
160
|
+
export interface CommercialDecisionReason {
|
|
161
|
+
code: "buyable" | "unsupported_item" | "unavailable" | "blocked_by_rule" | "adapter_failed" | "adapter_invalid_result" | "adapter_ambiguous" | string;
|
|
162
|
+
message?: string;
|
|
163
|
+
ruleId?: string;
|
|
164
|
+
facts?: Record<string, CommercialJson>;
|
|
165
|
+
}
|
|
166
|
+
export type CommercialDecisionStatus = "buyable" | "unbuyable" | "error";
|
|
167
|
+
export interface CommercialDecision {
|
|
168
|
+
decisionId: string;
|
|
169
|
+
status: CommercialDecisionStatus;
|
|
170
|
+
buyable: boolean;
|
|
171
|
+
input: CommercialDecisionInput;
|
|
172
|
+
evaluatedAt: string;
|
|
173
|
+
idempotencyKey?: string;
|
|
174
|
+
validFrom?: string;
|
|
175
|
+
validUntil?: string;
|
|
176
|
+
reason: CommercialDecisionReason;
|
|
177
|
+
pricing?: CommercialPricingFacts;
|
|
178
|
+
fx?: CommercialFxFact;
|
|
179
|
+
promotions: CommercialPromotionFacts;
|
|
180
|
+
availability?: CommercialAvailabilityFact;
|
|
181
|
+
sellability?: CommercialSellabilityFact;
|
|
182
|
+
market?: CommercialMarketRef;
|
|
183
|
+
channel?: CommercialChannelRef;
|
|
184
|
+
traces: CommercialDecisionTrace[];
|
|
185
|
+
handles: CommercialAdapterHandle[];
|
|
186
|
+
}
|
|
187
|
+
export type CommercialAdapterRegistrationKind = "operated-inventory" | "source" | "vertical" | "custom";
|
|
188
|
+
export interface CommercialPriceAvailabilityResult {
|
|
189
|
+
status: "available" | "unavailable";
|
|
190
|
+
reason?: CommercialDecisionReason;
|
|
191
|
+
pricing?: CommercialPricingFacts;
|
|
192
|
+
fx?: CommercialFxFact;
|
|
193
|
+
promotions?: CommercialPromotionFacts;
|
|
194
|
+
availability?: CommercialAvailabilityFact;
|
|
195
|
+
sellability?: CommercialSellabilityFact;
|
|
196
|
+
market?: CommercialMarketRef;
|
|
197
|
+
channel?: CommercialChannelRef;
|
|
198
|
+
validFrom?: string;
|
|
199
|
+
validUntil?: string;
|
|
200
|
+
traces?: CommercialDecisionTrace[];
|
|
201
|
+
handles?: CommercialProviderHandle[];
|
|
202
|
+
}
|
|
203
|
+
export interface CommercialDecisionEvaluationContext {
|
|
204
|
+
now?: Date;
|
|
205
|
+
}
|
|
206
|
+
export interface CommercialPriceAvailabilityAdapter {
|
|
207
|
+
id: string;
|
|
208
|
+
kind: CommercialAdapterRegistrationKind;
|
|
209
|
+
supports(input: CommercialDecisionInput): boolean | Promise<boolean>;
|
|
210
|
+
evaluate(input: CommercialDecisionInput, context: CommercialDecisionEvaluationContext): CommercialPriceAvailabilityResult | Promise<CommercialPriceAvailabilityResult>;
|
|
211
|
+
}
|
|
212
|
+
export type EvaluateCommercialDecision = (input: CommercialDecisionInput, context?: CommercialDecisionEvaluationContext) => Promise<CommercialDecision>;
|
|
213
|
+
export type CommercialDecisionErrorCode = "duplicate_adapter" | "adapter_ambiguous" | "adapter_not_found";
|
|
214
|
+
export interface CommercialSnapshotTarget {
|
|
215
|
+
kind: "quote-version" | "booking-draft" | "trip-component" | "catalog-quote" | "booking" | "custom";
|
|
216
|
+
id: string;
|
|
217
|
+
idempotencyKey?: string;
|
|
218
|
+
facts?: Record<string, CommercialJson>;
|
|
219
|
+
}
|
|
220
|
+
export interface CommercialSnapshotWriteInput {
|
|
221
|
+
decision: CommercialDecision;
|
|
222
|
+
target: CommercialSnapshotTarget;
|
|
223
|
+
idempotencyKey?: string;
|
|
224
|
+
}
|
|
225
|
+
export interface CommercialSnapshotRecord {
|
|
226
|
+
snapshotId: string;
|
|
227
|
+
decisionId: string;
|
|
228
|
+
target: CommercialSnapshotTarget;
|
|
229
|
+
idempotencyKey?: string;
|
|
230
|
+
recordedAt: string;
|
|
231
|
+
}
|
|
232
|
+
export interface CommercialSnapshotRepository {
|
|
233
|
+
recordCommercialSnapshot(input: CommercialSnapshotWriteInput): Promise<CommercialSnapshotRecord>;
|
|
234
|
+
}
|
|
235
|
+
export interface CommercialDecisionEvaluator {
|
|
236
|
+
registerPriceAvailabilityAdapter(adapter: CommercialPriceAvailabilityAdapter): void;
|
|
237
|
+
evaluateCommercialDecision: EvaluateCommercialDecision;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@voyant-travel/commerce",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"default": "./dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"./schema": {
|
|
13
|
+
"types": "./dist/schema.d.ts",
|
|
14
|
+
"import": "./dist/schema.js",
|
|
15
|
+
"default": "./dist/schema.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"drizzle-orm": "^0.45.2",
|
|
20
|
+
"hono": "^4.12.10",
|
|
21
|
+
"rrule": "^2.8.1",
|
|
22
|
+
"zod": "^4.3.6",
|
|
23
|
+
"@voyant-travel/core": "^0.109.0",
|
|
24
|
+
"@voyant-travel/db": "^0.108.0",
|
|
25
|
+
"@voyant-travel/catalog": "^0.117.2",
|
|
26
|
+
"@voyant-travel/distribution": "^0.109.8",
|
|
27
|
+
"@voyant-travel/hono": "^0.109.1",
|
|
28
|
+
"@voyant-travel/products-contracts": "^0.105.4",
|
|
29
|
+
"@voyant-travel/workflows": "^0.107.10"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"typescript": "^6.0.2",
|
|
33
|
+
"vitest": "^4.1.2",
|
|
34
|
+
"@voyant-travel/voyant-typescript-config": "^0.1.0"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist"
|
|
38
|
+
],
|
|
39
|
+
"publishConfig": {
|
|
40
|
+
"access": "public"
|
|
41
|
+
},
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/voyant-travel/voyant.git",
|
|
45
|
+
"directory": "packages/commerce"
|
|
46
|
+
},
|
|
47
|
+
"voyant": {
|
|
48
|
+
"schema": "./schema",
|
|
49
|
+
"requiresSchemas": [
|
|
50
|
+
"@voyant-travel/db"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"scripts": {
|
|
54
|
+
"typecheck": "tsc --noEmit",
|
|
55
|
+
"lint": "biome check src/",
|
|
56
|
+
"test": "vitest run",
|
|
57
|
+
"build": "tsc -p tsconfig.json",
|
|
58
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo"
|
|
59
|
+
},
|
|
60
|
+
"main": "./dist/index.js",
|
|
61
|
+
"types": "./dist/index.d.ts"
|
|
62
|
+
}
|