@voyant-travel/bookings-react 0.137.4 → 0.137.5

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.
@@ -105,7 +105,7 @@ export declare function usePublicBookingSessionFlowMutation(sessionId: string):
105
105
  availabilitySlotId: string | null;
106
106
  quantity: number;
107
107
  allocationType: "resource" | "unit" | "pickup";
108
- status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "held" | "released";
108
+ status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "released" | "held";
109
109
  holdExpiresAt: string | null;
110
110
  confirmedAt: string | null;
111
111
  releasedAt: string | null;
@@ -69,7 +69,7 @@ export declare function usePublicBookingSession(sessionId: string | null | undef
69
69
  availabilitySlotId: string | null;
70
70
  quantity: number;
71
71
  allocationType: "resource" | "unit" | "pickup";
72
- status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "held" | "released";
72
+ status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "released" | "held";
73
73
  holdExpiresAt: string | null;
74
74
  confirmedAt: string | null;
75
75
  releasedAt: string | null;
@@ -31,6 +31,9 @@ export declare const bookingsUiEnJourney: {
31
31
  validation: {
32
32
  completeStepBeforeContinuing: string;
33
33
  unableToContinue: string;
34
+ quoteFailed: string;
35
+ retryQuote: string;
36
+ quoteUnavailable: string;
34
37
  addAtLeastTravelers: string;
35
38
  maxTravelersPerBooking: string;
36
39
  ageOutOfRange: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/en-journey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiPK,CAAA"}
1
+ {"version":3,"file":"en-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/en-journey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqPK,CAAA"}
@@ -31,6 +31,9 @@ export const bookingsUiEnJourney = {
31
31
  validation: {
32
32
  completeStepBeforeContinuing: "Complete this step before continuing.",
33
33
  unableToContinue: "Unable to continue. Please try again.",
34
+ quoteFailed: "We couldn't refresh live pricing. Check your connection and try again.",
35
+ retryQuote: "Retry pricing",
36
+ quoteUnavailable: "Pricing isn't confirmed yet — retry pricing above before confirming your booking.",
34
37
  addAtLeastTravelers: "Add at least {count} traveler{plural} to continue.",
35
38
  maxTravelersPerBooking: "Max {count} travelers per booking.",
36
39
  ageOutOfRange: "Age {age} is outside the accepted range for this product.",
package/dist/i18n/en.d.ts CHANGED
@@ -734,6 +734,9 @@ export declare const bookingsUiEn: {
734
734
  validation: {
735
735
  completeStepBeforeContinuing: string;
736
736
  unableToContinue: string;
737
+ quoteFailed: string;
738
+ retryQuote: string;
739
+ quoteUnavailable: string;
737
740
  addAtLeastTravelers: string;
738
741
  maxTravelersPerBooking: string;
739
742
  ageOutOfRange: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMK,CAAA"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMK,CAAA"}
@@ -22,6 +22,9 @@ export type BookingsUiJourneyMessages = {
22
22
  validation: {
23
23
  completeStepBeforeContinuing: string;
24
24
  unableToContinue: string;
25
+ quoteFailed: string;
26
+ retryQuote: string;
27
+ quoteUnavailable: string;
25
28
  addAtLeastTravelers: string;
26
29
  maxTravelersPerBooking: string;
27
30
  ageOutOfRange: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messages-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/messages-journey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/messages-journey.ts"],"names":[],"mappings":"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"}
@@ -738,6 +738,9 @@ export declare const bookingsUiMessageDefinitions: {
738
738
  validation: {
739
739
  completeStepBeforeContinuing: string;
740
740
  unableToContinue: string;
741
+ quoteFailed: string;
742
+ retryQuote: string;
743
+ quoteUnavailable: string;
741
744
  addAtLeastTravelers: string;
742
745
  maxTravelersPerBooking: string;
743
746
  ageOutOfRange: string;
@@ -2318,6 +2321,9 @@ export declare const bookingsUiMessageDefinitions: {
2318
2321
  validation: {
2319
2322
  completeStepBeforeContinuing: string;
2320
2323
  unableToContinue: string;
2324
+ quoteFailed: string;
2325
+ retryQuote: string;
2326
+ quoteUnavailable: string;
2321
2327
  addAtLeastTravelers: string;
2322
2328
  maxTravelersPerBooking: string;
2323
2329
  ageOutOfRange: string;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EAEb,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAKvD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAExD,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;AASnF,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,sBAOA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CASvC;AAED,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,+BAWA;AAED,eAAO,MAAM,iBAAiB,4CAA4B,CAAA;AAC1D,eAAO,MAAM,qBAAqB,0BAAgC,CAAA;AAElE,wBAAgB,0BAA0B,yCAEzC;AAED,wBAAgB,8BAA8B,uBAE7C;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/i18n/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EAEb,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAKvD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAExD,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,CAAC,kBAAkB,CAAC,CAAA;AASnF,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,sBAOA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CASvC;AAED,wBAAgB,0BAA0B,CAAC,EACzC,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAA;CAC9C,+BAWA;AAED,eAAO,MAAM,iBAAiB,4CAA4B,CAAA;AAC1D,eAAO,MAAM,qBAAqB,0BAAgC,CAAA;AAElE,wBAAgB,0BAA0B,yCAEzC;AAED,wBAAgB,8BAA8B,uBAE7C;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -31,6 +31,9 @@ export declare const bookingsUiRoJourney: {
31
31
  validation: {
32
32
  completeStepBeforeContinuing: string;
33
33
  unableToContinue: string;
34
+ quoteFailed: string;
35
+ retryQuote: string;
36
+ quoteUnavailable: string;
34
37
  addAtLeastTravelers: string;
35
38
  maxTravelersPerBooking: string;
36
39
  ageOutOfRange: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ro-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/ro-journey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoPK,CAAA"}
1
+ {"version":3,"file":"ro-journey.d.ts","sourceRoot":"","sources":["../../src/i18n/ro-journey.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwPK,CAAA"}
@@ -31,6 +31,9 @@ export const bookingsUiRoJourney = {
31
31
  validation: {
32
32
  completeStepBeforeContinuing: "Completeaza acest pas inainte de a continua.",
33
33
  unableToContinue: "Nu se poate continua. Incearca din nou.",
34
+ quoteFailed: "Nu am putut reactualiza pretul live. Verifica conexiunea si incearca din nou.",
35
+ retryQuote: "Reincearca pretul",
36
+ quoteUnavailable: "Pretul nu este inca confirmat - reincearca pretul de mai sus inainte de a confirma rezervarea.",
34
37
  addAtLeastTravelers: "Adauga cel putin {count} calator{plural} pentru a continua.",
35
38
  maxTravelersPerBooking: "Maximum {count} calatori per rezervare.",
36
39
  ageOutOfRange: "Varsta {age} este in afara intervalului acceptat pentru acest produs.",
package/dist/i18n/ro.d.ts CHANGED
@@ -734,6 +734,9 @@ export declare const bookingsUiRo: {
734
734
  validation: {
735
735
  completeStepBeforeContinuing: string;
736
736
  unableToContinue: string;
737
+ quoteFailed: string;
738
+ retryQuote: string;
739
+ quoteUnavailable: string;
737
740
  addAtLeastTravelers: string;
738
741
  maxTravelersPerBooking: string;
739
742
  ageOutOfRange: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMK,CAAA"}
1
+ {"version":3,"file":"ro.d.ts","sourceRoot":"","sources":["../../src/i18n/ro.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"booking-journey.d.ts","sourceRoot":"","sources":["../../../src/journey/components/booking-journey.tsx"],"names":[],"mappings":"AA+BA,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,aAAa,CAAA;AA6BpB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAkpB7E"}
1
+ {"version":3,"file":"booking-journey.d.ts","sourceRoot":"","sources":["../../../src/journey/components/booking-journey.tsx"],"names":[],"mappings":"AA+BA,OAAO,EACL,KAAK,mBAAmB,EAIzB,MAAM,aAAa,CAAA;AA6BpB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CA+sB7E"}
@@ -162,7 +162,12 @@ export function BookingJourney(props) {
162
162
  }
163
163
  }, [holdSignature, currentStep]);
164
164
  const available = quote.data?.available !== false;
165
- const canAdvance = canAdvanceFromStep(currentStep, draft, shape, available);
165
+ // A failed quote (e.g. the connector adapter 500s) leaves `quote.data` null,
166
+ // which makes `available` read as true and lets a stale/absent price slip
167
+ // through to Review where Confirm would silently no-op. Treat a quote error
168
+ // as a hard block: gate Next/Confirm and surface a recoverable banner + retry.
169
+ const hasQuoteError = quote.error != null;
170
+ const canAdvance = canAdvanceFromStep(currentStep, draft, shape, available) && !hasQuoteError;
166
171
  const warnings = warningsForStep(currentStep, draft, shape, messages);
167
172
  // Stacked layout: there's no "current" step, but the section nav still
168
173
  // nudges toward the first thing that isn't done yet, and the final
@@ -171,9 +176,18 @@ export function BookingJourney(props) {
171
176
  stackedSteps[stackedSteps.length - 1] ??
172
177
  stackedSteps[0] ??
173
178
  "departure", [stackedSteps, draft, shape, available]);
174
- const canCommit = useMemo(() => stackedSteps.every((s) => canAdvanceFromStep(s, draft, shape, available)), [stackedSteps, draft, shape, available]);
179
+ const canCommit = useMemo(() => stackedSteps.every((s) => canAdvanceFromStep(s, draft, shape, available)) && !hasQuoteError, [stackedSteps, draft, shape, available, hasQuoteError]);
175
180
  const [isAdvanceGuardPending, setIsAdvanceGuardPending] = useState(false);
176
181
  const [advanceGuardError, setAdvanceGuardError] = useState(null);
182
+ // Set when Confirm can't proceed because there's no valid quote — makes the
183
+ // click a visible, explained block instead of a silent no-op.
184
+ const [confirmError, setConfirmError] = useState(null);
185
+ // Clear the "no valid quote" block as soon as a fresh quote settles (via
186
+ // retry or an auto re-quote), so the message doesn't linger once resolved.
187
+ useEffect(() => {
188
+ if (quote.data?.quoteId)
189
+ setConfirmError(null);
190
+ }, [quote.data?.quoteId]);
177
191
  const idx = steps.indexOf(currentStep);
178
192
  const next = steps[idx + 1];
179
193
  const prev = steps[idx - 1];
@@ -276,8 +290,17 @@ export function BookingJourney(props) {
276
290
  }
277
291
  };
278
292
  const onConfirm = async () => {
279
- if (!quote.data?.quoteId)
293
+ // No valid quote (never priced, or the last re-quote 500'd) → Confirm must
294
+ // NOT be a silent no-op. `useBookingQuote` keeps the prior quote as
295
+ // placeholder data on a failed refetch, so a stale `quoteId` can still be
296
+ // present while `quote.error` is set; block on `hasQuoteError` too so the
297
+ // wizard Review Confirm can never submit against a stale price. Surface a
298
+ // recoverable message pointing at the retry banner instead of swallowing.
299
+ if (!quote.data?.quoteId || hasQuoteError) {
300
+ setConfirmError(messages.bookingJourney.validation.quoteUnavailable);
280
301
  return;
302
+ }
303
+ setConfirmError(null);
281
304
  // 1. Contract is wired → open the dialog. Acceptance triggers
282
305
  // onContractAccepted (the storefront's checkout-start path).
283
306
  // 2. No contract but onContractAccepted is wired → call it
@@ -310,6 +333,14 @@ export function BookingJourney(props) {
310
333
  departureDate: draft.configure.departureDate,
311
334
  })
312
335
  : undefined;
336
+ // Recoverable quote-failure banner — rendered in both layouts whenever the
337
+ // live quote is erroring. The manual retry re-runs the query (clearing its
338
+ // error on success), which re-enables Next/Confirm.
339
+ const retryQuote = () => {
340
+ setConfirmError(null);
341
+ void quote.refetch();
342
+ };
343
+ const quoteErrorBanner = hasQuoteError ? (_jsxs("div", { role: "alert", "aria-live": "polite", className: "flex flex-col items-start gap-2 rounded-md border border-destructive/40 bg-destructive/5 p-3 text-destructive text-sm", children: [_jsx("span", { children: messages.bookingJourney.validation.quoteFailed }), _jsx(Button, { type: "button", variant: "outline", size: "sm", onClick: retryQuote, disabled: quote.isQuoting, children: messages.bookingJourney.validation.retryQuote })] })) : null;
313
344
  // Renders one step's content. Shared by both layouts — the wizard shows
314
345
  // exactly one at a time; the stacked page renders them all in sections.
315
346
  const renderStep = (step) => {
@@ -345,11 +376,14 @@ export function BookingJourney(props) {
345
376
  }
346
377
  };
347
378
  if (layout === "stacked") {
348
- return (_jsx(StackedJourney, { className: props.className, steps: stackedSteps, renderStep: renderStep, isStepComplete: (s) => stackedStepComplete(s, draft, shape, available), commitError: commit.error, onCancel: props.onCancelled, onConfirm: onConfirm, isCommitting: commit.isPending || isHandlingCheckout, canConfirm: canCommit, sidePanel: _jsx(PriceSidePanel, { pricing: quote.data?.pricing ?? null, isQuoting: quote.isQuoting, invalidReason: quote.data?.invalidReason, entitySummary: props.entitySummary, currentStep: firstIncomplete, steps: stackedSteps, shape: shape, draft: draft, className: props.sidePanelClassName,
379
+ return (_jsx(StackedJourney, { className: props.className, steps: stackedSteps, renderStep: renderStep, isStepComplete: (s) => stackedStepComplete(s, draft, shape, available),
380
+ // Surface both the in-process commit error and the "no valid quote"
381
+ // Confirm block so a failed confirm is never silent.
382
+ commitError: commit.error ?? confirmError, onCancel: props.onCancelled, onConfirm: onConfirm, isCommitting: commit.isPending || isHandlingCheckout, canConfirm: canCommit, banner: quoteErrorBanner, sidePanel: _jsx(PriceSidePanel, { pricing: quote.data?.pricing ?? null, isQuoting: quote.isQuoting, invalidReason: quote.data?.invalidReason, entitySummary: props.entitySummary, currentStep: firstIncomplete, steps: stackedSteps, shape: shape, draft: draft, className: props.sidePanelClassName,
349
383
  // Price override + voucher live with the pricing, not in Payment.
350
384
  pricingExtras: _jsx(FinalizeControls, { draft: draft, setDraft: setDraft, pricing: quote.data?.pricing ?? null, renderVoucherPicker: props.renderVoucherPicker }) }), contractDialog: contractConfig ? (_jsx(ContractPreviewDialog, { open: contractDialogOpen, onOpenChange: setContractDialogOpen, previewUrl: contractConfig.previewUrl, acceptLanguage: contractConfig.acceptLanguage, variables: contractVariables, marketingLabel: contractConfig.marketingLabel, termsLabel: contractConfig.termsLabel, onAccept: onContractAccept })) : null }));
351
385
  }
352
- return (_jsxs("div", { className: props.className, children: [_jsxs("div", { className: "grid grid-cols-1 gap-6 md:grid-cols-8 md:items-start", children: [_jsxs("div", { className: "space-y-6 md:col-span-5", children: [_jsx(StepHeader, { current: currentStep, visited: [...visited], steps: steps, shape: shape, onJumpTo: jumpTo }), currentStep === "departure" ? (
386
+ return (_jsxs("div", { className: props.className, children: [_jsxs("div", { className: "grid grid-cols-1 gap-6 md:grid-cols-8 md:items-start", children: [_jsxs("div", { className: "space-y-6 md:col-span-5", children: [_jsx(StepHeader, { current: currentStep, visited: [...visited], steps: steps, shape: shape, onJumpTo: jumpTo }), quoteErrorBanner, currentStep === "departure" ? (
353
387
  // First load: the descriptor arrives with the first quote. Show a
354
388
  // skeleton rather than the generic fallback, which would flash
355
389
  // and then shift into the real layout.
@@ -364,5 +398,5 @@ export function BookingJourney(props) {
364
398
  props.onCancelled?.();
365
399
  }, children: messages.bookingJourney.navigation.back }), next ? (_jsx(Button, { type: "button", onClick: () => void advance(), disabled: !canAdvance || isAdvanceGuardPending, className: "ml-auto", children: isAdvanceGuardPending
366
400
  ? messages.bookingJourney.navigation.checking
367
- : messages.bookingJourney.navigation.next })) : null] }), advanceGuardError ? (_jsx("p", { className: "text-destructive text-sm", role: "alert", "aria-live": "polite", children: advanceGuardError })) : null, commit.error ? (_jsx("p", { className: "text-destructive text-sm", children: commit.error instanceof Error ? commit.error.message : String(commit.error) })) : null] }), _jsx("aside", { className: "md:sticky md:top-4 md:col-span-3", children: _jsx(PriceSidePanel, { pricing: quote.data?.pricing ?? null, isQuoting: quote.isQuoting, invalidReason: quote.data?.invalidReason, entitySummary: props.entitySummary, currentStep: currentStep, steps: steps, shape: shape, draft: draft, className: props.sidePanelClassName }) })] }), contractConfig ? (_jsx(ContractPreviewDialog, { open: contractDialogOpen, onOpenChange: setContractDialogOpen, previewUrl: contractConfig.previewUrl, acceptLanguage: contractConfig.acceptLanguage, variables: contractVariables, marketingLabel: contractConfig.marketingLabel, termsLabel: contractConfig.termsLabel, onAccept: onContractAccept })) : null] }));
401
+ : messages.bookingJourney.navigation.next })) : null] }), advanceGuardError ? (_jsx("p", { className: "text-destructive text-sm", role: "alert", "aria-live": "polite", children: advanceGuardError })) : null, confirmError ? (_jsx("p", { className: "text-destructive text-sm", role: "alert", "aria-live": "polite", children: confirmError })) : null, commit.error ? (_jsx("p", { className: "text-destructive text-sm", children: commit.error instanceof Error ? commit.error.message : String(commit.error) })) : null] }), _jsx("aside", { className: "md:sticky md:top-4 md:col-span-3", children: _jsx(PriceSidePanel, { pricing: quote.data?.pricing ?? null, isQuoting: quote.isQuoting, invalidReason: quote.data?.invalidReason, entitySummary: props.entitySummary, currentStep: currentStep, steps: steps, shape: shape, draft: draft, className: props.sidePanelClassName }) })] }), contractConfig ? (_jsx(ContractPreviewDialog, { open: contractDialogOpen, onOpenChange: setContractDialogOpen, previewUrl: contractConfig.previewUrl, acceptLanguage: contractConfig.acceptLanguage, variables: contractVariables, marketingLabel: contractConfig.marketingLabel, termsLabel: contractConfig.termsLabel, onAccept: onContractAccept })) : null] }));
368
402
  }
@@ -1 +1 @@
1
- {"version":3,"file":"payment-step.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/payment-step.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,KAAK,EAAc,MAAM,0BAA0B,CAAA;AAKjE,OAAO,KAAK,EACV,2BAA2B,EAC3B,8BAA8B,EAC9B,kBAAkB,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAMlD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,OAAO,GACR,EAAE,eAAe,GAAG;IACnB,YAAY,EAAE,2BAA2B,CAAA;IACzC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,KAAK,CAAC,SAAS,CAAA;IAC/E,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC5B,iFAAiF;IACjF,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CACrD,GAAG,KAAK,CAAC,YAAY,CAqIrB;AAiSD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,mBAAmB,GACpB,EAAE;IACD,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACpD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,KAAK,CAAC,SAAS,CAAA;CACrE,GAAG,KAAK,CAAC,YAAY,CAerB"}
1
+ {"version":3,"file":"payment-step.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/payment-step.tsx"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,KAAK,EAAc,MAAM,0BAA0B,CAAA;AAKjE,OAAO,KAAK,EACV,2BAA2B,EAC3B,8BAA8B,EAC9B,kBAAkB,EACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAMlD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,OAAO,GACR,EAAE,eAAe,GAAG;IACnB,YAAY,EAAE,2BAA2B,CAAA;IACzC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,KAAK,CAAC,SAAS,CAAA;IAC/E,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC5B,iFAAiF;IACjF,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CACrD,GAAG,KAAK,CAAC,YAAY,CAgJrB;AAiSD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,mBAAmB,GACpB,EAAE;IACD,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACpD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,KAAK,CAAC,SAAS,CAAA;CACrE,GAAG,KAAK,CAAC,YAAY,CAerB"}
@@ -34,13 +34,24 @@ export function PaymentStep({ draft, setDraft, shape, capabilities, renderProvid
34
34
  allowed.every((i) => i === "hold" || i === "card");
35
35
  // Snap the draft's intent to a sensible value when the current pick isn't on
36
36
  // the list — covers descriptor changes mid-flow (e.g. owned→sourced narrows
37
- // the list). In checkbox mode the baseline is always "hold".
38
- if (allowed.length > 0 && !allowed.includes(intent)) {
39
- setDraft(setPayment(draft, {
40
- ...draft.payment,
41
- intent: (simpleHoldCard ? "hold" : allowed[0]),
42
- }));
43
- }
37
+ // the list). In checkbox mode the baseline is always "hold". This MUST run in
38
+ // an effect, not during render: `setDraft` updates the parent BookingJourney,
39
+ // and calling it in the render body triggers React's "Cannot update a
40
+ // component while rendering a different component" warning (and drops frames).
41
+ const allowedKey = allowed.join("|");
42
+ // biome-ignore lint/correctness/useExhaustiveDependencies: snaps only when the allowed set (allowedKey) or current intent changes -- owner: bookings-react
43
+ useEffect(() => {
44
+ if (allowed.length > 0 && !allowed.includes(intent)) {
45
+ // Functional update: merge onto the LATEST draft, not the render-time
46
+ // closure. A sibling effect (PaymentScheduleEditor seeding paymentSchedules)
47
+ // can commit in the same batch; building from a stale `draft` here would
48
+ // clobber those rows.
49
+ setDraft((prev) => setPayment(prev, {
50
+ ...prev.payment,
51
+ intent: (simpleHoldCard ? "hold" : allowed[0]),
52
+ }));
53
+ }
54
+ }, [allowedKey, intent, simpleHoldCard]);
44
55
  return (_jsxs(Card, { children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: messages.bookingJourney.payment.title }) }), _jsx(Separator, {}), _jsxs(CardContent, { className: "space-y-4", children: [allowed.length === 0 ? (_jsx("p", { className: "text-muted-foreground text-sm", children: messages.bookingJourney.payment.empty })) : simpleHoldCard ? (_jsxs("label", { className: "flex cursor-pointer items-start gap-3 rounded-md border border-input p-3 text-sm transition-colors hover:bg-muted/50", children: [_jsx(Checkbox, { id: "bj-generate-link", checked: intent === "card", onCheckedChange: (v) => setDraft(setPayment(draft, {
45
56
  ...draft.payment,
46
57
  intent: (v === true ? "card" : "hold"),
@@ -12,7 +12,7 @@ export type RenderDeparturePicker = (props: DeparturePickerProps) => React.React
12
12
  export type RenderUnitsPicker = (props: UnitsPickerProps) => React.ReactNode;
13
13
  export interface StepCommonProps {
14
14
  draft: Draft;
15
- setDraft: (next: Draft) => void;
15
+ setDraft: (next: Draft | ((prev: Draft) => Draft)) => void;
16
16
  shape: BookingDraftShape;
17
17
  }
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/shared.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/journey/components/journey-steps/shared.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import type { JourneyStep } from "../types.js";
14
14
  * Completeness derives from the same per-step gate the wizard uses; the
15
15
  * final Review section's Confirm is gated on the whole booking.
16
16
  */
17
- export declare function StackedJourney({ className, steps, renderStep, isStepComplete, commitError, onCancel, onConfirm, isCommitting, canConfirm, sidePanel, contractDialog, }: {
17
+ export declare function StackedJourney({ className, steps, renderStep, isStepComplete, commitError, onCancel, onConfirm, isCommitting, canConfirm, sidePanel, contractDialog, banner, }: {
18
18
  className?: string;
19
19
  steps: ReadonlyArray<JourneyStep>;
20
20
  renderStep: (step: JourneyStep) => React.ReactNode;
@@ -26,5 +26,7 @@ export declare function StackedJourney({ className, steps, renderStep, isStepCom
26
26
  canConfirm?: boolean;
27
27
  sidePanel: React.ReactNode;
28
28
  contractDialog: React.ReactNode;
29
+ /** Recoverable, always-visible banner (e.g. quote-refresh failure). */
30
+ banner?: React.ReactNode;
29
31
  }): React.ReactElement;
30
32
  //# sourceMappingURL=stacked-journey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stacked-journey.d.ts","sourceRoot":"","sources":["../../../src/journey/components/stacked-journey.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAW9C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,KAAK,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,GACf,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAA;IAClD,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAA;IAC9C,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAA;CAChC,GAAG,KAAK,CAAC,YAAY,CAiGrB"}
1
+ {"version":3,"file":"stacked-journey.d.ts","sourceRoot":"","sources":["../../../src/journey/components/stacked-journey.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAW9C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,KAAK,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,MAAM,GACP,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IACjC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAA;IAClD,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAA;IAC9C,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,uEAAuE;IACvE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB,GAAG,KAAK,CAAC,YAAY,CAkGrB"}
@@ -25,7 +25,7 @@ const GATE_STEPS = new Set(["departure", "billing", "travelers"]);
25
25
  * Completeness derives from the same per-step gate the wizard uses; the
26
26
  * final Review section's Confirm is gated on the whole booking.
27
27
  */
28
- export function StackedJourney({ className, steps, renderStep, isStepComplete, commitError, onCancel, onConfirm, isCommitting, canConfirm, sidePanel, contractDialog, }) {
28
+ export function StackedJourney({ className, steps, renderStep, isStepComplete, commitError, onCancel, onConfirm, isCommitting, canConfirm, sidePanel, contractDialog, banner, }) {
29
29
  const messages = useBookingsUiMessagesOrDefault();
30
30
  const nav = messages.bookingJourney.navigation;
31
31
  // Progressive unlock gated only on the SEQUENTIAL gates (departure →
@@ -37,7 +37,7 @@ export function StackedJourney({ className, steps, renderStep, isStepComplete, c
37
37
  const unlockThroughIndex = firstIncompleteGate
38
38
  ? steps.indexOf(firstIncompleteGate)
39
39
  : steps.length - 1;
40
- return (_jsxs("div", { className: className, children: [_jsxs("div", { className: "grid grid-cols-1 gap-6 md:grid-cols-8 md:items-start", children: [_jsxs("div", { className: "space-y-3 md:col-span-5", children: [steps.map((step, i) => {
40
+ return (_jsxs("div", { className: className, children: [_jsxs("div", { className: "grid grid-cols-1 gap-6 md:grid-cols-8 md:items-start", children: [_jsxs("div", { className: "space-y-3 md:col-span-5", children: [banner, steps.map((step, i) => {
41
41
  // Locked: a section beyond the active gate — a muted, disabled row
42
42
  // until the operator clears the gates above it.
43
43
  if (i > unlockThroughIndex) {
@@ -1399,7 +1399,7 @@ export declare function getPublicBookingSessionQueryOptions(client: FetchWithVal
1399
1399
  availabilitySlotId: string | null;
1400
1400
  quantity: number;
1401
1401
  allocationType: "resource" | "unit" | "pickup";
1402
- status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "held" | "released";
1402
+ status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "released" | "held";
1403
1403
  holdExpiresAt: string | null;
1404
1404
  confirmedAt: string | null;
1405
1405
  releasedAt: string | null;
@@ -1495,7 +1495,7 @@ export declare function getPublicBookingSessionQueryOptions(client: FetchWithVal
1495
1495
  availabilitySlotId: string | null;
1496
1496
  quantity: number;
1497
1497
  allocationType: "resource" | "unit" | "pickup";
1498
- status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "held" | "released";
1498
+ status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "released" | "held";
1499
1499
  holdExpiresAt: string | null;
1500
1500
  confirmedAt: string | null;
1501
1501
  releasedAt: string | null;
@@ -1592,7 +1592,7 @@ export declare function getPublicBookingSessionQueryOptions(client: FetchWithVal
1592
1592
  availabilitySlotId: string | null;
1593
1593
  quantity: number;
1594
1594
  allocationType: "resource" | "unit" | "pickup";
1595
- status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "held" | "released";
1595
+ status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "released" | "held";
1596
1596
  holdExpiresAt: string | null;
1597
1597
  confirmedAt: string | null;
1598
1598
  releasedAt: string | null;
@@ -1691,7 +1691,7 @@ export declare function getPublicBookingSessionQueryOptions(client: FetchWithVal
1691
1691
  availabilitySlotId: string | null;
1692
1692
  quantity: number;
1693
1693
  allocationType: "resource" | "unit" | "pickup";
1694
- status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "held" | "released";
1694
+ status: "cancelled" | "fulfilled" | "confirmed" | "expired" | "released" | "held";
1695
1695
  holdExpiresAt: string | null;
1696
1696
  confirmedAt: string | null;
1697
1697
  releasedAt: string | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voyant-travel/bookings-react",
3
- "version": "0.137.4",
3
+ "version": "0.137.5",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -145,18 +145,18 @@
145
145
  "react-dom": "^19.0.0",
146
146
  "react-hook-form": "^7.80.0",
147
147
  "zod": "^4.0.0",
148
- "@voyant-travel/bookings": "^0.137.4",
149
- "@voyant-travel/catalog-react": "^0.135.3",
150
- "@voyant-travel/finance-react": "^0.137.3",
151
- "@voyant-travel/distribution-react": "^0.127.2",
152
148
  "@voyant-travel/admin": "^0.115.3",
153
- "@voyant-travel/identity-react": "^0.137.1",
149
+ "@voyant-travel/bookings": "^0.137.5",
150
+ "@voyant-travel/catalog-react": "^0.135.7",
151
+ "@voyant-travel/distribution-react": "^0.127.2",
154
152
  "@voyant-travel/relationships-react": "^0.137.1",
155
- "@voyant-travel/legal-react": "^0.137.4",
156
- "@voyant-travel/commerce-react": "^0.19.0",
157
- "@voyant-travel/ui": "^0.108.4",
158
- "@voyant-travel/operations-react": "^0.18.0",
159
- "@voyant-travel/inventory-react": "^0.19.2"
153
+ "@voyant-travel/finance-react": "^0.137.8",
154
+ "@voyant-travel/identity-react": "^0.137.1",
155
+ "@voyant-travel/legal-react": "^0.137.5",
156
+ "@voyant-travel/commerce-react": "^0.19.1",
157
+ "@voyant-travel/inventory-react": "^0.19.5",
158
+ "@voyant-travel/ui": "^0.108.9",
159
+ "@voyant-travel/operations-react": "^0.18.1"
160
160
  },
161
161
  "peerDependenciesMeta": {
162
162
  "@tanstack/react-table": {
@@ -205,8 +205,8 @@
205
205
  "dependencies": {
206
206
  "sonner": "^2.0.7",
207
207
  "@voyant-travel/catalog-contracts": "^0.108.0",
208
+ "@voyant-travel/i18n": "^0.109.5",
208
209
  "@voyant-travel/react": "^0.104.1",
209
- "@voyant-travel/i18n": "^0.109.0",
210
210
  "@voyant-travel/types": "^0.106.1"
211
211
  },
212
212
  "devDependencies": {
@@ -223,19 +223,19 @@
223
223
  "vitest": "^4.1.9",
224
224
  "zod": "^4.4.3",
225
225
  "@voyant-travel/admin": "^0.115.3",
226
- "@voyant-travel/bookings": "^0.137.4",
227
- "@voyant-travel/catalog-react": "^0.135.3",
228
- "@voyant-travel/relationships-react": "^0.137.1",
229
- "@voyant-travel/finance-react": "^0.137.3",
226
+ "@voyant-travel/bookings": "^0.137.5",
227
+ "@voyant-travel/catalog-react": "^0.135.7",
230
228
  "@voyant-travel/distribution-react": "^0.127.2",
229
+ "@voyant-travel/relationships-react": "^0.137.1",
230
+ "@voyant-travel/finance-react": "^0.137.8",
231
231
  "@voyant-travel/identity-react": "^0.137.1",
232
- "@voyant-travel/commerce-react": "^0.19.0",
233
- "@voyant-travel/legal-react": "^0.137.4",
232
+ "@voyant-travel/legal-react": "^0.137.5",
233
+ "@voyant-travel/commerce-react": "^0.19.1",
234
+ "@voyant-travel/inventory-react": "^0.19.5",
234
235
  "@voyant-travel/react": "^0.104.1",
235
- "@voyant-travel/inventory-react": "^0.19.2",
236
+ "@voyant-travel/ui": "^0.108.9",
236
237
  "@voyant-travel/voyant-typescript-config": "^0.1.0",
237
- "@voyant-travel/operations-react": "^0.18.0",
238
- "@voyant-travel/ui": "^0.108.4"
238
+ "@voyant-travel/operations-react": "^0.18.1"
239
239
  },
240
240
  "files": [
241
241
  "dist",