@aglyn/plugins-commerce 1.0.0-beta.284 → 1.0.0-beta.287

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 (420) hide show
  1. package/README.md +1 -1
  2. package/package.json +13 -13
  3. package/src/lib/components/cart.js +25 -12
  4. package/src/lib/components/cart.js.map +1 -1
  5. package/src/lib/components/commerce-console-page.js +70 -13
  6. package/src/lib/components/commerce-console-page.js.map +1 -1
  7. package/src/lib/components/console/order-detail-dialog.component.js +2 -1
  8. package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
  9. package/src/lib/components/console/payment-methods-card.component.js +1 -1
  10. package/src/lib/components/console/payment-methods-card.component.js.map +1 -1
  11. package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +5 -0
  12. package/src/lib/components/console/pos/pos-cart-panel.component.js +18 -12
  13. package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -1
  14. package/src/lib/components/console/pos/pos-hardware-api.d.ts +76 -5
  15. package/src/lib/components/console/pos/pos-hardware-api.js +53 -11
  16. package/src/lib/components/console/pos/pos-hardware-api.js.map +1 -1
  17. package/src/lib/components/console/pos/pos-hardware-buyer.component.d.ts +18 -0
  18. package/src/lib/components/console/pos/pos-hardware-buyer.component.js +629 -0
  19. package/src/lib/components/console/pos/pos-hardware-buyer.component.js.map +1 -0
  20. package/src/lib/components/console/pos/pos-hardware-sale-api.d.ts +162 -0
  21. package/src/lib/components/console/pos/pos-hardware-sale-api.js +122 -0
  22. package/src/lib/components/console/pos/pos-hardware-sale-api.js.map +1 -0
  23. package/src/lib/components/console/pos/pos-hardware-sale-terms.component.d.ts +39 -0
  24. package/src/lib/components/console/pos/pos-hardware-sale-terms.component.js +251 -0
  25. package/src/lib/components/console/pos/pos-hardware-sale-terms.component.js.map +1 -0
  26. package/src/lib/components/console/pos/use-pos-display.js +50 -0
  27. package/src/lib/components/console/pos/use-pos-display.js.map +1 -1
  28. package/src/lib/components/console/pos-cellular-control.component.d.ts +41 -0
  29. package/src/lib/components/console/pos-cellular-control.component.js +211 -0
  30. package/src/lib/components/console/pos-cellular-control.component.js.map +1 -0
  31. package/src/lib/components/console/pos-devices-card.component.d.ts +9 -1
  32. package/src/lib/components/console/pos-devices-card.component.js +47 -15
  33. package/src/lib/components/console/pos-devices-card.component.js.map +1 -1
  34. package/src/lib/components/console/pos-display/pos-display-api.d.ts +6 -0
  35. package/src/lib/components/console/pos-display/pos-display-api.js +8 -1
  36. package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -1
  37. package/src/lib/components/console/pos-display-page.component.d.ts +13 -0
  38. package/src/lib/components/console/pos-display-page.component.js +44 -2
  39. package/src/lib/components/console/pos-display-page.component.js.map +1 -1
  40. package/src/lib/components/console/pos-hardware-card.component.d.ts +12 -4
  41. package/src/lib/components/console/pos-hardware-card.component.js +157 -36
  42. package/src/lib/components/console/pos-hardware-card.component.js.map +1 -1
  43. package/src/lib/components/console/pos-hardware-orders-staff-page.component.js +360 -80
  44. package/src/lib/components/console/pos-hardware-orders-staff-page.component.js.map +1 -1
  45. package/src/lib/components/console/pos-hardware-terms-page.component.d.ts +34 -0
  46. package/src/lib/components/console/pos-hardware-terms-page.component.js +257 -0
  47. package/src/lib/components/console/pos-hardware-terms-page.component.js.map +1 -0
  48. package/src/lib/components/console/pos-hardware-terms-sign-page.component.d.ts +27 -0
  49. package/src/lib/components/console/pos-hardware-terms-sign-page.component.js +104 -0
  50. package/src/lib/components/console/pos-hardware-terms-sign-page.component.js.map +1 -0
  51. package/src/lib/components/console/pos-hardware-waiting-card.component.d.ts +24 -0
  52. package/src/lib/components/console/pos-hardware-waiting-card.component.js +205 -0
  53. package/src/lib/components/console/pos-hardware-waiting-card.component.js.map +1 -0
  54. package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js +297 -201
  55. package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js.map +1 -1
  56. package/src/lib/components/console/pos-ops/pos-check-ins-card.component.d.ts +3 -0
  57. package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js +260 -92
  58. package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js.map +1 -1
  59. package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +9 -0
  60. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +15 -6
  61. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -1
  62. package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.d.ts +25 -0
  63. package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.js +136 -0
  64. package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.js.map +1 -0
  65. package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +6 -0
  66. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +48 -31
  67. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -1
  68. package/src/lib/components/console/pos-page.component.d.ts +1 -1
  69. package/src/lib/components/console/pos-page.component.js +63 -12
  70. package/src/lib/components/console/pos-page.component.js.map +1 -1
  71. package/src/lib/components/console/pos-reader-splash-setting.component.js +1 -1
  72. package/src/lib/components/console/pos-reader-splash-setting.component.js.map +1 -1
  73. package/src/lib/components/console/product-check-in-fields.component.d.ts +4 -2
  74. package/src/lib/components/console/product-check-in-fields.component.js +60 -14
  75. package/src/lib/components/console/product-check-in-fields.component.js.map +1 -1
  76. package/src/lib/components/console/product-editor-dialog.component.js +44 -1
  77. package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
  78. package/src/lib/components/console/product-hardware-sku-field.component.d.ts +19 -0
  79. package/src/lib/components/console/product-hardware-sku-field.component.js +92 -0
  80. package/src/lib/components/console/product-hardware-sku-field.component.js.map +1 -0
  81. package/src/lib/components/console/product-kiosk-offer-field.component.d.ts +22 -0
  82. package/src/lib/components/console/product-kiosk-offer-field.component.js +94 -0
  83. package/src/lib/components/console/product-kiosk-offer-field.component.js.map +1 -0
  84. package/src/lib/components/console/product-register-fields.component.d.ts +4 -0
  85. package/src/lib/components/console/product-register-fields.component.js +31 -2
  86. package/src/lib/components/console/product-register-fields.component.js.map +1 -1
  87. package/src/lib/components/console/products-hub-card.component.js +11 -2
  88. package/src/lib/components/console/products-hub-card.component.js.map +1 -1
  89. package/src/lib/components/console/register-hardware-card.component.d.ts +11 -0
  90. package/src/lib/components/console/register-hardware-card.component.js +56 -27
  91. package/src/lib/components/console/register-hardware-card.component.js.map +1 -1
  92. package/src/lib/components/console/reservation-guests-dialog.component.d.ts +28 -0
  93. package/src/lib/components/console/reservation-guests-dialog.component.js +189 -0
  94. package/src/lib/components/console/reservation-guests-dialog.component.js.map +1 -0
  95. package/src/lib/components/console/reservations-card.component.d.ts +9 -0
  96. package/src/lib/components/console/reservations-card.component.js +158 -23
  97. package/src/lib/components/console/reservations-card.component.js.map +1 -1
  98. package/src/lib/components/console/shippingeasy-card.component.js +1 -1
  99. package/src/lib/components/console/shippingeasy-card.component.js.map +1 -1
  100. package/src/lib/components/console/shipstation-card.component.d.ts +1 -1
  101. package/src/lib/components/console/shipstation-card.component.js +3 -3
  102. package/src/lib/components/console/shipstation-card.component.js.map +1 -1
  103. package/src/lib/components/product-detail.d.ts +4 -0
  104. package/src/lib/components/product-detail.js +40 -5
  105. package/src/lib/components/product-detail.js.map +1 -1
  106. package/src/lib/components/product-reviews.js +28 -11
  107. package/src/lib/components/product-reviews.js.map +1 -1
  108. package/src/lib/components/reservation-widget.js +28 -5
  109. package/src/lib/components/reservation-widget.js.map +1 -1
  110. package/src/lib/components/use-day-picker.d.ts +25 -0
  111. package/src/lib/components/use-day-picker.js +57 -0
  112. package/src/lib/components/use-day-picker.js.map +1 -0
  113. package/src/lib/constants/operator-alerts.d.ts +55 -0
  114. package/src/lib/constants/operator-alerts.js +156 -1
  115. package/src/lib/constants/operator-alerts.js.map +1 -1
  116. package/src/lib/declarations.console-server.js +54 -1
  117. package/src/lib/declarations.console-server.js.map +1 -1
  118. package/src/lib/declarations.d.ts +4 -2
  119. package/src/lib/declarations.js +11 -4
  120. package/src/lib/declarations.js.map +1 -1
  121. package/src/lib/declarations.server.js +9 -0
  122. package/src/lib/declarations.server.js.map +1 -1
  123. package/src/lib/model/commerce-cart.d.ts +9 -1
  124. package/src/lib/model/commerce-cart.js +4 -3
  125. package/src/lib/model/commerce-cart.js.map +1 -1
  126. package/src/lib/model/commerce-check-in-product.d.ts +26 -0
  127. package/src/lib/model/commerce-check-in-product.js +64 -2
  128. package/src/lib/model/commerce-check-in-product.js.map +1 -1
  129. package/src/lib/model/commerce-check-in-record.d.ts +127 -0
  130. package/src/lib/model/commerce-check-in-record.js +36 -0
  131. package/src/lib/model/commerce-check-in-record.js.map +1 -0
  132. package/src/lib/model/commerce-check-in.d.ts +91 -87
  133. package/src/lib/model/commerce-check-in.js +186 -62
  134. package/src/lib/model/commerce-check-in.js.map +1 -1
  135. package/src/lib/model/commerce-kiosk-offer.d.ts +31 -0
  136. package/src/lib/model/commerce-kiosk-offer.js +35 -0
  137. package/src/lib/model/commerce-kiosk-offer.js.map +1 -0
  138. package/src/lib/model/commerce-orders.d.ts +76 -0
  139. package/src/lib/model/commerce-orders.js +6 -0
  140. package/src/lib/model/commerce-orders.js.map +1 -1
  141. package/src/lib/model/commerce-pos-day-report.d.ts +54 -1
  142. package/src/lib/model/commerce-pos-day-report.js +39 -2
  143. package/src/lib/model/commerce-pos-day-report.js.map +1 -1
  144. package/src/lib/model/commerce-pos-offline.d.ts +1 -1
  145. package/src/lib/model/commerce-pos-offline.js +6 -1
  146. package/src/lib/model/commerce-pos-offline.js.map +1 -1
  147. package/src/lib/model/commerce-pos-ops.js +3 -2
  148. package/src/lib/model/commerce-pos-ops.js.map +1 -1
  149. package/src/lib/model/commerce-pos.d.ts +36 -3
  150. package/src/lib/model/commerce-pos.js +14 -6
  151. package/src/lib/model/commerce-pos.js.map +1 -1
  152. package/src/lib/model/commerce-receipt.js +3 -2
  153. package/src/lib/model/commerce-receipt.js.map +1 -1
  154. package/src/lib/model/commerce-reservations.d.ts +69 -4
  155. package/src/lib/model/commerce-reservations.js +57 -5
  156. package/src/lib/model/commerce-reservations.js.map +1 -1
  157. package/src/lib/model/commerce.d.ts +66 -0
  158. package/src/lib/model/commerce.js +15 -0
  159. package/src/lib/model/commerce.js.map +1 -1
  160. package/src/lib/model/order-list-fields.d.ts +11 -0
  161. package/src/lib/model/order-list-fields.js +17 -1
  162. package/src/lib/model/order-list-fields.js.map +1 -1
  163. package/src/lib/model/own-store-tax-summary.d.ts +152 -0
  164. package/src/lib/model/own-store-tax-summary.js +288 -0
  165. package/src/lib/model/own-store-tax-summary.js.map +1 -0
  166. package/src/lib/model/plugin-permissions.d.ts +67 -0
  167. package/src/lib/model/plugin-permissions.js +224 -7
  168. package/src/lib/model/plugin-permissions.js.map +1 -1
  169. package/src/lib/model/pos-cellular.d.ts +223 -0
  170. package/src/lib/model/pos-cellular.js +293 -0
  171. package/src/lib/model/pos-cellular.js.map +1 -0
  172. package/src/lib/model/pos-hardware-in-person.d.ts +98 -0
  173. package/src/lib/model/pos-hardware-in-person.js +224 -0
  174. package/src/lib/model/pos-hardware-in-person.js.map +1 -0
  175. package/src/lib/model/pos-hardware-tax-summary.d.ts +166 -0
  176. package/src/lib/model/pos-hardware-tax-summary.js +225 -0
  177. package/src/lib/model/pos-hardware-tax-summary.js.map +1 -0
  178. package/src/lib/model/pos-hardware-terms.d.ts +74 -0
  179. package/src/lib/model/pos-hardware-terms.js +115 -0
  180. package/src/lib/model/pos-hardware-terms.js.map +1 -0
  181. package/src/lib/model/pos-hardware.d.ts +349 -7
  182. package/src/lib/model/pos-hardware.js +291 -20
  183. package/src/lib/model/pos-hardware.js.map +1 -1
  184. package/src/lib/model/product-write.d.ts +10 -0
  185. package/src/lib/model/product-write.js +4 -2
  186. package/src/lib/model/product-write.js.map +1 -1
  187. package/src/lib/plugin.js +16 -0
  188. package/src/lib/plugin.js.map +1 -1
  189. package/src/lib/server/billing-webhook.js +25 -1
  190. package/src/lib/server/billing-webhook.js.map +1 -1
  191. package/src/lib/server/cancel-order.js +7 -5
  192. package/src/lib/server/cancel-order.js.map +1 -1
  193. package/src/lib/server/cart-checkout.js +20 -8
  194. package/src/lib/server/cart-checkout.js.map +1 -1
  195. package/src/lib/server/cart.js +29 -0
  196. package/src/lib/server/cart.js.map +1 -1
  197. package/src/lib/server/checkout.js +42 -13
  198. package/src/lib/server/checkout.js.map +1 -1
  199. package/src/lib/server/collection-membership.d.ts +4 -0
  200. package/src/lib/server/collection-membership.js +5 -10
  201. package/src/lib/server/collection-membership.js.map +1 -1
  202. package/src/lib/server/commerce-site-keys.d.ts +29 -0
  203. package/src/lib/server/commerce-site-keys.js +40 -0
  204. package/src/lib/server/commerce-site-keys.js.map +1 -0
  205. package/src/lib/server/draft-order.js +8 -5
  206. package/src/lib/server/draft-order.js.map +1 -1
  207. package/src/lib/server/fulfill-order.js +7 -5
  208. package/src/lib/server/fulfill-order.js.map +1 -1
  209. package/src/lib/server/gift-cards.js +8 -5
  210. package/src/lib/server/gift-cards.js.map +1 -1
  211. package/src/lib/server/local-fulfillment-status.js +9 -6
  212. package/src/lib/server/local-fulfillment-status.js.map +1 -1
  213. package/src/lib/server/member-post.js +6 -5
  214. package/src/lib/server/member-post.js.map +1 -1
  215. package/src/lib/server/membership-admin-password.d.ts +4 -2
  216. package/src/lib/server/membership-admin-password.js +10 -8
  217. package/src/lib/server/membership-admin-password.js.map +1 -1
  218. package/src/lib/server/membership-admin-remove.d.ts +7 -5
  219. package/src/lib/server/membership-admin-remove.js +9 -9
  220. package/src/lib/server/membership-admin-remove.js.map +1 -1
  221. package/src/lib/server/order-notifications.js +5 -2
  222. package/src/lib/server/order-notifications.js.map +1 -1
  223. package/src/lib/server/order-print.js +7 -5
  224. package/src/lib/server/order-print.js.map +1 -1
  225. package/src/lib/server/order-receipt-send.js +8 -5
  226. package/src/lib/server/order-receipt-send.js.map +1 -1
  227. package/src/lib/server/orders-shipping-prepare.js +9 -6
  228. package/src/lib/server/orders-shipping-prepare.js.map +1 -1
  229. package/src/lib/server/own-store-tax-return-source.d.ts +47 -0
  230. package/src/lib/server/own-store-tax-return-source.js +312 -0
  231. package/src/lib/server/own-store-tax-return-source.js.map +1 -0
  232. package/src/lib/server/payment-methods.js +13 -9
  233. package/src/lib/server/payment-methods.js.map +1 -1
  234. package/src/lib/server/pos-auth.d.ts +37 -6
  235. package/src/lib/server/pos-auth.js +40 -15
  236. package/src/lib/server/pos-auth.js.map +1 -1
  237. package/src/lib/server/pos-cellular-billing.d.ts +81 -0
  238. package/src/lib/server/pos-cellular-billing.js +711 -0
  239. package/src/lib/server/pos-cellular-billing.js.map +1 -0
  240. package/src/lib/server/pos-cellular-notify.d.ts +47 -0
  241. package/src/lib/server/pos-cellular-notify.js +150 -0
  242. package/src/lib/server/pos-cellular-notify.js.map +1 -0
  243. package/src/lib/server/pos-cellular.d.ts +88 -0
  244. package/src/lib/server/pos-cellular.js +339 -0
  245. package/src/lib/server/pos-cellular.js.map +1 -0
  246. package/src/lib/server/pos-check-in.d.ts +5 -1
  247. package/src/lib/server/pos-check-in.js +296 -28
  248. package/src/lib/server/pos-check-in.js.map +1 -1
  249. package/src/lib/server/pos-day-report.js +29 -3
  250. package/src/lib/server/pos-day-report.js.map +1 -1
  251. package/src/lib/server/pos-display.d.ts +16 -0
  252. package/src/lib/server/pos-display.js +129 -2
  253. package/src/lib/server/pos-display.js.map +1 -1
  254. package/src/lib/server/pos-hardware-admin.d.ts +10 -1
  255. package/src/lib/server/pos-hardware-admin.js +250 -84
  256. package/src/lib/server/pos-hardware-admin.js.map +1 -1
  257. package/src/lib/server/pos-hardware-attach.d.ts +105 -0
  258. package/src/lib/server/pos-hardware-attach.js +443 -0
  259. package/src/lib/server/pos-hardware-attach.js.map +1 -0
  260. package/src/lib/server/pos-hardware-buyer-lookup.d.ts +58 -0
  261. package/src/lib/server/pos-hardware-buyer-lookup.js +180 -0
  262. package/src/lib/server/pos-hardware-buyer-lookup.js.map +1 -0
  263. package/src/lib/server/pos-hardware-buyer-record.d.ts +29 -0
  264. package/src/lib/server/pos-hardware-buyer-record.js +86 -0
  265. package/src/lib/server/pos-hardware-buyer-record.js.map +1 -0
  266. package/src/lib/server/pos-hardware-cancel.d.ts +58 -0
  267. package/src/lib/server/pos-hardware-cancel.js +147 -0
  268. package/src/lib/server/pos-hardware-cancel.js.map +1 -0
  269. package/src/lib/server/pos-hardware-closure-notices.d.ts +27 -0
  270. package/src/lib/server/pos-hardware-closure-notices.js +85 -0
  271. package/src/lib/server/pos-hardware-closure-notices.js.map +1 -0
  272. package/src/lib/server/pos-hardware-closure.d.ts +60 -0
  273. package/src/lib/server/pos-hardware-closure.js +153 -0
  274. package/src/lib/server/pos-hardware-closure.js.map +1 -0
  275. package/src/lib/server/pos-hardware-in-person.d.ts +61 -0
  276. package/src/lib/server/pos-hardware-in-person.js +236 -0
  277. package/src/lib/server/pos-hardware-in-person.js.map +1 -0
  278. package/src/lib/server/pos-hardware-notify.d.ts +40 -2
  279. package/src/lib/server/pos-hardware-notify.js +195 -14
  280. package/src/lib/server/pos-hardware-notify.js.map +1 -1
  281. package/src/lib/server/pos-hardware-readers.d.ts +115 -0
  282. package/src/lib/server/pos-hardware-readers.js +430 -0
  283. package/src/lib/server/pos-hardware-readers.js.map +1 -0
  284. package/src/lib/server/pos-hardware-returns.d.ts +116 -0
  285. package/src/lib/server/pos-hardware-returns.js +502 -0
  286. package/src/lib/server/pos-hardware-returns.js.map +1 -0
  287. package/src/lib/server/pos-hardware-sale-fields.d.ts +28 -0
  288. package/src/lib/server/pos-hardware-sale-fields.js +44 -0
  289. package/src/lib/server/pos-hardware-sale-fields.js.map +1 -0
  290. package/src/lib/server/pos-hardware-sale.d.ts +54 -0
  291. package/src/lib/server/pos-hardware-sale.js +369 -0
  292. package/src/lib/server/pos-hardware-sale.js.map +1 -0
  293. package/src/lib/server/pos-hardware-tax-return-source.d.ts +99 -0
  294. package/src/lib/server/pos-hardware-tax-return-source.js +462 -0
  295. package/src/lib/server/pos-hardware-tax-return-source.js.map +1 -0
  296. package/src/lib/server/pos-hardware-terms.d.ts +64 -0
  297. package/src/lib/server/pos-hardware-terms.js +154 -0
  298. package/src/lib/server/pos-hardware-terms.js.map +1 -0
  299. package/src/lib/server/pos-hardware-user-eraser.d.ts +3 -0
  300. package/src/lib/server/pos-hardware-user-eraser.js +31 -7
  301. package/src/lib/server/pos-hardware-user-eraser.js.map +1 -1
  302. package/src/lib/server/pos-hardware-webhook.d.ts +5 -0
  303. package/src/lib/server/pos-hardware-webhook.js +51 -6
  304. package/src/lib/server/pos-hardware-webhook.js.map +1 -1
  305. package/src/lib/server/pos-hardware.d.ts +74 -1
  306. package/src/lib/server/pos-hardware.js +175 -10
  307. package/src/lib/server/pos-hardware.js.map +1 -1
  308. package/src/lib/server/pos-kiosk.d.ts +2 -0
  309. package/src/lib/server/pos-kiosk.js +17 -12
  310. package/src/lib/server/pos-kiosk.js.map +1 -1
  311. package/src/lib/server/pos-offline-card-order.d.ts +64 -0
  312. package/src/lib/server/pos-offline-card-order.js +102 -0
  313. package/src/lib/server/pos-offline-card-order.js.map +1 -0
  314. package/src/lib/server/pos-offline-card-reconcile.d.ts +67 -1
  315. package/src/lib/server/pos-offline-card-reconcile.js +215 -18
  316. package/src/lib/server/pos-offline-card-reconcile.js.map +1 -1
  317. package/src/lib/server/pos-offline-sync.d.ts +39 -0
  318. package/src/lib/server/pos-offline-sync.js +190 -55
  319. package/src/lib/server/pos-offline-sync.js.map +1 -1
  320. package/src/lib/server/pos-ops-gate.d.ts +15 -4
  321. package/src/lib/server/pos-ops-gate.js +42 -9
  322. package/src/lib/server/pos-ops-gate.js.map +1 -1
  323. package/src/lib/server/pos-ops-routes.js +24 -0
  324. package/src/lib/server/pos-ops-routes.js.map +1 -1
  325. package/src/lib/server/pos-order-refund-ids.d.ts +28 -0
  326. package/src/lib/server/pos-order-refund-ids.js +31 -0
  327. package/src/lib/server/pos-order-refund-ids.js.map +1 -0
  328. package/src/lib/server/pos-order.js +52 -49
  329. package/src/lib/server/pos-order.js.map +1 -1
  330. package/src/lib/server/pos-payment.js +1 -1
  331. package/src/lib/server/pos-payment.js.map +1 -1
  332. package/src/lib/server/pos-reader-splash-admin.js +30 -32
  333. package/src/lib/server/pos-reader-splash-admin.js.map +1 -1
  334. package/src/lib/server/pos-reader-splash-images-route.d.ts +17 -0
  335. package/src/lib/server/pos-reader-splash-images-route.js +113 -0
  336. package/src/lib/server/pos-reader-splash-images-route.js.map +1 -0
  337. package/src/lib/server/pos-reader-splash-images.d.ts +51 -0
  338. package/src/lib/server/pos-reader-splash-images.js +123 -0
  339. package/src/lib/server/pos-reader-splash-images.js.map +1 -0
  340. package/src/lib/server/pos-reader-splash.d.ts +68 -1
  341. package/src/lib/server/pos-reader-splash.js +182 -11
  342. package/src/lib/server/pos-reader-splash.js.map +1 -1
  343. package/src/lib/server/pos-readers.d.ts +29 -0
  344. package/src/lib/server/pos-readers.js +134 -35
  345. package/src/lib/server/pos-readers.js.map +1 -1
  346. package/src/lib/server/pos-return.d.ts +10 -0
  347. package/src/lib/server/pos-return.js +26 -1
  348. package/src/lib/server/pos-return.js.map +1 -1
  349. package/src/lib/server/pos-sale.js +6 -1
  350. package/src/lib/server/pos-sale.js.map +1 -1
  351. package/src/lib/server/pos-shift.js +11 -0
  352. package/src/lib/server/pos-shift.js.map +1 -1
  353. package/src/lib/server/pos-staff-pin.js +25 -20
  354. package/src/lib/server/pos-staff-pin.js.map +1 -1
  355. package/src/lib/server/pos-terminal.d.ts +14 -4
  356. package/src/lib/server/pos-terminal.js +34 -38
  357. package/src/lib/server/pos-terminal.js.map +1 -1
  358. package/src/lib/server/printers.d.ts +7 -3
  359. package/src/lib/server/printers.js +18 -12
  360. package/src/lib/server/printers.js.map +1 -1
  361. package/src/lib/server/product-drafts.d.ts +11 -1
  362. package/src/lib/server/product-drafts.js +12 -8
  363. package/src/lib/server/product-drafts.js.map +1 -1
  364. package/src/lib/server/product.d.ts +15 -1
  365. package/src/lib/server/product.js +16 -3
  366. package/src/lib/server/product.js.map +1 -1
  367. package/src/lib/server/products-write.d.ts +26 -2
  368. package/src/lib/server/products-write.js +19 -7
  369. package/src/lib/server/products-write.js.map +1 -1
  370. package/src/lib/server/refund.js +34 -11
  371. package/src/lib/server/refund.js.map +1 -1
  372. package/src/lib/server/reservation-availability-query.d.ts +8 -0
  373. package/src/lib/server/reservation-availability-query.js +11 -1
  374. package/src/lib/server/reservation-availability-query.js.map +1 -1
  375. package/src/lib/server/reservation-availability.d.ts +1 -1
  376. package/src/lib/server/reservation-availability.js +7 -2
  377. package/src/lib/server/reservation-availability.js.map +1 -1
  378. package/src/lib/server/reservation-guests.d.ts +32 -0
  379. package/src/lib/server/reservation-guests.js +285 -0
  380. package/src/lib/server/reservation-guests.js.map +1 -0
  381. package/src/lib/server/reservation-walk-in.d.ts +11 -1
  382. package/src/lib/server/reservation-walk-in.js +56 -12
  383. package/src/lib/server/reservation-walk-in.js.map +1 -1
  384. package/src/lib/server/reserve.js +18 -5
  385. package/src/lib/server/reserve.js.map +1 -1
  386. package/src/lib/server/returns.js +9 -6
  387. package/src/lib/server/returns.js.map +1 -1
  388. package/src/lib/server/reviews.d.ts +22 -2
  389. package/src/lib/server/reviews.js +88 -20
  390. package/src/lib/server/reviews.js.map +1 -1
  391. package/src/lib/server/shipping-connectors.js +10 -11
  392. package/src/lib/server/shipping-connectors.js.map +1 -1
  393. package/src/lib/server/site-page-resolver.js +20 -3
  394. package/src/lib/server/site-page-resolver.js.map +1 -1
  395. package/src/lib/server/store-day.d.ts +33 -0
  396. package/src/lib/server/store-day.js +46 -0
  397. package/src/lib/server/store-day.js.map +1 -0
  398. package/src/lib/server/store-setup-ai-writer.d.ts +2 -1
  399. package/src/lib/server/store-setup-ai-writer.js +5 -6
  400. package/src/lib/server/store-setup-ai-writer.js.map +1 -1
  401. package/src/lib/server/storefront-tax.d.ts +13 -0
  402. package/src/lib/server/storefront-tax.js +8 -1
  403. package/src/lib/server/storefront-tax.js.map +1 -1
  404. package/src/lib/server/tax-return-source.d.ts +32 -3
  405. package/src/lib/server/tax-return-source.js +99 -20
  406. package/src/lib/server/tax-return-source.js.map +1 -1
  407. package/src/lib/server.js +100 -2
  408. package/src/lib/server.js.map +1 -1
  409. package/src/lib/testing/fake-firestore.js +58 -16
  410. package/src/lib/testing/fake-firestore.js.map +1 -1
  411. package/src/lib/testing/pos-ops-memory-firestore.js +18 -4
  412. package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -1
  413. package/src/lib/testing/site-register-permissions.d.ts +29 -0
  414. package/src/lib/testing/site-register-permissions.js +38 -0
  415. package/src/lib/testing/site-register-permissions.js.map +1 -0
  416. package/src/lib/transfer/tracking.server.js +8 -5
  417. package/src/lib/transfer/tracking.server.js.map +1 -1
  418. package/src/lib/utils/add-to-cart.d.ts +2 -0
  419. package/src/lib/utils/add-to-cart.js +6 -3
  420. package/src/lib/utils/add-to-cart.js.map +1 -1
