@voyant-travel/bookings-react 0.119.3

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.
Files changed (602) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +87 -0
  3. package/dist/admin/booking-contract-dialog.d.ts +22 -0
  4. package/dist/admin/booking-contract-dialog.d.ts.map +1 -0
  5. package/dist/admin/booking-contract-dialog.js +161 -0
  6. package/dist/admin/booking-detail-host.d.ts +103 -0
  7. package/dist/admin/booking-detail-host.d.ts.map +1 -0
  8. package/dist/admin/booking-detail-host.js +127 -0
  9. package/dist/admin/booking-detail-skeleton.d.ts +7 -0
  10. package/dist/admin/booking-detail-skeleton.d.ts.map +1 -0
  11. package/dist/admin/booking-detail-skeleton.js +24 -0
  12. package/dist/admin/booking-documents-table.d.ts +13 -0
  13. package/dist/admin/booking-documents-table.d.ts.map +1 -0
  14. package/dist/admin/booking-documents-table.js +259 -0
  15. package/dist/admin/booking-invoice-sheet.d.ts +18 -0
  16. package/dist/admin/booking-invoice-sheet.d.ts.map +1 -0
  17. package/dist/admin/booking-invoice-sheet.js +101 -0
  18. package/dist/admin/booking-journey-host.d.ts +24 -0
  19. package/dist/admin/booking-journey-host.d.ts.map +1 -0
  20. package/dist/admin/booking-journey-host.js +278 -0
  21. package/dist/admin/bookings-host.d.ts +26 -0
  22. package/dist/admin/bookings-host.d.ts.map +1 -0
  23. package/dist/admin/bookings-host.js +18 -0
  24. package/dist/admin/bookings-list-skeleton.d.ts +10 -0
  25. package/dist/admin/bookings-list-skeleton.d.ts.map +1 -0
  26. package/dist/admin/bookings-list-skeleton.js +25 -0
  27. package/dist/admin/index.d.ts +273 -0
  28. package/dist/admin/index.d.ts.map +1 -0
  29. package/dist/admin/index.js +331 -0
  30. package/dist/admin/journey-billing-duplicate-warning.d.ts +3 -0
  31. package/dist/admin/journey-billing-duplicate-warning.d.ts.map +1 -0
  32. package/dist/admin/journey-billing-duplicate-warning.js +26 -0
  33. package/dist/admin/journey-departure-picker.d.ts +7 -0
  34. package/dist/admin/journey-departure-picker.d.ts.map +1 -0
  35. package/dist/admin/journey-departure-picker.js +100 -0
  36. package/dist/admin/journey-units-picker.d.ts +11 -0
  37. package/dist/admin/journey-units-picker.d.ts.map +1 -0
  38. package/dist/admin/journey-units-picker.js +60 -0
  39. package/dist/admin/journey-voucher-picker.d.ts +3 -0
  40. package/dist/admin/journey-voucher-picker.d.ts.map +1 -0
  41. package/dist/admin/journey-voucher-picker.js +71 -0
  42. package/dist/admin/pages/booking-compose-page.d.ts +9 -0
  43. package/dist/admin/pages/booking-compose-page.d.ts.map +1 -0
  44. package/dist/admin/pages/booking-compose-page.js +17 -0
  45. package/dist/admin/pages/booking-detail-page.d.ts +11 -0
  46. package/dist/admin/pages/booking-detail-page.d.ts.map +1 -0
  47. package/dist/admin/pages/booking-detail-page.js +14 -0
  48. package/dist/admin/pages/booking-journey-page.d.ts +12 -0
  49. package/dist/admin/pages/booking-journey-page.d.ts.map +1 -0
  50. package/dist/admin/pages/booking-journey-page.js +26 -0
  51. package/dist/admin/pages/booking-new-page.d.ts +15 -0
  52. package/dist/admin/pages/booking-new-page.d.ts.map +1 -0
  53. package/dist/admin/pages/booking-new-page.js +50 -0
  54. package/dist/admin/pages/bookings-index-page.d.ts +20 -0
  55. package/dist/admin/pages/bookings-index-page.d.ts.map +1 -0
  56. package/dist/admin/pages/bookings-index-page.js +18 -0
  57. package/dist/admin/person-bookings-widget.d.ts +13 -0
  58. package/dist/admin/person-bookings-widget.d.ts.map +1 -0
  59. package/dist/admin/person-bookings-widget.js +48 -0
  60. package/dist/admin/slots.d.ts +31 -0
  61. package/dist/admin/slots.d.ts.map +1 -0
  62. package/dist/admin/slots.js +30 -0
  63. package/dist/admin/use-booking-action-ledger-events.d.ts +15 -0
  64. package/dist/admin/use-booking-action-ledger-events.d.ts.map +1 -0
  65. package/dist/admin/use-booking-action-ledger-events.js +66 -0
  66. package/dist/client.d.ts +14 -0
  67. package/dist/client.d.ts.map +1 -0
  68. package/dist/client.js +59 -0
  69. package/dist/components/booking-activity-timeline.d.ts +32 -0
  70. package/dist/components/booking-activity-timeline.d.ts.map +1 -0
  71. package/dist/components/booking-activity-timeline.js +147 -0
  72. package/dist/components/booking-billing-dialog.d.ts +16 -0
  73. package/dist/components/booking-billing-dialog.d.ts.map +1 -0
  74. package/dist/components/booking-billing-dialog.js +315 -0
  75. package/dist/components/booking-cancellation-dialog.d.ts +18 -0
  76. package/dist/components/booking-cancellation-dialog.d.ts.map +1 -0
  77. package/dist/components/booking-cancellation-dialog.js +79 -0
  78. package/dist/components/booking-combobox.d.ts +13 -0
  79. package/dist/components/booking-combobox.d.ts.map +1 -0
  80. package/dist/components/booking-combobox.js +44 -0
  81. package/dist/components/booking-create-form-utils.d.ts +56 -0
  82. package/dist/components/booking-create-form-utils.d.ts.map +1 -0
  83. package/dist/components/booking-create-form-utils.js +216 -0
  84. package/dist/components/booking-create-page.d.ts +14 -0
  85. package/dist/components/booking-create-page.d.ts.map +1 -0
  86. package/dist/components/booking-create-page.js +11 -0
  87. package/dist/components/booking-create-preview-card.d.ts +26 -0
  88. package/dist/components/booking-create-preview-card.d.ts.map +1 -0
  89. package/dist/components/booking-create-preview-card.js +107 -0
  90. package/dist/components/booking-create-product-extras-picker.d.ts +18 -0
  91. package/dist/components/booking-create-product-extras-picker.d.ts.map +1 -0
  92. package/dist/components/booking-create-product-extras-picker.js +82 -0
  93. package/dist/components/booking-create-sheet.d.ts +34 -0
  94. package/dist/components/booking-create-sheet.d.ts.map +1 -0
  95. package/dist/components/booking-create-sheet.js +811 -0
  96. package/dist/components/booking-create-utils.d.ts +66 -0
  97. package/dist/components/booking-create-utils.d.ts.map +1 -0
  98. package/dist/components/booking-create-utils.js +185 -0
  99. package/dist/components/booking-detail-page.d.ts +126 -0
  100. package/dist/components/booking-detail-page.d.ts.map +1 -0
  101. package/dist/components/booking-detail-page.js +264 -0
  102. package/dist/components/booking-dialog.d.ts +28 -0
  103. package/dist/components/booking-dialog.d.ts.map +1 -0
  104. package/dist/components/booking-dialog.js +130 -0
  105. package/dist/components/booking-document-dialog.d.ts +8 -0
  106. package/dist/components/booking-document-dialog.d.ts.map +1 -0
  107. package/dist/components/booking-document-dialog.js +83 -0
  108. package/dist/components/booking-document-list.d.ts +5 -0
  109. package/dist/components/booking-document-list.d.ts.map +1 -0
  110. package/dist/components/booking-document-list.js +43 -0
  111. package/dist/components/booking-group-link-dialog.d.ts +10 -0
  112. package/dist/components/booking-group-link-dialog.d.ts.map +1 -0
  113. package/dist/components/booking-group-link-dialog.js +79 -0
  114. package/dist/components/booking-group-section.d.ts +27 -0
  115. package/dist/components/booking-group-section.d.ts.map +1 -0
  116. package/dist/components/booking-group-section.js +51 -0
  117. package/dist/components/booking-guarantee-dialog.d.ts +10 -0
  118. package/dist/components/booking-guarantee-dialog.d.ts.map +1 -0
  119. package/dist/components/booking-guarantee-dialog.js +123 -0
  120. package/dist/components/booking-guarantee-list.d.ts +5 -0
  121. package/dist/components/booking-guarantee-list.d.ts.map +1 -0
  122. package/dist/components/booking-guarantee-list.js +86 -0
  123. package/dist/components/booking-item-dialog.d.ts +10 -0
  124. package/dist/components/booking-item-dialog.d.ts.map +1 -0
  125. package/dist/components/booking-item-dialog.js +155 -0
  126. package/dist/components/booking-item-list.d.ts +12 -0
  127. package/dist/components/booking-item-list.d.ts.map +1 -0
  128. package/dist/components/booking-item-list.js +191 -0
  129. package/dist/components/booking-item-travelers.d.ts +6 -0
  130. package/dist/components/booking-item-travelers.d.ts.map +1 -0
  131. package/dist/components/booking-item-travelers.js +57 -0
  132. package/dist/components/booking-list-filters.d.ts +43 -0
  133. package/dist/components/booking-list-filters.d.ts.map +1 -0
  134. package/dist/components/booking-list-filters.js +192 -0
  135. package/dist/components/booking-list.d.ts +50 -0
  136. package/dist/components/booking-list.d.ts.map +1 -0
  137. package/dist/components/booking-list.js +352 -0
  138. package/dist/components/booking-note-dialog.d.ts +16 -0
  139. package/dist/components/booking-note-dialog.d.ts.map +1 -0
  140. package/dist/components/booking-note-dialog.js +41 -0
  141. package/dist/components/booking-notes.d.ts +5 -0
  142. package/dist/components/booking-notes.d.ts.map +1 -0
  143. package/dist/components/booking-notes.js +45 -0
  144. package/dist/components/booking-payment-reconciliation-banner.d.ts +5 -0
  145. package/dist/components/booking-payment-reconciliation-banner.d.ts.map +1 -0
  146. package/dist/components/booking-payment-reconciliation-banner.js +91 -0
  147. package/dist/components/booking-payment-schedule-dialog.d.ts +10 -0
  148. package/dist/components/booking-payment-schedule-dialog.d.ts.map +1 -0
  149. package/dist/components/booking-payment-schedule-dialog.js +117 -0
  150. package/dist/components/booking-payment-schedule-list.d.ts +10 -0
  151. package/dist/components/booking-payment-schedule-list.d.ts.map +1 -0
  152. package/dist/components/booking-payment-schedule-list.js +217 -0
  153. package/dist/components/booking-payments-summary.d.ts +83 -0
  154. package/dist/components/booking-payments-summary.d.ts.map +1 -0
  155. package/dist/components/booking-payments-summary.js +176 -0
  156. package/dist/components/booking-quick-view-sheet.d.ts +14 -0
  157. package/dist/components/booking-quick-view-sheet.d.ts.map +1 -0
  158. package/dist/components/booking-quick-view-sheet.js +283 -0
  159. package/dist/components/bookings-page.d.ts +19 -0
  160. package/dist/components/bookings-page.d.ts.map +1 -0
  161. package/dist/components/bookings-page.js +9 -0
  162. package/dist/components/file-dropzone.d.ts +25 -0
  163. package/dist/components/file-dropzone.d.ts.map +1 -0
  164. package/dist/components/file-dropzone.js +102 -0
  165. package/dist/components/icon-action-button.d.ts +18 -0
  166. package/dist/components/icon-action-button.d.ts.map +1 -0
  167. package/dist/components/icon-action-button.js +13 -0
  168. package/dist/components/option-units-stepper-section.d.ts +111 -0
  169. package/dist/components/option-units-stepper-section.d.ts.map +1 -0
  170. package/dist/components/option-units-stepper-section.js +276 -0
  171. package/dist/components/payment-schedule-section.d.ts +91 -0
  172. package/dist/components/payment-schedule-section.d.ts.map +1 -0
  173. package/dist/components/payment-schedule-section.js +206 -0
  174. package/dist/components/person-picker-section.d.ts +71 -0
  175. package/dist/components/person-picker-section.d.ts.map +1 -0
  176. package/dist/components/person-picker-section.js +160 -0
  177. package/dist/components/price-breakdown-section.d.ts +83 -0
  178. package/dist/components/price-breakdown-section.d.ts.map +1 -0
  179. package/dist/components/price-breakdown-section.js +278 -0
  180. package/dist/components/product-picker-section.d.ts +29 -0
  181. package/dist/components/product-picker-section.d.ts.map +1 -0
  182. package/dist/components/product-picker-section.js +74 -0
  183. package/dist/components/shared-room-section.d.ts +40 -0
  184. package/dist/components/shared-room-section.d.ts.map +1 -0
  185. package/dist/components/shared-room-section.js +99 -0
  186. package/dist/components/status-badge.d.ts +24 -0
  187. package/dist/components/status-badge.d.ts.map +1 -0
  188. package/dist/components/status-badge.js +65 -0
  189. package/dist/components/status-change-dialog.d.ts +10 -0
  190. package/dist/components/status-change-dialog.d.ts.map +1 -0
  191. package/dist/components/status-change-dialog.js +57 -0
  192. package/dist/components/supplier-status-dialog.d.ts +10 -0
  193. package/dist/components/supplier-status-dialog.d.ts.map +1 -0
  194. package/dist/components/supplier-status-dialog.js +98 -0
  195. package/dist/components/supplier-status-list.d.ts +5 -0
  196. package/dist/components/supplier-status-list.d.ts.map +1 -0
  197. package/dist/components/supplier-status-list.js +115 -0
  198. package/dist/components/traveler-category-buttons.d.ts +26 -0
  199. package/dist/components/traveler-category-buttons.d.ts.map +1 -0
  200. package/dist/components/traveler-category-buttons.js +35 -0
  201. package/dist/components/traveler-dialog.d.ts +10 -0
  202. package/dist/components/traveler-dialog.d.ts.map +1 -0
  203. package/dist/components/traveler-dialog.js +256 -0
  204. package/dist/components/traveler-list.d.ts +6 -0
  205. package/dist/components/traveler-list.d.ts.map +1 -0
  206. package/dist/components/traveler-list.js +295 -0
  207. package/dist/components/travelers-section-controls.d.ts +52 -0
  208. package/dist/components/travelers-section-controls.d.ts.map +1 -0
  209. package/dist/components/travelers-section-controls.js +206 -0
  210. package/dist/components/travelers-section.d.ts +159 -0
  211. package/dist/components/travelers-section.d.ts.map +1 -0
  212. package/dist/components/travelers-section.js +355 -0
  213. package/dist/components/voucher-picker-section.d.ts +50 -0
  214. package/dist/components/voucher-picker-section.d.ts.map +1 -0
  215. package/dist/components/voucher-picker-section.js +79 -0
  216. package/dist/extras/client.d.ts +14 -0
  217. package/dist/extras/client.d.ts.map +1 -0
  218. package/dist/extras/client.js +58 -0
  219. package/dist/extras/components/extra-catalog-card.d.ts +13 -0
  220. package/dist/extras/components/extra-catalog-card.d.ts.map +1 -0
  221. package/dist/extras/components/extra-catalog-card.js +52 -0
  222. package/dist/extras/components/product-combobox.d.ts +9 -0
  223. package/dist/extras/components/product-combobox.d.ts.map +1 -0
  224. package/dist/extras/components/product-combobox.js +46 -0
  225. package/dist/extras/components/slot-extras-manifest-panel.d.ts +6 -0
  226. package/dist/extras/components/slot-extras-manifest-panel.d.ts.map +1 -0
  227. package/dist/extras/components/slot-extras-manifest-panel.js +108 -0
  228. package/dist/extras/hooks/index.d.ts +5 -0
  229. package/dist/extras/hooks/index.d.ts.map +1 -0
  230. package/dist/extras/hooks/index.js +4 -0
  231. package/dist/extras/hooks/use-product-extra.d.ts +24 -0
  232. package/dist/extras/hooks/use-product-extra.d.ts.map +1 -0
  233. package/dist/extras/hooks/use-product-extra.js +12 -0
  234. package/dist/extras/hooks/use-product-extras.d.ts +30 -0
  235. package/dist/extras/hooks/use-product-extras.d.ts.map +1 -0
  236. package/dist/extras/hooks/use-product-extras.js +12 -0
  237. package/dist/extras/hooks/use-slot-extra-manifest-mutation.d.ts +48 -0
  238. package/dist/extras/hooks/use-slot-extra-manifest-mutation.d.ts.map +1 -0
  239. package/dist/extras/hooks/use-slot-extra-manifest-mutation.js +26 -0
  240. package/dist/extras/hooks/use-slot-extra-manifest.d.ts +68 -0
  241. package/dist/extras/hooks/use-slot-extra-manifest.d.ts.map +1 -0
  242. package/dist/extras/hooks/use-slot-extra-manifest.js +11 -0
  243. package/dist/extras/i18n/en.d.ts +52 -0
  244. package/dist/extras/i18n/en.d.ts.map +1 -0
  245. package/dist/extras/i18n/en.js +51 -0
  246. package/dist/extras/i18n/index.d.ts +5 -0
  247. package/dist/extras/i18n/index.d.ts.map +1 -0
  248. package/dist/extras/i18n/index.js +3 -0
  249. package/dist/extras/i18n/messages.d.ts +37 -0
  250. package/dist/extras/i18n/messages.d.ts.map +1 -0
  251. package/dist/extras/i18n/messages.js +1 -0
  252. package/dist/extras/i18n/provider.d.ts +126 -0
  253. package/dist/extras/i18n/provider.d.ts.map +1 -0
  254. package/dist/extras/i18n/provider.js +44 -0
  255. package/dist/extras/i18n/ro.d.ts +52 -0
  256. package/dist/extras/i18n/ro.d.ts.map +1 -0
  257. package/dist/extras/i18n/ro.js +51 -0
  258. package/dist/extras/index.d.ts +7 -0
  259. package/dist/extras/index.d.ts.map +1 -0
  260. package/dist/extras/index.js +6 -0
  261. package/dist/extras/provider.d.ts +2 -0
  262. package/dist/extras/provider.d.ts.map +1 -0
  263. package/dist/extras/provider.js +1 -0
  264. package/dist/extras/query-keys.d.ts +16 -0
  265. package/dist/extras/query-keys.d.ts.map +1 -0
  266. package/dist/extras/query-keys.js +8 -0
  267. package/dist/extras/query-options.d.ts +455 -0
  268. package/dist/extras/query-options.d.ts.map +1 -0
  269. package/dist/extras/query-options.js +44 -0
  270. package/dist/extras/schemas.d.ts +416 -0
  271. package/dist/extras/schemas.d.ts.map +1 -0
  272. package/dist/extras/schemas.js +89 -0
  273. package/dist/extras/ui.d.ts +4 -0
  274. package/dist/extras/ui.d.ts.map +1 -0
  275. package/dist/extras/ui.js +3 -0
  276. package/dist/extras.d.ts +10 -0
  277. package/dist/extras.d.ts.map +1 -0
  278. package/dist/extras.js +9 -0
  279. package/dist/hooks/index.d.ts +36 -0
  280. package/dist/hooks/index.d.ts.map +1 -0
  281. package/dist/hooks/index.js +35 -0
  282. package/dist/hooks/use-booking-action-ledger.d.ts +63 -0
  283. package/dist/hooks/use-booking-action-ledger.d.ts.map +1 -0
  284. package/dist/hooks/use-booking-action-ledger.js +34 -0
  285. package/dist/hooks/use-booking-activity.d.ts +17 -0
  286. package/dist/hooks/use-booking-activity.d.ts.map +1 -0
  287. package/dist/hooks/use-booking-activity.js +12 -0
  288. package/dist/hooks/use-booking-cancel-mutation.d.ts +69 -0
  289. package/dist/hooks/use-booking-cancel-mutation.d.ts.map +1 -0
  290. package/dist/hooks/use-booking-cancel-mutation.js +24 -0
  291. package/dist/hooks/use-booking-contract-generation.d.ts +31 -0
  292. package/dist/hooks/use-booking-contract-generation.d.ts.map +1 -0
  293. package/dist/hooks/use-booking-contract-generation.js +36 -0
  294. package/dist/hooks/use-booking-convert-mutation.d.ts +81 -0
  295. package/dist/hooks/use-booking-convert-mutation.d.ts.map +1 -0
  296. package/dist/hooks/use-booking-convert-mutation.js +24 -0
  297. package/dist/hooks/use-booking-create-mutation.d.ts +337 -0
  298. package/dist/hooks/use-booking-create-mutation.d.ts.map +1 -0
  299. package/dist/hooks/use-booking-create-mutation.js +43 -0
  300. package/dist/hooks/use-booking-documents.d.ts +41 -0
  301. package/dist/hooks/use-booking-documents.d.ts.map +1 -0
  302. package/dist/hooks/use-booking-documents.js +46 -0
  303. package/dist/hooks/use-booking-dual-create-mutation.d.ts +338 -0
  304. package/dist/hooks/use-booking-dual-create-mutation.d.ts.map +1 -0
  305. package/dist/hooks/use-booking-dual-create-mutation.js +45 -0
  306. package/dist/hooks/use-booking-group-for-booking.d.ts +24 -0
  307. package/dist/hooks/use-booking-group-for-booking.d.ts.map +1 -0
  308. package/dist/hooks/use-booking-group-for-booking.js +12 -0
  309. package/dist/hooks/use-booking-group-member-mutation.d.ts +27 -0
  310. package/dist/hooks/use-booking-group-member-mutation.d.ts.map +1 -0
  311. package/dist/hooks/use-booking-group-member-mutation.js +38 -0
  312. package/dist/hooks/use-booking-group-mutation.d.ts +40 -0
  313. package/dist/hooks/use-booking-group-mutation.d.ts.map +1 -0
  314. package/dist/hooks/use-booking-group-mutation.js +32 -0
  315. package/dist/hooks/use-booking-group.d.ts +85 -0
  316. package/dist/hooks/use-booking-group.d.ts.map +1 -0
  317. package/dist/hooks/use-booking-group.js +12 -0
  318. package/dist/hooks/use-booking-groups.d.ts +21 -0
  319. package/dist/hooks/use-booking-groups.d.ts.map +1 -0
  320. package/dist/hooks/use-booking-groups.js +12 -0
  321. package/dist/hooks/use-booking-item-mutation.d.ts +101 -0
  322. package/dist/hooks/use-booking-item-mutation.d.ts.map +1 -0
  323. package/dist/hooks/use-booking-item-mutation.js +42 -0
  324. package/dist/hooks/use-booking-item-travelers.d.ts +32 -0
  325. package/dist/hooks/use-booking-item-travelers.d.ts.map +1 -0
  326. package/dist/hooks/use-booking-item-travelers.js +48 -0
  327. package/dist/hooks/use-booking-items.d.ts +36 -0
  328. package/dist/hooks/use-booking-items.d.ts.map +1 -0
  329. package/dist/hooks/use-booking-items.js +12 -0
  330. package/dist/hooks/use-booking-mutation.d.ts +158 -0
  331. package/dist/hooks/use-booking-mutation.d.ts.map +1 -0
  332. package/dist/hooks/use-booking-mutation.js +39 -0
  333. package/dist/hooks/use-booking-note-mutation.d.ts +39 -0
  334. package/dist/hooks/use-booking-note-mutation.d.ts.map +1 -0
  335. package/dist/hooks/use-booking-note-mutation.js +44 -0
  336. package/dist/hooks/use-booking-notes.d.ts +15 -0
  337. package/dist/hooks/use-booking-notes.d.ts.map +1 -0
  338. package/dist/hooks/use-booking-notes.js +12 -0
  339. package/dist/hooks/use-booking-primary-product.d.ts +28 -0
  340. package/dist/hooks/use-booking-primary-product.d.ts.map +1 -0
  341. package/dist/hooks/use-booking-primary-product.js +20 -0
  342. package/dist/hooks/use-booking-status-mutation.d.ts +156 -0
  343. package/dist/hooks/use-booking-status-mutation.d.ts.map +1 -0
  344. package/dist/hooks/use-booking-status-mutation.js +54 -0
  345. package/dist/hooks/use-booking-tax-preview.d.ts +29 -0
  346. package/dist/hooks/use-booking-tax-preview.d.ts.map +1 -0
  347. package/dist/hooks/use-booking-tax-preview.js +21 -0
  348. package/dist/hooks/use-booking.d.ts +67 -0
  349. package/dist/hooks/use-booking.d.ts.map +1 -0
  350. package/dist/hooks/use-booking.js +12 -0
  351. package/dist/hooks/use-bookings.d.ts +71 -0
  352. package/dist/hooks/use-bookings.d.ts.map +1 -0
  353. package/dist/hooks/use-bookings.js +12 -0
  354. package/dist/hooks/use-pricing-preview.d.ts +61 -0
  355. package/dist/hooks/use-pricing-preview.d.ts.map +1 -0
  356. package/dist/hooks/use-pricing-preview.js +18 -0
  357. package/dist/hooks/use-public-booking-session-flow-mutation.d.ts +148 -0
  358. package/dist/hooks/use-public-booking-session-flow-mutation.d.ts.map +1 -0
  359. package/dist/hooks/use-public-booking-session-flow-mutation.js +35 -0
  360. package/dist/hooks/use-public-booking-session-state.d.ts +16 -0
  361. package/dist/hooks/use-public-booking-session-state.d.ts.map +1 -0
  362. package/dist/hooks/use-public-booking-session-state.js +12 -0
  363. package/dist/hooks/use-public-booking-session.d.ts +101 -0
  364. package/dist/hooks/use-public-booking-session.d.ts.map +1 -0
  365. package/dist/hooks/use-public-booking-session.js +12 -0
  366. package/dist/hooks/use-reveal-traveler.d.ts +54 -0
  367. package/dist/hooks/use-reveal-traveler.d.ts.map +1 -0
  368. package/dist/hooks/use-reveal-traveler.js +18 -0
  369. package/dist/hooks/use-sharing-groups.d.ts +41 -0
  370. package/dist/hooks/use-sharing-groups.d.ts.map +1 -0
  371. package/dist/hooks/use-sharing-groups.js +20 -0
  372. package/dist/hooks/use-supplier-status-mutation.d.ts +46 -0
  373. package/dist/hooks/use-supplier-status-mutation.d.ts.map +1 -0
  374. package/dist/hooks/use-supplier-status-mutation.js +39 -0
  375. package/dist/hooks/use-supplier-statuses.d.ts +20 -0
  376. package/dist/hooks/use-supplier-statuses.d.ts.map +1 -0
  377. package/dist/hooks/use-supplier-statuses.js +12 -0
  378. package/dist/hooks/use-traveler-mutation.d.ts +55 -0
  379. package/dist/hooks/use-traveler-mutation.d.ts.map +1 -0
  380. package/dist/hooks/use-traveler-mutation.js +42 -0
  381. package/dist/hooks/use-traveler-with-travel-details-mutation.d.ts +120 -0
  382. package/dist/hooks/use-traveler-with-travel-details-mutation.d.ts.map +1 -0
  383. package/dist/hooks/use-traveler-with-travel-details-mutation.js +43 -0
  384. package/dist/hooks/use-travelers.d.ts +23 -0
  385. package/dist/hooks/use-travelers.d.ts.map +1 -0
  386. package/dist/hooks/use-travelers.js +12 -0
  387. package/dist/i18n/en-base.d.ts +295 -0
  388. package/dist/i18n/en-base.d.ts.map +1 -0
  389. package/dist/i18n/en-base.js +294 -0
  390. package/dist/i18n/en-create-list.d.ts +327 -0
  391. package/dist/i18n/en-create-list.d.ts.map +1 -0
  392. package/dist/i18n/en-create-list.js +326 -0
  393. package/dist/i18n/en-journey.d.ts +229 -0
  394. package/dist/i18n/en-journey.d.ts.map +1 -0
  395. package/dist/i18n/en-journey.js +228 -0
  396. package/dist/i18n/en-operations.d.ts +382 -0
  397. package/dist/i18n/en-operations.d.ts.map +1 -0
  398. package/dist/i18n/en-operations.js +381 -0
  399. package/dist/i18n/en-sections.d.ts +360 -0
  400. package/dist/i18n/en-sections.d.ts.map +1 -0
  401. package/dist/i18n/en-sections.js +359 -0
  402. package/dist/i18n/en.d.ts +1581 -0
  403. package/dist/i18n/en.d.ts.map +1 -0
  404. package/dist/i18n/en.js +12 -0
  405. package/dist/i18n/index.d.ts +5 -0
  406. package/dist/i18n/index.d.ts.map +1 -0
  407. package/dist/i18n/index.js +3 -0
  408. package/dist/i18n/messages-base.d.ts +251 -0
  409. package/dist/i18n/messages-base.d.ts.map +1 -0
  410. package/dist/i18n/messages-base.js +1 -0
  411. package/dist/i18n/messages-create-list.d.ts +310 -0
  412. package/dist/i18n/messages-create-list.d.ts.map +1 -0
  413. package/dist/i18n/messages-create-list.js +1 -0
  414. package/dist/i18n/messages-journey.d.ts +198 -0
  415. package/dist/i18n/messages-journey.d.ts.map +1 -0
  416. package/dist/i18n/messages-journey.js +1 -0
  417. package/dist/i18n/messages-operations.d.ts +362 -0
  418. package/dist/i18n/messages-operations.d.ts.map +1 -0
  419. package/dist/i18n/messages-operations.js +1 -0
  420. package/dist/i18n/messages-sections.d.ts +312 -0
  421. package/dist/i18n/messages-sections.d.ts.map +1 -0
  422. package/dist/i18n/messages-sections.js +1 -0
  423. package/dist/i18n/messages.d.ts +7 -0
  424. package/dist/i18n/messages.d.ts.map +1 -0
  425. package/dist/i18n/messages.js +1 -0
  426. package/dist/i18n/provider.d.ts +3185 -0
  427. package/dist/i18n/provider.d.ts.map +1 -0
  428. package/dist/i18n/provider.js +45 -0
  429. package/dist/i18n/ro-base.d.ts +295 -0
  430. package/dist/i18n/ro-base.d.ts.map +1 -0
  431. package/dist/i18n/ro-base.js +294 -0
  432. package/dist/i18n/ro-create-list.d.ts +327 -0
  433. package/dist/i18n/ro-create-list.d.ts.map +1 -0
  434. package/dist/i18n/ro-create-list.js +326 -0
  435. package/dist/i18n/ro-journey.d.ts +229 -0
  436. package/dist/i18n/ro-journey.d.ts.map +1 -0
  437. package/dist/i18n/ro-journey.js +228 -0
  438. package/dist/i18n/ro-operations.d.ts +382 -0
  439. package/dist/i18n/ro-operations.d.ts.map +1 -0
  440. package/dist/i18n/ro-operations.js +381 -0
  441. package/dist/i18n/ro-sections.d.ts +360 -0
  442. package/dist/i18n/ro-sections.d.ts.map +1 -0
  443. package/dist/i18n/ro-sections.js +359 -0
  444. package/dist/i18n/ro.d.ts +1581 -0
  445. package/dist/i18n/ro.d.ts.map +1 -0
  446. package/dist/i18n/ro.js +12 -0
  447. package/dist/index.d.ts +9 -0
  448. package/dist/index.d.ts.map +1 -0
  449. package/dist/index.js +8 -0
  450. package/dist/journey/components/booking-journey-rules.d.ts +48 -0
  451. package/dist/journey/components/booking-journey-rules.d.ts.map +1 -0
  452. package/dist/journey/components/booking-journey-rules.js +235 -0
  453. package/dist/journey/components/booking-journey.d.ts +3 -0
  454. package/dist/journey/components/booking-journey.d.ts.map +1 -0
  455. package/dist/journey/components/booking-journey.js +368 -0
  456. package/dist/journey/components/configure-step-skeleton.d.ts +8 -0
  457. package/dist/journey/components/configure-step-skeleton.d.ts.map +1 -0
  458. package/dist/journey/components/configure-step-skeleton.js +11 -0
  459. package/dist/journey/components/contract-preview-dialog.d.ts +47 -0
  460. package/dist/journey/components/contract-preview-dialog.d.ts.map +1 -0
  461. package/dist/journey/components/contract-preview-dialog.js +124 -0
  462. package/dist/journey/components/journey-steps/accommodation-step.d.ts +3 -0
  463. package/dist/journey/components/journey-steps/accommodation-step.d.ts.map +1 -0
  464. package/dist/journey/components/journey-steps/accommodation-step.js +71 -0
  465. package/dist/journey/components/journey-steps/addons-step.d.ts +3 -0
  466. package/dist/journey/components/journey-steps/addons-step.d.ts.map +1 -0
  467. package/dist/journey/components/journey-steps/addons-step.js +40 -0
  468. package/dist/journey/components/journey-steps/billing-step.d.ts +8 -0
  469. package/dist/journey/components/journey-steps/billing-step.d.ts.map +1 -0
  470. package/dist/journey/components/journey-steps/billing-step.js +78 -0
  471. package/dist/journey/components/journey-steps/configure-steps.d.ts +28 -0
  472. package/dist/journey/components/journey-steps/configure-steps.d.ts.map +1 -0
  473. package/dist/journey/components/journey-steps/configure-steps.js +232 -0
  474. package/dist/journey/components/journey-steps/documents-step.d.ts +11 -0
  475. package/dist/journey/components/journey-steps/documents-step.d.ts.map +1 -0
  476. package/dist/journey/components/journey-steps/documents-step.js +36 -0
  477. package/dist/journey/components/journey-steps/payment-step.d.ts +29 -0
  478. package/dist/journey/components/journey-steps/payment-step.d.ts.map +1 -0
  479. package/dist/journey/components/journey-steps/payment-step.js +225 -0
  480. package/dist/journey/components/journey-steps/review-step.d.ts +27 -0
  481. package/dist/journey/components/journey-steps/review-step.d.ts.map +1 -0
  482. package/dist/journey/components/journey-steps/review-step.js +18 -0
  483. package/dist/journey/components/journey-steps/shared.d.ts +75 -0
  484. package/dist/journey/components/journey-steps/shared.d.ts.map +1 -0
  485. package/dist/journey/components/journey-steps/shared.js +108 -0
  486. package/dist/journey/components/journey-steps/travelers-step.d.ts +7 -0
  487. package/dist/journey/components/journey-steps/travelers-step.d.ts.map +1 -0
  488. package/dist/journey/components/journey-steps/travelers-step.js +201 -0
  489. package/dist/journey/components/journey-steps.d.ts +21 -0
  490. package/dist/journey/components/journey-steps.d.ts.map +1 -0
  491. package/dist/journey/components/journey-steps.js +20 -0
  492. package/dist/journey/components/side-panel.d.ts +17 -0
  493. package/dist/journey/components/side-panel.d.ts.map +1 -0
  494. package/dist/journey/components/side-panel.js +245 -0
  495. package/dist/journey/components/stacked-journey.d.ts +30 -0
  496. package/dist/journey/components/stacked-journey.d.ts.map +1 -0
  497. package/dist/journey/components/stacked-journey.js +50 -0
  498. package/dist/journey/components/step-header.d.ts +7 -0
  499. package/dist/journey/components/step-header.d.ts.map +1 -0
  500. package/dist/journey/components/step-header.js +12 -0
  501. package/dist/journey/index.d.ts +18 -0
  502. package/dist/journey/index.d.ts.map +1 -0
  503. package/dist/journey/index.js +17 -0
  504. package/dist/journey/lib/draft-state.d.ts +35 -0
  505. package/dist/journey/lib/draft-state.d.ts.map +1 -0
  506. package/dist/journey/lib/draft-state.js +57 -0
  507. package/dist/journey/lib/pax-band-dependencies.d.ts +27 -0
  508. package/dist/journey/lib/pax-band-dependencies.d.ts.map +1 -0
  509. package/dist/journey/lib/pax-band-dependencies.js +50 -0
  510. package/dist/journey/lib/payment-schedule.d.ts +19 -0
  511. package/dist/journey/lib/payment-schedule.d.ts.map +1 -0
  512. package/dist/journey/lib/payment-schedule.js +90 -0
  513. package/dist/journey/types.d.ts +403 -0
  514. package/dist/journey/types.d.ts.map +1 -0
  515. package/dist/journey/types.js +19 -0
  516. package/dist/provider.d.ts +2 -0
  517. package/dist/provider.d.ts.map +1 -0
  518. package/dist/provider.js +1 -0
  519. package/dist/query-keys.d.ts +74 -0
  520. package/dist/query-keys.d.ts.map +1 -0
  521. package/dist/query-keys.js +26 -0
  522. package/dist/query-options.d.ts +2534 -0
  523. package/dist/query-options.d.ts.map +1 -0
  524. package/dist/query-options.js +233 -0
  525. package/dist/requirements/client.d.ts +14 -0
  526. package/dist/requirements/client.d.ts.map +1 -0
  527. package/dist/requirements/client.js +59 -0
  528. package/dist/requirements/components/booking-requirements-contact-tab.d.ts +8 -0
  529. package/dist/requirements/components/booking-requirements-contact-tab.d.ts.map +1 -0
  530. package/dist/requirements/components/booking-requirements-contact-tab.js +8 -0
  531. package/dist/requirements/components/booking-requirements-questions-tab.d.ts +14 -0
  532. package/dist/requirements/components/booking-requirements-questions-tab.d.ts.map +1 -0
  533. package/dist/requirements/components/booking-requirements-questions-tab.js +17 -0
  534. package/dist/requirements/constants.d.ts +114 -0
  535. package/dist/requirements/constants.d.ts.map +1 -0
  536. package/dist/requirements/constants.js +45 -0
  537. package/dist/requirements/hooks/index.d.ts +6 -0
  538. package/dist/requirements/hooks/index.d.ts.map +1 -0
  539. package/dist/requirements/hooks/index.js +6 -0
  540. package/dist/requirements/hooks/use-booking-questions.d.ts +24 -0
  541. package/dist/requirements/hooks/use-booking-questions.d.ts.map +1 -0
  542. package/dist/requirements/hooks/use-booking-questions.js +9 -0
  543. package/dist/requirements/hooks/use-contact-requirements.d.ts +22 -0
  544. package/dist/requirements/hooks/use-contact-requirements.d.ts.map +1 -0
  545. package/dist/requirements/hooks/use-contact-requirements.js +9 -0
  546. package/dist/requirements/hooks/use-products.d.ts +16 -0
  547. package/dist/requirements/hooks/use-products.d.ts.map +1 -0
  548. package/dist/requirements/hooks/use-products.js +9 -0
  549. package/dist/requirements/hooks/use-question-options.d.ts +19 -0
  550. package/dist/requirements/hooks/use-question-options.d.ts.map +1 -0
  551. package/dist/requirements/hooks/use-question-options.js +9 -0
  552. package/dist/requirements/hooks/use-transport-requirements.d.ts +30 -0
  553. package/dist/requirements/hooks/use-transport-requirements.d.ts.map +1 -0
  554. package/dist/requirements/hooks/use-transport-requirements.js +9 -0
  555. package/dist/requirements/i18n/en.d.ts +94 -0
  556. package/dist/requirements/i18n/en.d.ts.map +1 -0
  557. package/dist/requirements/i18n/en.js +93 -0
  558. package/dist/requirements/i18n/index.d.ts +5 -0
  559. package/dist/requirements/i18n/index.d.ts.map +1 -0
  560. package/dist/requirements/i18n/index.js +3 -0
  561. package/dist/requirements/i18n/messages.d.ts +59 -0
  562. package/dist/requirements/i18n/messages.d.ts.map +1 -0
  563. package/dist/requirements/i18n/messages.js +1 -0
  564. package/dist/requirements/i18n/provider.d.ts +210 -0
  565. package/dist/requirements/i18n/provider.d.ts.map +1 -0
  566. package/dist/requirements/i18n/provider.js +44 -0
  567. package/dist/requirements/i18n/ro.d.ts +94 -0
  568. package/dist/requirements/i18n/ro.d.ts.map +1 -0
  569. package/dist/requirements/i18n/ro.js +93 -0
  570. package/dist/requirements/index.d.ts +9 -0
  571. package/dist/requirements/index.d.ts.map +1 -0
  572. package/dist/requirements/index.js +8 -0
  573. package/dist/requirements/provider.d.ts +2 -0
  574. package/dist/requirements/provider.d.ts.map +1 -0
  575. package/dist/requirements/provider.js +1 -0
  576. package/dist/requirements/query-keys.d.ts +33 -0
  577. package/dist/requirements/query-keys.d.ts.map +1 -0
  578. package/dist/requirements/query-keys.js +13 -0
  579. package/dist/requirements/query-options.d.ts +371 -0
  580. package/dist/requirements/query-options.d.ts.map +1 -0
  581. package/dist/requirements/query-options.js +80 -0
  582. package/dist/requirements/schemas.d.ts +320 -0
  583. package/dist/requirements/schemas.d.ts.map +1 -0
  584. package/dist/requirements/schemas.js +121 -0
  585. package/dist/requirements/ui.d.ts +4 -0
  586. package/dist/requirements/ui.d.ts.map +1 -0
  587. package/dist/requirements/ui.js +3 -0
  588. package/dist/requirements/utils.d.ts +2 -0
  589. package/dist/requirements/utils.d.ts.map +1 -0
  590. package/dist/requirements/utils.js +4 -0
  591. package/dist/schemas.d.ts +2070 -0
  592. package/dist/schemas.d.ts.map +1 -0
  593. package/dist/schemas.js +507 -0
  594. package/dist/status-presentation.d.ts +34 -0
  595. package/dist/status-presentation.d.ts.map +1 -0
  596. package/dist/status-presentation.js +38 -0
  597. package/dist/ui.d.ts +43 -0
  598. package/dist/ui.d.ts.map +1 -0
  599. package/dist/ui.js +42 -0
  600. package/package.json +256 -0
  601. package/src/requirements/styles.css +1 -0
  602. package/src/styles.css +13 -0
