@voyantjs/storefront 0.81.12 → 0.81.13

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 +1 @@
1
- {"version":3,"file":"service-booking-session-bootstrap.d.ts","sourceRoot":"","sources":["../src/service-booking-session-bootstrap.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,iBAAiB,CAAA;AAE7E,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,kBAAkB,CAAA;IACtB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,wCAAwC;IACvD,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,oBAAoB,CAAC,EAAE,CACrB,KAAK,EAAE,sCAAsC,GAAG,iCAAiC,KAC9E,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,CAAA;IACjF,KAAK,CAAC,EAAE,IAAI,CAAA;CACb;AA0PD,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,iCAAiC,EAC1C,KAAK,EAAE,sCAAsC,EAC7C,OAAO,EAAE,wCAAwC,GAAG,SAAS,EAC7D,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;4BA/JD,MAAM;wBACV,MAAM;uBACP,MAAM;2BACF,MAAM,GAAG,IAAI;0BACd,MAAM,GAAG,IAAI;8BACT,MAAM,GAAG,IAAI;gCACX,MAAM,GAAG,IAAI;gCACb,MAAM,GAAG,IAAI;mCACV,MAAM,GAAG,IAAI;0BACtB,MAAM;6BACH,MAAM;qCACE,MAAM,GAAG,IAAI;sCACZ,MAAM,GAAG,IAAI;0BACzB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAXX,MAAM;+BACF,MAAM,GAAG,IAAI;8BACd,MAAM,GAAG,IAAI;kCACT,MAAM,GAAG,IAAI;oCACX,MAAM,GAAG,IAAI;oCACb,MAAM,GAAG,IAAI;uCACV,MAAM,GAAG,IAAI;8BACtB,MAAM;iCACH,MAAM;yCACE,MAAM,GAAG,IAAI;0CACZ,MAAM,GAAG,IAAI;8BACzB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuTrB"}
1
+ {"version":3,"file":"service-booking-session-bootstrap.d.ts","sourceRoot":"","sources":["../src/service-booking-session-bootstrap.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,iBAAiB,CAAA;AAE7E,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,kBAAkB,CAAA;IACtB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,wCAAwC;IACvD,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,oBAAoB,CAAC,EAAE,CACrB,KAAK,EAAE,sCAAsC,GAAG,iCAAiC,KAC9E,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,CAAA;IACjF,KAAK,CAAC,EAAE,IAAI,CAAA;CACb;AA2PD,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,iCAAiC,EAC1C,KAAK,EAAE,sCAAsC,EAC7C,OAAO,EAAE,wCAAwC,GAAG,SAAS,EAC7D,MAAM,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;4BAhKD,MAAM;wBACV,MAAM;uBACP,MAAM;2BACF,MAAM,GAAG,IAAI;0BACd,MAAM,GAAG,IAAI;8BACT,MAAM,GAAG,IAAI;gCACX,MAAM,GAAG,IAAI;gCACb,MAAM,GAAG,IAAI;mCACV,MAAM,GAAG,IAAI;0BACtB,MAAM;6BACH,MAAM;qCACE,MAAM,GAAG,IAAI;sCACZ,MAAM,GAAG,IAAI;0BACzB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAXX,MAAM;+BACF,MAAM,GAAG,IAAI;8BACd,MAAM,GAAG,IAAI;kCACT,MAAM,GAAG,IAAI;oCACX,MAAM,GAAG,IAAI;oCACb,MAAM,GAAG,IAAI;uCACV,MAAM,GAAG,IAAI;8BACtB,MAAM;iCACH,MAAM;yCACE,MAAM,GAAG,IAAI;0CACZ,MAAM,GAAG,IAAI;8BACzB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwTrB"}
@@ -69,6 +69,7 @@ async function previewBootstrapPricing(db, input, slot) {
69
69
  }
70
70
  const snapshot = await resolveSessionPricingSnapshot(db, productId, {
71
71
  catalogId: input.catalogId,
72
+ departureId: input.slotId,
72
73
  optionId,
73
74
  });
74
75
  if (!snapshot) {
@@ -57,6 +57,10 @@ type PricingContext = {
57
57
  sellAmountCents: number | null;
58
58
  sortOrder: number;
59
59
  }>;
60
+ unitPriceOverrides: Map<string, {
61
+ sellAmountCents: number;
62
+ costAmountCents: number | null;
63
+ }>;
60
64
  };
61
65
  export interface StorefrontDeparturePricePreviewOfferResolvers {
62
66
  listApplicableOffers?: (input: {
@@ -1 +1 @@
1
- {"version":3,"file":"service-departures.d.ts","sourceRoot":"","sources":["../src/service-departures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service-departures.d.ts","sourceRoot":"","sources":["../src/service-departures.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { getSlotResourceAvailability, getSlotsResourceAvailability, } from "@voyantjs/availability";
2
2
  import { availabilitySlots, availabilityStartTimes } from "@voyantjs/availability/schema";
3
3
  import { productExtras } from "@voyantjs/extras/schema";
4
+ import { loadDeparturePriceOverrides } from "@voyantjs/pricing";
4
5
  import { extraPriceRules, optionPriceRules, optionUnitPriceRules, optionUnitTiers, priceCatalogs, } from "@voyantjs/pricing/schema";
5
6
  import { optionUnits, productDayServices, productDays, productItineraries, productLocations, productMedia, productOptions, products, } from "@voyantjs/products/schema";
6
7
  import { sellabilityService } from "@voyantjs/sellability";
@@ -62,6 +63,13 @@ function selectTierAmount(unitRule, tiers, quantity) {
62
63
  const tier = selectUnitTier(unitRule, tiers, quantity);
63
64
  return tier?.sellAmountCents ?? unitRule.sellAmountCents ?? null;
64
65
  }
66
+ function selectUnitAmount(context, unitRule, quantity) {
67
+ if (!unitRule) {
68
+ return null;
69
+ }
70
+ return (context.unitPriceOverrides.get(unitRule.unitId)?.sellAmountCents ??
71
+ selectTierAmount(unitRule, context.tiers, quantity));
72
+ }
65
73
  function findNamedUnit(units, matcher) {
66
74
  return units.find(matcher) ?? null;
67
75
  }
@@ -219,7 +227,7 @@ async function countSlots(db, filters = {}) {
219
227
  .where(and(...conditions));
220
228
  return result?.value ?? 0;
221
229
  }
222
- async function resolvePricingContext(db, productId, optionId) {
230
+ async function resolvePricingContext(db, productId, optionId, departureId) {
223
231
  const [product] = await db
224
232
  .select({
225
233
  id: products.id,
@@ -259,6 +267,7 @@ async function resolvePricingContext(db, productId, optionId) {
259
267
  unitRules: [],
260
268
  tiers: [],
261
269
  extraRules: [],
270
+ unitPriceOverrides: new Map(),
262
271
  };
263
272
  }
264
273
  const [rule] = await db
@@ -297,6 +306,7 @@ async function resolvePricingContext(db, productId, optionId) {
297
306
  unitRules: [],
298
307
  tiers: [],
299
308
  extraRules: [],
309
+ unitPriceOverrides: new Map(),
300
310
  };
301
311
  }
302
312
  const unitRules = await db
@@ -337,6 +347,12 @@ async function resolvePricingContext(db, productId, optionId) {
337
347
  .from(extraPriceRules)
338
348
  .where(and(eq(extraPriceRules.optionPriceRuleId, rule.id), eq(extraPriceRules.active, true)))
339
349
  .orderBy(asc(extraPriceRules.sortOrder), asc(extraPriceRules.createdAt));
350
+ const unitPriceOverrides = departureId
351
+ ? await loadDeparturePriceOverrides(db, {
352
+ departureId,
353
+ catalogId: catalog.id,
354
+ })
355
+ : new Map();
340
356
  return {
341
357
  product: product ?? null,
342
358
  catalog,
@@ -346,6 +362,7 @@ async function resolvePricingContext(db, productId, optionId) {
346
362
  unitRules,
347
363
  tiers,
348
364
  extraRules,
365
+ unitPriceOverrides,
349
366
  };
350
367
  }
351
368
  function buildRatePlans(context) {
@@ -358,7 +375,7 @@ function buildRatePlans(context) {
358
375
  .map((unit) => {
359
376
  const unitRule = context.unitRules.find((row) => row.unitId === unit.id);
360
377
  const quantityHint = Math.max(1, unit.occupancyMax ?? unit.occupancyMin ?? 1);
361
- const amount = centsToAmount(selectTierAmount(unitRule, context.tiers, quantityHint));
378
+ const amount = centsToAmount(selectUnitAmount(context, unitRule, quantityHint));
362
379
  if (amount == null) {
363
380
  return null;
364
381
  }
@@ -412,7 +429,7 @@ function computeFallbackLineItems(args) {
412
429
  if (!unitRule) {
413
430
  continue;
414
431
  }
415
- const amountCents = selectTierAmount(unitRule, args.context.tiers, Math.max(1, room.occupancy * room.quantity));
432
+ const amountCents = selectUnitAmount(args.context, unitRule, Math.max(1, room.occupancy * room.quantity));
416
433
  const unitAmount = centsToAmount(amountCents) ?? 0;
417
434
  const quantity = unitRule.pricingMode === "per_person"
418
435
  ? Math.max(1, room.occupancy * room.quantity)
@@ -442,7 +459,7 @@ function computeFallbackLineItems(args) {
442
459
  if (!unitRule) {
443
460
  continue;
444
461
  }
445
- const unitAmount = centsToAmount(selectTierAmount(unitRule, args.context.tiers, request.quantity)) ?? 0;
462
+ const unitAmount = centsToAmount(selectUnitAmount(args.context, unitRule, request.quantity)) ?? 0;
446
463
  const totalAmount = Number((unitAmount * request.quantity).toFixed(2));
447
464
  total += totalAmount;
448
465
  const unit = request.unitId
@@ -789,7 +806,7 @@ async function buildOfferPreview(input) {
789
806
  };
790
807
  }
791
808
  async function buildDeparture(db, slot, defaultItineraryByProduct, meetingPointByProduct, resourceAvailability) {
792
- const context = await resolvePricingContext(db, slot.productId, slot.optionId);
809
+ const context = await resolvePricingContext(db, slot.productId, slot.optionId, slot.id);
793
810
  const itineraryId = slot.itineraryId ?? defaultItineraryByProduct.get(slot.productId) ?? null;
794
811
  const resources = resourceAvailability ?? [];
795
812
  return {
@@ -1024,7 +1041,7 @@ export async function previewStorefrontDeparturePrice(db, departureId, input, of
1024
1041
  if (!slot) {
1025
1042
  return null;
1026
1043
  }
1027
- const context = await resolvePricingContext(db, slot.productId, slot.optionId);
1044
+ const context = await resolvePricingContext(db, slot.productId, slot.optionId, slot.id);
1028
1045
  const adults = Math.max(0, input.pax?.adults ?? 1);
1029
1046
  const children = Math.max(0, input.pax?.children ?? 0);
1030
1047
  const infants = Math.max(0, input.pax?.infants ?? 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyantjs/storefront",
3
- "version": "0.81.12",
3
+ "version": "0.81.13",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -39,21 +39,21 @@
39
39
  "drizzle-orm": "^0.45.2",
40
40
  "hono": "^4.12.10",
41
41
  "zod": "^4.3.6",
42
- "@voyantjs/availability": "0.81.12",
43
- "@voyantjs/bookings": "0.81.12",
44
- "@voyantjs/crm": "0.81.12",
45
- "@voyantjs/core": "0.81.12",
46
- "@voyantjs/extras": "0.81.12",
47
- "@voyantjs/finance": "0.81.12",
48
- "@voyantjs/hono": "0.81.12",
49
- "@voyantjs/products": "0.81.12",
50
- "@voyantjs/pricing": "0.81.12",
51
- "@voyantjs/sellability": "0.81.12"
42
+ "@voyantjs/availability": "0.81.13",
43
+ "@voyantjs/extras": "0.81.13",
44
+ "@voyantjs/core": "0.81.13",
45
+ "@voyantjs/crm": "0.81.13",
46
+ "@voyantjs/bookings": "0.81.13",
47
+ "@voyantjs/finance": "0.81.13",
48
+ "@voyantjs/hono": "0.81.13",
49
+ "@voyantjs/sellability": "0.81.13",
50
+ "@voyantjs/products": "0.81.13",
51
+ "@voyantjs/pricing": "0.81.13"
52
52
  },
53
53
  "devDependencies": {
54
54
  "typescript": "^6.0.2",
55
55
  "vitest": "^4.1.2",
56
- "@voyantjs/db": "0.81.12",
56
+ "@voyantjs/db": "0.81.13",
57
57
  "@voyantjs/voyant-typescript-config": "0.1.0"
58
58
  },
59
59
  "files": [