@@ -19,17 +19,24 @@ import { _ as _object_without_properties_loose } from "@swc/helpers/_/_object_wi
19
19
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
20
20
  import * as Aglyn from "@aglyn/aglyn";
21
21
  import * as CommerceModel from "../../model/index.js";
22
+ import { reservationPermissionRefusal } from "../../model/plugin-permissions.js";
22
23
  import { CardDisplay, useConfirmationContext } from "@aglyn/shared-ui-jsx";
23
24
  import { ListPagination } from "@aglyn/shared-ui-jsx/components/list-pagination.component";
24
25
  import { useSnackbar } from "@aglyn/shared-ui-snackstack";
25
26
  import { Button, Chip, Dialog, DialogActions, DialogContent, DialogTitle, MenuItem, Stack, TextField, Typography } from "@mui/material";
26
27
  import { collection, deleteDoc, doc, getDocs, limit, orderBy, query, setDoc, updateDoc, where } from "firebase/firestore";
27
- import { useCallback, useMemo, useState } from "react";
28
+ import { lazy, Suspense, useCallback, useMemo, useState } from "react";
28
29
  import { useFirestore, useMerchantPayments, useUser } from "@aglyn/tenant-feature-instance";
29
30
  import { authorizedFetch } from "@aglyn/shared-util-http/authorized-token";