@@ -0,0 +1,403 @@
1
+ /**
2
+ * Shell-side types for `<BookingJourney />`. These complement the
3
+ * engine contracts in `@voyant-travel/catalog-contracts/booking-engine/contracts`
4
+ * with React-specific slots and event shapes that don't belong on
5
+ * the wire.
6
+ *
7
+ * Per booking-journey-architecture §8.1.
8
+ */
9
+ import type { BookingDraftV1, BookResponseV1, PricingBreakdownV1 } from "@voyant-travel/catalog-contracts/booking-engine/contracts";
10
+ import type { BookingDraftShape } from "@voyant-travel/catalog-contracts/booking-engine/draft-shape";
11
+ import type { ReactNode } from "react";
12
+ export type JourneyStep = "departure" | "billing" | "travelers" | "options" | "accommodation" | "addons" | "payment" | "documents" | "review";
13
+ export declare const JOURNEY_STEP_ORDER: ReadonlyArray<JourneyStep>;
14
+ export interface JourneySurface {
15
+ /** Operator-side or storefront — drives default slot behavior. */
16
+ kind: "admin" | "public";
17
+ }
18
+ export interface LeadContactPickerProps {
19
+ /** Current buyer type — the picker should search PEOPLE for B2C and
20
+ * ORGANIZATIONS for B2B. */
21
+ buyerType: "B2C" | "B2B";
22
+ /** Apply a picked lead to the draft's billing fields. A PARTIAL — only
23
+ * the provided fields are merged, so separate CRM lookups (person/org
24
+ * record, then its address) can each fill their slice without clobbering
25
+ * the others. B2C fills the person; B2B fills companyName/taxId; both
26
+ * fill the billing address from the CRM record. */
27
+ apply: (contact: {
28
+ firstName?: string;
29
+ lastName?: string;
30
+ email?: string;
31
+ phone?: string;
32
+ personId?: string;
33
+ organizationId?: string;
34
+ companyName?: string;
35
+ taxId?: string;
36
+ address?: {
37
+ line1?: string;
38
+ line2?: string;
39
+ city?: string;
40
+ postal?: string;
41
+ country?: string;
42
+ };
43
+ }) => void;
44
+ }
45
+ export interface TravelerContactPickerProps {
46
+ rowIndex: number;
47
+ /** The CRM person currently linked to this traveler row, if any. The
48
+ * picker should reflect it in its combobox — so e.g. "Copy from billing"
49
+ * (which links the billing person) shows that person as selected. */
50
+ selectedPersonId?: string;
51
+ /** Apply a picked contact to the traveler at `rowIndex`. */
52
+ apply: (contact: {
53
+ firstName: string;
54
+ lastName: string;
55
+ email?: string;
56
+ phone?: string;
57
+ personId?: string;
58
+ }) => void;
59
+ }
60
+ /**
61
+ * Context handed to `renderBillingExtras` — the picked lead + the departure —
62
+ * so a template can run lead-aware checks (e.g. "this customer already booked
63
+ * this departure") next to the billing block.
64
+ */
65
+ export interface BillingExtrasContext {
66
+ buyerType: "B2C" | "B2B";
67
+ personId?: string;
68
+ organizationId?: string;
69
+ productId: string;
70
+ departureSlotId?: string;
71
+ departureDate?: string;
72
+ }
73
+ /**
74
+ * Props for the injectable voucher picker. The operator surface wires an async
75
+ * combobox (search the admin vouchers list) so staff pick a voucher without
76
+ * knowing the exact code; the storefront keeps the customer code-entry form.
77
+ */
78
+ export interface VoucherPickerProps {
79
+ /** Currently-linked voucher redemption on the draft, if any. */
80
+ value: {
81
+ voucherId?: string;
82
+ amountCents?: number;
83
+ };
84
+ /** Apply a picked voucher's full remaining balance — or clear with `null`. */
85
+ onApply: (picked: {
86
+ voucherId: string;
87
+ amountCents: number;
88
+ } | null) => void;
89
+ /** Booking currency + payable total, to display/cap the redemption. */
90
+ currency?: string;
91
+ amountCents?: number;
92
+ }
93
+ /**
94
+ * Props for the injectable departure picker rendered in the Configure
95
+ * step for a `"departure"` sub-step. The template wires this with a
96
+ * scheduled-departures source (e.g. operator availability) so the
97
+ * operator picks a real departure rather than typing a free date.
98
+ *
99
+ * The picker owns its own data-loading and should fall back to a free
100
+ * date when the product has no scheduled departures — the journey just
101
+ * stores whatever it reports via `onChange`.
102
+ */
103
+ export interface DeparturePickerProps {
104
+ /** The owned product whose departures to load. */
105
+ productId: string;
106
+ /** Selected product option, used to filter departures (null = any). */
107
+ optionId: string | null;
108
+ /** Currently-picked scheduled departure id, or null. */
109
+ slotId: string | null;
110
+ /** Currently-entered departure date (free-date fallback), or null. */
111
+ departureDate: string | null;
112
+ /** Currently-entered departure time (free-date fallback), or null. */
113
+ departureTime: string | null;
114
+ /** Report a change — any omitted field is left unchanged on the draft. */
115
+ onChange: (next: {
116
+ slotId?: string | null;
117
+ departureDate?: string | null;
118
+ departureTime?: string | null;
119
+ }) => void;
120
+ }
121
+ /** A picked inventory unit (room) selection on the draft's configure. */
122
+ export interface JourneyOptionSelection {
123
+ optionId: string;
124
+ optionName?: string;
125
+ optionUnitId?: string;
126
+ optionUnitName?: string;
127
+ quantity: number;
128
+ }
129
+ /**
130
+ * Props for the injectable units (rooms) picker rendered in the Configure
131
+ * step for an `"option-units"` sub-step. The template wires it to an
132
+ * inventory source (operator availability) so the operator picks room
133
+ * quantities for the chosen option + departure; the journey stores the
134
+ * result on `configure.optionSelections`.
135
+ */
136
+ export interface UnitsPickerProps {
137
+ /** The owned product whose units to load. */
138
+ productId: string;
139
+ /** Currently-selected product option (drives which units show), or null. */
140
+ optionId: string | null;
141
+ /** Currently-picked departure slot (drives per-slot availability), or null. */
142
+ slotId: string | null;
143
+ /** Current unit selections on the draft. */
144
+ selections: ReadonlyArray<JourneyOptionSelection>;
145
+ /** Report the new full set of unit selections. */
146
+ onChange: (selections: JourneyOptionSelection[]) => void;
147
+ }
148
+ /**
149
+ * Capabilities supplied by the template — checkout-ui's PaymentStep
150
+ * consumes these to render the right provider widget. Each flag is
151
+ * an independent on/off switch the operator configures per
152
+ * deployment / supplier:
153
+ *
154
+ * - `acceptsCard` — Stripe / Netopia / generic card flow. The
155
+ * `renderPaymentProviderStep` slot supplies the actual widget.
156
+ * - `acceptsBankTransfer` — operator emails the buyer bank details;
157
+ * booking is created with status "awaiting_payment". Inventory
158
+ * hold is still placed so capacity is reserved.
159
+ * - `acceptsHold` — staff/agent-only soft-hold path; useful when an
160
+ * operator is brokering for an end customer.
161
+ * - `acceptsTicketOnCredit` — agency credit account.
162
+ * - `acceptsInquiry` — lead-only flow: NO inventory hold, NO charge.
163
+ * The "booking" is recorded as an inquiry for the operator to
164
+ * manually follow up on. Right for tour operators where a quote
165
+ * conversation precedes booking.
166
+ */
167
+ export interface PaymentProviderCapabilities {
168
+ acceptsCard: boolean;
169
+ acceptsHold: boolean;
170
+ acceptsBankTransfer?: boolean;
171
+ acceptsTicketOnCredit: boolean;
172
+ acceptsInquiry?: boolean;
173
+ /** Free-form provider-specific config (e.g. Netopia merchant id,
174
+ * Stripe publishable key, bank-transfer instructions). */
175
+ config?: Record<string, unknown>;
176
+ }
177
+ export interface PaymentProviderStepRenderProps {
178
+ intent: BookingDraftV1["payment"]["intent"];
179
+ schedule: BookingDraftV1["payment"]["schedule"];
180
+ capabilities: PaymentProviderCapabilities;
181
+ }
182
+ export type BookingJourneyTransitionGuardResult = undefined | boolean | {
183
+ allow: boolean;
184
+ message?: string;
185
+ draft?: BookingDraftV1;
186
+ };
187
+ export interface BookingJourneyTransitionGuardContext {
188
+ currentStep: JourneyStep;
189
+ nextStep: JourneyStep;
190
+ draft: BookingDraftV1;
191
+ pricing: PricingBreakdownV1 | null;
192
+ quoteId?: string;
193
+ surface: "admin" | "public";
194
+ }
195
+ export type BookingJourneyTransitionGuard = (context: BookingJourneyTransitionGuardContext) => BookingJourneyTransitionGuardResult | Promise<BookingJourneyTransitionGuardResult>;
196
+ export interface BookingJourneyProps {
197
+ /** What to book. */
198
+ entityModule: string;
199
+ entityId: string;
200
+ /**
201
+ * Source pointer fields. Optional on the public surface — the
202
+ * engine resolves provenance server-side from
203
+ * `(entityModule, entityId)` via the catalog plane's
204
+ * sourced-entry lookup. Operator surfaces should still pass
205
+ * `sourceKind` explicitly when known.
206
+ */
207
+ sourceKind?: string;
208
+ sourceConnectionId?: string;
209
+ sourceRef?: string;
210
+ /** Surface — drives audience defaults and slot wiring. */
211
+ surface?: "admin" | "public";
212
+ /**
213
+ * Layout of the booking flow.
214
+ * - `"wizard"` — one step at a time with Back/Next (the guided
215
+ * storefront flow).
216
+ * - `"stacked"` — every section rendered as a block on a single
217
+ * scrollable page, nothing hidden (the operator flow — an admin
218
+ * can see travelers while editing options, and jump around freely).
219
+ * Defaults to `"stacked"` on the admin surface and `"wizard"` on
220
+ * public, keeping the two processes deliberately separate. */
221
+ layout?: "wizard" | "stacked";
222
+ /** Stable draft id — caller persists in URL or session storage so
223
+ * the journey survives page refresh. */
224
+ draftId: string;
225
+ /** Default buyer type — operator: B2B, storefront: B2C. */
226
+ defaultBuyerType?: "B2C" | "B2B";
227
+ /** Initial fallback shape — rendered before the first quote
228
+ * resolves. The engine returns a more specific shape on the
229
+ * first quote response. */
230
+ fallbackShape?: BookingDraftShape;
231
+ /**
232
+ * Pre-locked configure state. When set, the journey skips the
233
+ * Configure step entirely — Configure already happened on the
234
+ * product detail page. Mirrors the BookingDraft's `configure`
235
+ * shape (loosely typed so storefront callers can pass a
236
+ * vertical-specific subset without fighting the contract).
237
+ */
238
+ initialConfigure?: Record<string, unknown>;
239
+ /** Pre-locked accommodation slice (room/rate picks made on the
240
+ * detail page). Loosely typed for the same reason. */
241
+ initialAccommodation?: Record<string, unknown>;
242
+ /**
243
+ * When true, the wizard hides Configure regardless of descriptor
244
+ * flags. Use for storefront flows where the product detail page
245
+ * already collected those choices.
246
+ */
247
+ hideConfigure?: boolean;
248
+ /** Per-payment-provider capabilities — passed through to the
249
+ * Payment step's provider widget. */
250
+ paymentCapabilities?: PaymentProviderCapabilities;
251
+ /** Operator: pulls from CRM. Storefront: bare inline form. */
252
+ renderLeadContactPicker?: (props: LeadContactPickerProps) => ReactNode;
253
+ renderTravelerContactPicker?: (props: TravelerContactPickerProps) => ReactNode;
254
+ /** Operator-only voucher picker (async search). When omitted, the voucher
255
+ * control falls back to the customer code-entry form. */
256
+ renderVoucherPicker?: (props: VoucherPickerProps) => ReactNode;
257
+ /**
258
+ * Renders the Configure step's `"departure"` sub-step. Operator
259
+ * surfaces wire this to a scheduled-departure picker (availability);
260
+ * when omitted, the journey renders a free date/time fallback.
261
+ */
262
+ renderDeparturePicker?: (props: DeparturePickerProps) => ReactNode;
263
+ /**
264
+ * Renders the Configure step's `"option-units"` sub-step (room/unit
265
+ * quantity selection). Operator surfaces wire this to an inventory
266
+ * units picker; when omitted, the sub-step renders nothing.
267
+ */
268
+ renderUnitsPicker?: (props: UnitsPickerProps) => ReactNode;
269
+ /** Hook for the actual payment-provider widget — checkout-ui's
270
+ * PaymentStep is the canonical implementation. When omitted, the
271
+ * shell renders a "Hold only — no card collected" stub. */
272
+ renderPaymentProviderStep?: (props: PaymentProviderStepRenderProps) => ReactNode;
273
+ /**
274
+ * Runs before a forward step transition. Return `false` or
275
+ * `{ allow: false, message }` to keep the current step active and
276
+ * surface an inline navigation error; return `{ allow: true,
277
+ * draft }` to continue with an updated draft snapshot.
278
+ */
279
+ onBeforeStepAdvance?: BookingJourneyTransitionGuard;
280
+ /** Optional pre/post-step extension slots — useful when a
281
+ * template wants to inject a custom block (e.g. coupon code
282
+ * banner, marketing opt-in). */
283
+ renderConfigureExtras?: () => ReactNode;
284
+ /** Billing extras — receives the picked lead + departure so a template can,
285
+ * e.g., warn that this customer already has a booking on this departure. */
286
+ renderBillingExtras?: (ctx: BillingExtrasContext) => ReactNode;
287
+ renderReviewExtras?: () => ReactNode;
288
+ /** Fired on successful commit — typically a navigation. */
289
+ onCommitted?: (result: BookResponseV1) => void;
290
+ /** Fired when the user explicitly abandons the journey via the
291
+ * shell's cancel button. */
292
+ onCancelled?: () => void;
293
+ /** Optional class names. */
294
+ className?: string;
295
+ sidePanelClassName?: string;
296
+ /**
297
+ * Optional summary of the entity being booked — surfaces in the
298
+ * side panel so the customer keeps context while filling out the
299
+ * journey. Shape is loose because each vertical carries different
300
+ * fields (cruises have ports, accommodations have check-in/out, etc.).
301
+ */
302
+ entitySummary?: BookingEntitySummary;
303
+ /**
304
+ * Contract preview integration. When `templateSlug` is set, the
305
+ * Review step's "Continue to checkout" button opens the contract
306
+ * preview dialog with the rendered template instead of committing
307
+ * directly. The journey then surfaces the acceptance back to the
308
+ * caller via `onContractAccepted` so the storefront can call its
309
+ * own `/checkout/start` endpoint.
310
+ *
311
+ * - `previewUrl` — absolute URL of the public render endpoint.
312
+ * - `resolveVariables` — maps the draft to the template's variable
313
+ * schema. The storefront supplies a default mapper that covers
314
+ * traveler / billing / room / dates.
315
+ * - `marketingLabel` — when set, an additional opt-in checkbox is
316
+ * rendered in the dialog. Marketing consent is optional and is
317
+ * passed through `onContractAccepted` so the caller can decide
318
+ * what to do with it.
319
+ */
320
+ contract?: {
321
+ templateSlug: string;
322
+ previewUrl: string;
323
+ acceptLanguage?: string;
324
+ resolveVariables: (input: {
325
+ draft: BookingDraftV1;
326
+ pricing: PricingBreakdownV1 | null;
327
+ }) => Record<string, unknown>;
328
+ marketingLabel?: ReactNode;
329
+ termsLabel?: ReactNode;
330
+ };
331
+ /**
332
+ * Fired when the user accepts the contract in the preview dialog.
333
+ * The caller persists the acceptance + dispatches the checkout
334
+ * workflow. Receives the rendered HTML so it can be stored
335
+ * verbatim for the audit trail.
336
+ */
337
+ /**
338
+ * Called when the user clicks Confirm on the Review step. Receives
339
+ * the rendered contract acceptance when the contract dialog was
340
+ * shown; receives `null` when the journey skipped the dialog
341
+ * (no template configured — the storefront still wants to drive
342
+ * the post-confirm /checkout/start flow).
343
+ */
344
+ onContractAccepted?: (acceptance: ContractAcceptanceEvent | null, context: BookingJourneyCheckoutContext) => void | Promise<void>;
345
+ }
346
+ export interface BookingJourneyCheckoutContext {
347
+ draft: BookingDraftV1;
348
+ pricing: PricingBreakdownV1 | null;
349
+ quoteId?: string;
350
+ }
351
+ export interface ContractAcceptanceEvent {
352
+ templateId: string;
353
+ templateSlug: string;
354
+ templateName: string;
355
+ acceptedTerms: true;
356
+ acceptedMarketing: boolean;
357
+ acceptedAt: string;
358
+ renderedHtml: string;
359
+ }
360
+ /**
361
+ * Caller-provided context for the side-panel summary. Keep it
362
+ * vertical-agnostic — the panel renders whatever subset is present.
363
+ */
364
+ export interface BookingEntitySummary {
365
+ /** Headline name — e.g. product / cruise / hotel name. */
366
+ name: string;
367
+ /** Optional second line — e.g. "Iceland · 1 day", "7 nights · Mediterranean". */
368
+ subtitle?: string;
369
+ /** Optional hero image — small thumbnail at the top of the panel. */
370
+ heroImageUrl?: string;
371
+ /** Vertical badge — drives the "What you're booking" header copy. */
372
+ vertical?: "products" | "cruises" | "accommodations" | string;
373
+ /** Optional ISO date or formatted date — e.g. "Tue, May 5, 2026". */
374
+ whenLabel?: string;
375
+ /** Optional location label — e.g. "Reykjavík", "Mediterranean", "Bucharest". */
376
+ locationLabel?: string;
377
+ /** ISO start date (YYYY-MM-DD or full ISO) — used by the contract
378
+ * preview when the draft only carries a slot id. */
379
+ startDate?: string;
380
+ /** ISO end date — paired with `startDate` for ranges and contract
381
+ * variables like `departure.end_date`. */
382
+ endDate?: string;
383
+ /** Free-form destination / route string — surfaced as
384
+ * `product.destination` in contract variables. */
385
+ destination?: string;
386
+ }
387
+ export interface JourneyHeaderState {
388
+ current: JourneyStep;
389
+ visited: ReadonlyArray<JourneyStep>;
390
+ steps: ReadonlyArray<JourneyStep>;
391
+ shape: BookingDraftShape;
392
+ }
393
+ export interface SidePanelState {
394
+ pricing: PricingBreakdownV1 | null;
395
+ isQuoting: boolean;
396
+ invalidReason?: string;
397
+ entitySummary?: BookingEntitySummary;
398
+ currentStep?: JourneyStep;
399
+ steps?: ReadonlyArray<JourneyStep>;
400
+ shape?: BookingDraftShape;
401
+ draft?: BookingDraftV1;
402
+ }
403
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/journey/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Shell-side types for `<BookingJourney />`. These complement the
3
+ * engine contracts in `@voyant-travel/catalog-contracts/booking-engine/contracts`
4
+ * with React-specific slots and event shapes that don't belong on
5
+ * the wire.
6
+ *
7
+ * Per booking-journey-architecture §8.1.
8
+ */
9
+ export const JOURNEY_STEP_ORDER = [
10
+ "departure",
11
+ "billing",
12
+ "travelers",
13
+ "options",
14
+ "accommodation",
15
+ "addons",
16
+ "payment",
17
+ "documents",
18
+ "review",
19
+ ];
@@ -0,0 +1,2 @@
1
+ export { useVoyantReactContext as useVoyantBookingsContext, type VoyantReactContextValue as VoyantBookingsContextValue, VoyantReactProvider as VoyantBookingsProvider, type VoyantReactProviderProps as VoyantBookingsProviderProps, } from "@voyant-travel/react";
2
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,IAAI,wBAAwB,EACjD,KAAK,uBAAuB,IAAI,0BAA0B,EAC1D,mBAAmB,IAAI,sBAAsB,EAC7C,KAAK,wBAAwB,IAAI,2BAA2B,GAC7D,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1 @@
1
+ export { useVoyantReactContext as useVoyantBookingsContext, VoyantReactProvider as VoyantBookingsProvider, } from "@voyant-travel/react";
@@ -0,0 +1,74 @@
1
+ export type BookingsListSortField = "bookingNumber" | "status" | "sellAmount" | "pax" | "startDate" | "endDate" | "createdAt";
2
+ export type BookingsListSortDir = "asc" | "desc";
3
+ export interface BookingsListFilters {
4
+ status?: string | undefined;
5
+ /**
6
+ * Statuses to omit from the result. The bookings index uses this to
7
+ * hide noise (e.g. drafts + expired) from the default "All" view.
8
+ */
9
+ excludeStatuses?: string[] | undefined;
10
+ search?: string | undefined;
11
+ productId?: string | undefined;
12
+ optionId?: string | undefined;
13
+ /**
14
+ * Restrict to bookings whose items reference this availability slot
15
+ * (i.e. departure). Typically paired with `productId`.
16
+ */
17
+ availabilitySlotId?: string | undefined;
18
+ supplierId?: string | undefined;
19
+ productCategoryId?: string | undefined;
20
+ personId?: string | undefined;
21
+ organizationId?: string | undefined;
22
+ dateFrom?: string | undefined;
23
+ dateTo?: string | undefined;
24
+ paxMin?: number | undefined;
25
+ paxMax?: number | undefined;
26
+ sortBy?: BookingsListSortField | undefined;
27
+ sortDir?: BookingsListSortDir | undefined;
28
+ limit?: number | undefined;
29
+ offset?: number | undefined;
30
+ }
31
+ export interface BookingGroupsListFilters {
32
+ kind?: string | undefined;
33
+ productId?: string | undefined;
34
+ optionUnitId?: string | undefined;
35
+ limit?: number | undefined;
36
+ offset?: number | undefined;
37
+ }
38
+ export interface PricingPreviewFilters {
39
+ productId: string;
40
+ optionId?: string | null | undefined;
41
+ catalogId?: string | null | undefined;
42
+ }
43
+ export interface TaxPreviewFilters {
44
+ productId: string;
45
+ subtotalCents: number;
46
+ currency: string;
47
+ }
48
+ export declare const bookingsQueryKeys: {
49
+ readonly all: readonly ["voyant", "bookings"];
50
+ readonly bookings: () => readonly ["voyant", "bookings", "bookings"];
51
+ readonly publicSessions: () => readonly ["voyant", "bookings", "public-sessions"];
52
+ readonly bookingsList: (filters: BookingsListFilters) => readonly ["voyant", "bookings", "bookings", "list", BookingsListFilters];
53
+ readonly booking: (id: string) => readonly ["voyant", "bookings", "bookings", "detail", string];
54
+ readonly publicSession: (sessionId: string) => readonly ["voyant", "bookings", "public-sessions", "detail", string];
55
+ readonly publicSessionState: (sessionId: string) => readonly ["voyant", "bookings", "public-sessions", "detail", string, "state"];
56
+ readonly items: (bookingId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "items"];
57
+ readonly itemTravelers: (bookingId: string, itemId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "items", string, "travelers"];
58
+ readonly travelers: (bookingId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "travelers"];
59
+ readonly sharingGroupsForSlot: (slotId: string) => readonly ["voyant", "bookings", "sharing-groups", "slot", string];
60
+ readonly travelersBySharingGroup: (slotId: string, groupId: string) => readonly ["voyant", "bookings", "sharing-groups", "slot", string, string, "travelers"];
61
+ readonly documents: (bookingId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "documents"];
62
+ readonly supplierStatuses: (bookingId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "supplier-statuses"];
63
+ readonly activity: (bookingId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "activity"];
64
+ readonly actionLedger: (bookingId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "action-ledger"];
65
+ readonly notes: (bookingId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "notes"];
66
+ readonly groups: () => readonly ["voyant", "bookings", "groups"];
67
+ readonly groupsList: (filters: BookingGroupsListFilters) => readonly ["voyant", "bookings", "groups", "list", BookingGroupsListFilters];
68
+ readonly group: (id: string) => readonly ["voyant", "bookings", "groups", "detail", string];
69
+ readonly groupMembers: (id: string) => readonly ["voyant", "bookings", "groups", "detail", string, "members"];
70
+ readonly groupForBooking: (bookingId: string) => readonly ["voyant", "bookings", "bookings", "detail", string, "group"];
71
+ readonly pricingPreview: (filters: PricingPreviewFilters) => readonly ["voyant", "bookings", "pricing-preview", PricingPreviewFilters];
72
+ readonly taxPreview: (filters: TaxPreviewFilters) => readonly ["voyant", "bookings", "tax-preview", TaxPreviewFilters];
73
+ };
74
+ //# sourceMappingURL=query-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-keys.d.ts","sourceRoot":"","sources":["../src/query-keys.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,QAAQ,GACR,YAAY,GACZ,KAAK,GACL,WAAW,GACX,SAAS,GACT,WAAW,CAAA;AAEf,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,CAAA;AAEhD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IAC1C,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACzC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,iBAAiB;;;;qCAKJ,mBAAmB;2BAE7B,MAAM;wCACO,MAAM;6CAED,MAAM;gCAGnB,MAAM;wCACE,MAAM,UAAU,MAAM;oCAE1B,MAAM;4CACE,MAAM;+CAEH,MAAM,WAAW,MAAM;oCAElC,MAAM;2CACC,MAAM;mCAEd,MAAM;uCACF,MAAM;gCAEb,MAAM;;mCAGH,wBAAwB;yBAElC,MAAM;gCACC,MAAM;0CACI,MAAM;uCAGT,qBAAqB;mCAGzB,iBAAiB;CAE/B,CAAA"}
@@ -0,0 +1,26 @@
1
+ export const bookingsQueryKeys = {
2
+ all: ["voyant", "bookings"],
3
+ bookings: () => [...bookingsQueryKeys.all, "bookings"],
4
+ publicSessions: () => [...bookingsQueryKeys.all, "public-sessions"],
5
+ bookingsList: (filters) => [...bookingsQueryKeys.bookings(), "list", filters],
6
+ booking: (id) => [...bookingsQueryKeys.bookings(), "detail", id],
7
+ publicSession: (sessionId) => [...bookingsQueryKeys.publicSessions(), "detail", sessionId],
8
+ publicSessionState: (sessionId) => [...bookingsQueryKeys.publicSession(sessionId), "state"],
9
+ items: (bookingId) => [...bookingsQueryKeys.booking(bookingId), "items"],
10
+ itemTravelers: (bookingId, itemId) => [...bookingsQueryKeys.items(bookingId), itemId, "travelers"],
11
+ travelers: (bookingId) => [...bookingsQueryKeys.booking(bookingId), "travelers"],
12
+ sharingGroupsForSlot: (slotId) => [...bookingsQueryKeys.all, "sharing-groups", "slot", slotId],
13
+ travelersBySharingGroup: (slotId, groupId) => [...bookingsQueryKeys.sharingGroupsForSlot(slotId), groupId, "travelers"],
14
+ documents: (bookingId) => [...bookingsQueryKeys.booking(bookingId), "documents"],
15
+ supplierStatuses: (bookingId) => [...bookingsQueryKeys.booking(bookingId), "supplier-statuses"],
16
+ activity: (bookingId) => [...bookingsQueryKeys.booking(bookingId), "activity"],
17
+ actionLedger: (bookingId) => [...bookingsQueryKeys.booking(bookingId), "action-ledger"],
18
+ notes: (bookingId) => [...bookingsQueryKeys.booking(bookingId), "notes"],
19
+ groups: () => [...bookingsQueryKeys.all, "groups"],
20
+ groupsList: (filters) => [...bookingsQueryKeys.groups(), "list", filters],
21
+ group: (id) => [...bookingsQueryKeys.groups(), "detail", id],
22
+ groupMembers: (id) => [...bookingsQueryKeys.group(id), "members"],
23
+ groupForBooking: (bookingId) => [...bookingsQueryKeys.booking(bookingId), "group"],
24
+ pricingPreview: (filters) => [...bookingsQueryKeys.all, "pricing-preview", filters],
25
+ taxPreview: (filters) => [...bookingsQueryKeys.all, "tax-preview", filters],
26
+ };