30
31
  import { PrerequisiteNotice } from "@aglyn/shared-ui-jsx/components/prerequisite-notice.component";
31
32
  import { useFirestoreCollection, usePagedCollection, writeGuardedBySeed } from "@aglyn/tenant-feature-instance";
32
33
  import { pluginDocsHelp } from "@aglyn/aglyn";
34
+ /** A stay's guest count after booking (AGL-4043), loaded the first time it opens. */ const ReservationGuestsDialog = /*#__PURE__*/ lazy(()=>import("./reservation-guests-dialog.component.js"));
35
+ /** The statuses whose guest count staff can still change. */ const GUESTS_OPEN_STATUSES = [
36
+ 'pending',
37
+ 'confirmed',
38
+ 'checked_in'
39
+ ];
33
40
  const STATUS_COLOR = {
34
41
  pending: 'warning',
35
42
  confirmed: 'info',
@@ -58,15 +65,35 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
58
65
  }
59
66
  return null;
60
67
  }
68
+ /**
69
+ * The "Only N left" field's problem (AGL-4044), or null when the typed value
70
+ * is a valid threshold: 0 (never) up to the most units a resource can hold.
71
+ */ function fewLeftAtProblem(fewLeftAt) {
72
+ if (fewLeftAt === undefined) return null;
73
+ if (!Number.isInteger(fewLeftAt) || fewLeftAt < 0 || fewLeftAt > CommerceModel.MAX_RESOURCE_UNITS) {
74
+ return `A whole number from 0 to ${CommerceModel.MAX_RESOURCE_UNITS}`;
75
+ }
76
+ return null;
77
+ }
61
78
  /**
62
79
  * Reservations console (AGL-311): resources CRUD (nightly pricing,
63
80
  * seasons via multipliers, deposits) plus the reservations list with
64
81
  * check-in/out, no-show, cancel, and walk-in creation. The storefront
65
82
  * widget books against the same docs.
66
83
  */ export function ReservationsCard(props) {
67
- var _payments_href, _payments_reason, _ref, _ref1, _ref2, _unitsProblem, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13;
84
+ var _payments_href, _payments_reason, _ref, _ref1, _ref2, _unitsProblem, _ref3, _ref4, _fewLeftAtProblem, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15;
68
85
  var _resourceDraft_name;
69
- const { hostId } = props;
86
+ const { hostId, canManage = true, canWalkIn = true } = props;
87
+ // The permissions this member lacks here, named, for the line under the
88
+ // card's actions (AGL-4047): a disabled control says why.
89
+ const missing = [
90
+ ...canManage ? [] : [
91
+ reservationPermissionRefusal('commerce.reservations')
92
+ ],
93
+ ...canWalkIn ? [] : [
94
+ reservationPermissionRefusal('commerce.walkIns')
95
+ ]
96
+ ];
70
97
  // Every reservation is paid when it is booked, so a store that cannot
71
98
  // charge turns each guest away; the card says so up front.
72
99
  const payments = useMerchantPayments(hostId);
@@ -158,6 +185,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
158
185
  const [resourceDraft, setResourceDraft] = useState(null);
159
186
  const [walkIn, setWalkIn] = useState(null);
160
187
  const [walkInBusy, setWalkInBusy] = useState(false);
188
+ /** The stay whose guests are being changed (AGL-4043). */ const [guestsFor, setGuestsFor] = useState(null);
161
189
  const handleResourceSave = useCallback(async ()=>{
162
190
  var _resourceDraft_name;
163
191
  if (!(resourceDraft == null ? void 0 : (_resourceDraft_name = resourceDraft.name) == null ? void 0 : _resourceDraft_name.trim()) || !(resourceDraft.nightlyRateUsd > 0)) {
@@ -174,20 +202,27 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
174
202
  * the listener's bookkeeping leaking into storage, and once there no
175
203
  * reader can tell it from a field the card meant to write.
176
204
  */ if (unitsProblem(resourceDraft.units)) return;
205
+ if (fewLeftAtProblem(resourceDraft.fewLeftAt)) return;
177
206
  const seeded = resourceDraft;
178
- const { id, $id: _syntheticId, units } = seeded, fields = _object_without_properties_loose(seeded, [
207
+ const { id, $id: _syntheticId, units, fewLeftAt } = seeded, fields = _object_without_properties_loose(seeded, [
179
208
  "id",
180
209
  "$id",
181
- "units"
210
+ "units",
211
+ "fewLeftAt"
182
212
  ]);
183
213
  // Units are written as the count the model reads (AGL-4044), and a
184
214
  // cleared field as 1 rather than left out: `merge: true` would otherwise
185
- // keep a stored 12 the merchant just removed.
186
- const data = 'units' in seeded ? _extends({}, fields, {
215
+ // keep a stored 12 the merchant just removed. The "Only N left" threshold
216
+ // the same way: a cleared field is written as the default it reads as.
217
+ const data = _extends({}, fields, 'units' in seeded ? {
187
218
  units: CommerceModel.resourceUnits({
188
219
  units
189
220
  })
190
- }) : fields;
221
+ } : {}, 'fewLeftAt' in seeded ? {
222
+ fewLeftAt: CommerceModel.resourceFewLeftAt({
223
+ fewLeftAt
224
+ })
225
+ } : {});
191
226
  /**
192
227
  * Refuse an EDIT whose seed the server never confirmed (AGL-1358).
193
228
  * `data` is the whole stored row spread out of the listener, so
@@ -247,6 +282,14 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
247
282
  if (!resource) return;
248
283
  const checkInDayMs = Date.parse(`${walkIn.checkIn}T00:00:00Z`);
249
284
  const checkOutDayMs = Date.parse(`${walkIn.checkOut}T00:00:00Z`);
285
+ const guests = walkIn.guests.trim() ? Number(walkIn.guests) : undefined;
286
+ const guestsProblem = CommerceModel.reservationGuestsProblem(guests, resource);
287
+ if (guestsProblem) {
288
+ return void enqueueSnackbar(guestsProblem, {
289
+ variant: 'warning',
290
+ persist: false
291
+ });
292
+ }
250
293
  /*
251
294
  * The stay is priced FIRST, and its `problem` stops the walk-in: the quote
252
295
  * is the one rule for what can be booked (no nights, under the minimum
@@ -305,14 +348,17 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
305
348
  headers: {
306
349
  'Content-Type': 'application/json'
307
350
  },
308
- body: JSON.stringify({
351
+ body: JSON.stringify(_extends({
309
352
  hostId,
310
353
  resourceId: walkIn.resourceId,
311
354
  checkInDayMs,
312
355
  checkOutDayMs,
313
- guestName: walkIn.guestName || undefined,
356
+ guestName: walkIn.guestName || undefined
357
+ }, guests !== undefined ? {
358
+ guests
359
+ } : {}, {
314
360
  reservationId: walkIn.attemptId
315
- })
361
+ }))
316
362
  });
317
363
  const answer = await response.json().catch(()=>({}));
318
364
  if (!response.ok) {
@@ -401,6 +447,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
401
447
  }),
402
448
  /*#__PURE__*/ _jsx(Button, {
403
449
  size: "small",
450
+ disabled: !canManage,
404
451
  onClick: ()=>setResourceDraft(_extends({
405
452
  id: resource.$id
406
453
  }, resource)),
@@ -409,6 +456,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
409
456
  /*#__PURE__*/ _jsx(Button, {
410
457
  size: "small",
411
458
  color: "error",
459
+ disabled: !canManage,
412
460
  onClick: async ()=>{
413
461
  const confirmed = await confirm({
414
462
  title: 'Remove this resource?',
@@ -436,7 +484,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
436
484
  children: unitsAhead[resource.$id].map((night)=>/*#__PURE__*/ _jsx(Chip, {
437
485
  size: "small",
438
486
  variant: "outlined",
439
- color: night.unitsLeft === 0 ? 'error' : night.unitsLeft <= CommerceModel.FEW_UNITS_LEFT ? 'warning' : 'default',
487
+ color: night.unitsLeft === 0 ? 'error' : night.unitsLeft <= CommerceModel.resourceFewLeftAt(resource) ? 'warning' : 'default',
440
488
  label: `${nightLabel(night.dayMs)} · ${night.unitsLeft} of ${night.units} left`
441
489
  }, night.dayMs))
442
490
  }) : null
@@ -448,6 +496,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
448
496
  children: [
449
497
  /*#__PURE__*/ _jsx(Button, {
450
498
  size: "small",
499
+ disabled: !canManage,
451
500
  onClick: ()=>setResourceDraft({
452
501
  id: null,
453
502
  name: '',
@@ -459,7 +508,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
459
508
  }),
460
509
  /*#__PURE__*/ _jsx(Button, {
461
510
  size: "small",
462
- disabled: ((_ref = resourceDocs == null ? void 0 : resourceDocs.length) != null ? _ref : 0) === 0,
511
+ disabled: !canWalkIn || ((_ref = resourceDocs == null ? void 0 : resourceDocs.length) != null ? _ref : 0) === 0,
463
512
  onClick: ()=>{
464
513
  var _ref;
465
514
  var _resourceDocs_;
@@ -468,6 +517,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
468
517
  checkIn: '',
469
518
  checkOut: '',
470
519
  guestName: '',
520
+ guests: '',
471
521
  attemptId: Aglyn.createResourceUid()
472
522
  });
473
523
  },
@@ -475,6 +525,11 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
475
525
  })
476
526
  ]
477
527
  }),
528
+ missing.map((reason)=>/*#__PURE__*/ _jsx(Typography, {
529
+ variant: "caption",
530
+ color: "text.secondary",
531
+ children: reason
532
+ }, reason)),
478
533
  /*#__PURE__*/ _jsx(Typography, {
479
534
  variant: "subtitle2",
480
535
  sx: {
@@ -512,6 +567,9 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
512
567
  noWrap: true,
513
568
  children: [
514
569
  (_ref = (_reservation_guestName = reservation.guestName) != null ? _reservation_guestName : reservation.guestEmail) != null ? _ref : 'Guest',
570
+ ...reservation.guests ? [
571
+ `${CommerceModel.reservationGuests(reservation)} guest${CommerceModel.reservationGuests(reservation) === 1 ? '' : 's'}`
572
+ ] : [],
515
573
  `${usd(reservation.paidCents)} / ${usd(reservation.totalCents)} paid`
516
574
  ].join(' · ')
517
575
  })
@@ -527,12 +585,14 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
527
585
  children: [
528
586
  /*#__PURE__*/ _jsx(Button, {
529
587
  size: "small",
588
+ disabled: !canManage,
530
589
  onClick: handleStatus(reservation, 'checked_in'),
531
590
  children: 'Check in'
532
591
  }),
533
592
  /*#__PURE__*/ _jsx(Button, {
534
593
  size: "small",
535
594
  color: "error",
595
+ disabled: !canManage,
536
596
  onClick: handleStatus(reservation, 'no_show'),
537
597
  children: 'No-show'
538
598
  })
@@ -540,6 +600,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
540
600
  }) : null,
541
601
  reservation.status === 'checked_in' ? /*#__PURE__*/ _jsx(Button, {
542
602
  size: "small",
603
+ disabled: !canManage,
543
604
  onClick: async ()=>{
544
605
  var _reservation_folio, _reservation_totalCents, _reservation_paidCents;
545
606
  // Folio settlement (AGL-317): surface unpaid room
@@ -562,12 +623,19 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
562
623
  },
563
624
  children: 'Check out'
564
625
  }) : null,
626
+ GUESTS_OPEN_STATUSES.includes(reservation.status) ? /*#__PURE__*/ _jsx(Button, {
627
+ size: "small",
628
+ disabled: !canWalkIn,
629
+ onClick: ()=>setGuestsFor(reservation.$id),
630
+ children: 'Guests'
631
+ }) : null,
565
632
  [
566
633
  'pending',
567
634
  'confirmed'
568
635
  ].includes(reservation.status) ? /*#__PURE__*/ _jsx(Button, {
569
636
  size: "small",
570
637
  color: "error",
638
+ disabled: !canManage,
571
639
  onClick: handleStatus(reservation, 'cancelled'),
572
640
  children: 'Cancel'
573
641
  }) : null
@@ -584,6 +652,21 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
584
652
  })
585
653
  ]
586
654
  }),
655
+ guestsFor ? /*#__PURE__*/ _jsx(Suspense, {
656
+ fallback: null,
657
+ children: /*#__PURE__*/ _jsx(ReservationGuestsDialog, {
658
+ reservationId: guestsFor,
659
+ hostId: hostId,
660
+ onClose: ()=>setGuestsFor(null),
661
+ onDone: (answer)=>{
662
+ setGuestsFor(null);
663
+ enqueueSnackbar(answer.unchanged ? `Still ${answer.guests} guest${answer.guests === 1 ? '' : 's'}` : `Guests changed to ${answer.guests}`, {
664
+ variant: 'success',
665
+ persist: false
666
+ });
667
+ }
668
+ })
669
+ }) : null,
587
670
  /*#__PURE__*/ _jsxs(Dialog, {
588
671
  open: Boolean(resourceDraft),
589
672
  onClose: ()=>setResourceDraft(null),
@@ -651,13 +734,51 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
651
734
  })
652
735
  ]
653
736
  }),
737
+ CommerceModel.resourceUnits(resourceDraft) > 1 ? /*#__PURE__*/ _jsx(TextField, {
738
+ label: "Show “Only N left” at",
739
+ placeholder: String(CommerceModel.FEW_UNITS_LEFT),
740
+ value: (_ref4 = resourceDraft == null ? void 0 : resourceDraft.fewLeftAt) != null ? _ref4 : '',
741
+ onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
742
+ fewLeftAt: event.target.value.replace(/\D/g, '') === '' ? undefined : Number(event.target.value.replace(/\D/g, ''))
743
+ }) : prev),
744
+ error: Boolean(fewLeftAtProblem(resourceDraft == null ? void 0 : resourceDraft.fewLeftAt)),
745
+ helperText: (_fewLeftAtProblem = fewLeftAtProblem(resourceDraft == null ? void 0 : resourceDraft.fewLeftAt)) != null ? _fewLeftAtProblem : 'The booking widget says “Only 2 left” once this many or fewer are free on a night. 0 never shows it.',
746
+ size: "small",
747
+ fullWidth: true,
748
+ slotProps: {
749
+ htmlInput: {
750
+ inputMode: 'numeric'
751
+ }
752
+ }
753
+ }) : null,
754
+ /*#__PURE__*/ _jsxs(TextField, {
755
+ select: true,
756
+ label: "At check-in",
757
+ value: (resourceDraft == null ? void 0 : resourceDraft.checkInPerGuest) ? 'guest' : 'stay',
758
+ onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
759
+ checkInPerGuest: event.target.value === 'guest'
760
+ }) : prev),
761
+ helperText: "One per guest gives each guest their own check-in and wristband. The check-in screen can set every stay at once.",
762
+ size: "small",
763
+ fullWidth: true,
764
+ children: [
765
+ /*#__PURE__*/ _jsx(MenuItem, {
766
+ value: "stay",
767
+ children: 'One check-in per stay'
768
+ }),
769
+ /*#__PURE__*/ _jsx(MenuItem, {
770
+ value: "guest",
771
+ children: 'One check-in per guest'
772
+ })
773
+ ]
774
+ }),
654
775
  /*#__PURE__*/ _jsxs(Stack, {
655
776
  direction: "row",
656
777
  spacing: 1,
657
778
  children: [
658
779
  /*#__PURE__*/ _jsx(TextField, {
659
780
  label: "Nightly rate ($)",
660
- value: (_ref4 = resourceDraft == null ? void 0 : resourceDraft.nightlyRateUsd) != null ? _ref4 : '',
781
+ value: (_ref5 = resourceDraft == null ? void 0 : resourceDraft.nightlyRateUsd) != null ? _ref5 : '',
661
782
  onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
662
783
  nightlyRateUsd: Number(event.target.value) || 0
663
784
  }) : prev),
@@ -671,7 +792,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
671
792
  /*#__PURE__*/ _jsx(TextField, {
672
793
  label: "Weekend ×",
673
794
  placeholder: "1",
674
- value: (_ref5 = resourceDraft == null ? void 0 : resourceDraft.weekendMultiplier) != null ? _ref5 : '',
795
+ value: (_ref6 = resourceDraft == null ? void 0 : resourceDraft.weekendMultiplier) != null ? _ref6 : '',
675
796
  onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
676
797
  weekendMultiplier: Number(event.target.value) || undefined
677
798
  }) : prev),
@@ -690,7 +811,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
690
811
  children: [
691
812
  /*#__PURE__*/ _jsx(TextField, {
692
813
  label: "Min nights",
693
- value: (_ref6 = resourceDraft == null ? void 0 : resourceDraft.minNights) != null ? _ref6 : '',
814
+ value: (_ref7 = resourceDraft == null ? void 0 : resourceDraft.minNights) != null ? _ref7 : '',
694
815
  onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
695
816
  minNights: Math.round(Number(event.target.value)) || undefined
696
817
  }) : prev),
@@ -704,7 +825,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
704
825
  /*#__PURE__*/ _jsx(TextField, {
705
826
  label: "Deposit %",
706
827
  placeholder: "100 = pay in full",
707
- value: (_ref7 = resourceDraft == null ? void 0 : resourceDraft.depositPct) != null ? _ref7 : '',
828
+ value: (_ref8 = resourceDraft == null ? void 0 : resourceDraft.depositPct) != null ? _ref8 : '',
708
829
  onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
709
830
  depositPct: Math.round(Number(event.target.value)) || undefined
710
831
  }) : prev),
@@ -717,7 +838,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
717
838
  }),
718
839
  /*#__PURE__*/ _jsx(TextField, {
719
840
  label: "Free cancel (hrs)",
720
- value: (_ref8 = resourceDraft == null ? void 0 : resourceDraft.cancellationHours) != null ? _ref8 : '',
841
+ value: (_ref9 = resourceDraft == null ? void 0 : resourceDraft.cancellationHours) != null ? _ref9 : '',
721
842
  onChange: (event)=>setResourceDraft((prev)=>prev ? _extends({}, prev, {
722
843
  cancellationHours: Math.round(Number(event.target.value)) || undefined
723
844
  }) : prev),
@@ -741,7 +862,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
741
862
  /*#__PURE__*/ _jsx(Button, {
742
863
  variant: "contained",
743
864
  color: "primary",
744
- disabled: !(resourceDraft == null ? void 0 : (_resourceDraft_name = resourceDraft.name) == null ? void 0 : _resourceDraft_name.trim()) || !(((_ref9 = resourceDraft == null ? void 0 : resourceDraft.nightlyRateUsd) != null ? _ref9 : 0) > 0) || Boolean(unitsProblem(resourceDraft == null ? void 0 : resourceDraft.units)),
865
+ disabled: !(resourceDraft == null ? void 0 : (_resourceDraft_name = resourceDraft.name) == null ? void 0 : _resourceDraft_name.trim()) || !(((_ref10 = resourceDraft == null ? void 0 : resourceDraft.nightlyRateUsd) != null ? _ref10 : 0) > 0) || Boolean(unitsProblem(resourceDraft == null ? void 0 : resourceDraft.units)) || Boolean(fewLeftAtProblem(resourceDraft == null ? void 0 : resourceDraft.fewLeftAt)),
745
866
  onClick: handleResourceSave,
746
867
  children: 'Save'
747
868
  })
@@ -767,7 +888,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
767
888
  children: [
768
889
  /*#__PURE__*/ _jsx(TextField, {
769
890
  label: "Resource",
770
- value: (_ref10 = walkIn == null ? void 0 : walkIn.resourceId) != null ? _ref10 : '',
891
+ value: (_ref11 = walkIn == null ? void 0 : walkIn.resourceId) != null ? _ref11 : '',
771
892
  onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
772
893
  resourceId: event.target.value
773
894
  }) : prev),
@@ -788,7 +909,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
788
909
  /*#__PURE__*/ _jsx(TextField, {
789
910
  label: "Check-in",
790
911
  type: "date",
791
- value: (_ref11 = walkIn == null ? void 0 : walkIn.checkIn) != null ? _ref11 : '',
912
+ value: (_ref12 = walkIn == null ? void 0 : walkIn.checkIn) != null ? _ref12 : '',
792
913
  onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
793
914
  checkIn: event.target.value
794
915
  }) : prev),
@@ -803,7 +924,7 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
803
924
  /*#__PURE__*/ _jsx(TextField, {
804
925
  label: "Check-out",
805
926
  type: "date",
806
- value: (_ref12 = walkIn == null ? void 0 : walkIn.checkOut) != null ? _ref12 : '',
927
+ value: (_ref13 = walkIn == null ? void 0 : walkIn.checkOut) != null ? _ref13 : '',
807
928
  onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
808
929
  checkOut: event.target.value
809
930
  }) : prev),
@@ -819,11 +940,25 @@ const nightLabel = (dayMs)=>new Date(dayMs).toLocaleDateString('en-US', {
819
940
  }),
820
941
  /*#__PURE__*/ _jsx(TextField, {
821
942
  label: "Guest name",
822
- value: (_ref13 = walkIn == null ? void 0 : walkIn.guestName) != null ? _ref13 : '',
943
+ value: (_ref14 = walkIn == null ? void 0 : walkIn.guestName) != null ? _ref14 : '',
823
944
  onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
824
945
  guestName: event.target.value
825
946
  }) : prev),
826
947
  size: "small"
948
+ }),
949
+ /*#__PURE__*/ _jsx(TextField, {
950
+ label: "Guests",
951
+ value: (_ref15 = walkIn == null ? void 0 : walkIn.guests) != null ? _ref15 : '',
952
+ onChange: (event)=>setWalkIn((prev)=>prev ? _extends({}, prev, {
953
+ guests: event.target.value.replace(/\D/g, '')
954
+ }) : prev),
955
+ helperText: `Optional, up to ${CommerceModel.resourceGuestCeiling((resourceDocs != null ? resourceDocs : []).find((item)=>item.$id === (walkIn == null ? void 0 : walkIn.resourceId)))}. Each guest gets a check-in when the stay is checked in per guest.`,
956
+ size: "small",
957
+ slotProps: {
958
+ htmlInput: {
959
+ inputMode: 'numeric'
960
+ }
961
+ }
827
962
  })
828
963
  ]
829
964
  }),