@aglyn/plugins-commerce 1.0.0-beta.285 → 1.0.0-beta.288
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +13 -13
- package/src/lib/components/cart.js +25 -12
- package/src/lib/components/cart.js.map +1 -1
- package/src/lib/components/commerce-console-page.js +70 -13
- package/src/lib/components/commerce-console-page.js.map +1 -1
- package/src/lib/components/console/order-detail-dialog.component.js +2 -1
- package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
- package/src/lib/components/console/order-webhooks-card.component.js +1 -1
- package/src/lib/components/console/order-webhooks-card.component.js.map +1 -1
- package/src/lib/components/console/payment-methods-card.component.js +1 -1
- package/src/lib/components/console/payment-methods-card.component.js.map +1 -1
- package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +5 -0
- package/src/lib/components/console/pos/pos-cart-panel.component.js +18 -12
- package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -1
- package/src/lib/components/console/pos/pos-hardware-api.d.ts +76 -5
- package/src/lib/components/console/pos/pos-hardware-api.js +53 -11
- package/src/lib/components/console/pos/pos-hardware-api.js.map +1 -1
- package/src/lib/components/console/pos/pos-hardware-buyer.component.d.ts +18 -0
- package/src/lib/components/console/pos/pos-hardware-buyer.component.js +629 -0
- package/src/lib/components/console/pos/pos-hardware-buyer.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-hardware-sale-api.d.ts +162 -0
- package/src/lib/components/console/pos/pos-hardware-sale-api.js +122 -0
- package/src/lib/components/console/pos/pos-hardware-sale-api.js.map +1 -0
- package/src/lib/components/console/pos/pos-hardware-sale-terms.component.d.ts +39 -0
- package/src/lib/components/console/pos/pos-hardware-sale-terms.component.js +251 -0
- package/src/lib/components/console/pos/pos-hardware-sale-terms.component.js.map +1 -0
- package/src/lib/components/console/pos/use-pos-display.js +50 -0
- package/src/lib/components/console/pos/use-pos-display.js.map +1 -1
- package/src/lib/components/console/pos-cellular-control.component.d.ts +41 -0
- package/src/lib/components/console/pos-cellular-control.component.js +211 -0
- package/src/lib/components/console/pos-cellular-control.component.js.map +1 -0
- package/src/lib/components/console/pos-devices-card.component.d.ts +9 -1
- package/src/lib/components/console/pos-devices-card.component.js +47 -15
- package/src/lib/components/console/pos-devices-card.component.js.map +1 -1
- package/src/lib/components/console/pos-display/pos-display-api.d.ts +6 -0
- package/src/lib/components/console/pos-display/pos-display-api.js +8 -1
- package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -1
- package/src/lib/components/console/pos-display-page.component.d.ts +13 -0
- package/src/lib/components/console/pos-display-page.component.js +44 -2
- package/src/lib/components/console/pos-display-page.component.js.map +1 -1
- package/src/lib/components/console/pos-hardware-card.component.d.ts +12 -4
- package/src/lib/components/console/pos-hardware-card.component.js +157 -36
- package/src/lib/components/console/pos-hardware-card.component.js.map +1 -1
- package/src/lib/components/console/pos-hardware-orders-staff-page.component.js +360 -80
- package/src/lib/components/console/pos-hardware-orders-staff-page.component.js.map +1 -1
- package/src/lib/components/console/pos-hardware-terms-page.component.d.ts +34 -0
- package/src/lib/components/console/pos-hardware-terms-page.component.js +257 -0
- package/src/lib/components/console/pos-hardware-terms-page.component.js.map +1 -0
- package/src/lib/components/console/pos-hardware-terms-sign-page.component.d.ts +27 -0
- package/src/lib/components/console/pos-hardware-terms-sign-page.component.js +104 -0
- package/src/lib/components/console/pos-hardware-terms-sign-page.component.js.map +1 -0
- package/src/lib/components/console/pos-hardware-waiting-card.component.d.ts +24 -0
- package/src/lib/components/console/pos-hardware-waiting-card.component.js +205 -0
- package/src/lib/components/console/pos-hardware-waiting-card.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js +297 -201
- package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js.map +1 -1
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.d.ts +3 -0
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js +260 -92
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js.map +1 -1
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +9 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +15 -6
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -1
- package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.d.ts +25 -0
- package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.js +136 -0
- package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +6 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +48 -31
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -1
- package/src/lib/components/console/pos-page.component.d.ts +1 -1
- package/src/lib/components/console/pos-page.component.js +63 -12
- package/src/lib/components/console/pos-page.component.js.map +1 -1
- package/src/lib/components/console/pos-reader-splash-setting.component.js +1 -1
- package/src/lib/components/console/pos-reader-splash-setting.component.js.map +1 -1
- package/src/lib/components/console/product-check-in-fields.component.d.ts +4 -2
- package/src/lib/components/console/product-check-in-fields.component.js +60 -14
- package/src/lib/components/console/product-check-in-fields.component.js.map +1 -1
- package/src/lib/components/console/product-editor-dialog.component.js +44 -1
- package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
- package/src/lib/components/console/product-hardware-sku-field.component.d.ts +19 -0
- package/src/lib/components/console/product-hardware-sku-field.component.js +92 -0
- package/src/lib/components/console/product-hardware-sku-field.component.js.map +1 -0
- package/src/lib/components/console/product-kiosk-offer-field.component.d.ts +22 -0
- package/src/lib/components/console/product-kiosk-offer-field.component.js +94 -0
- package/src/lib/components/console/product-kiosk-offer-field.component.js.map +1 -0
- package/src/lib/components/console/product-register-fields.component.d.ts +4 -0
- package/src/lib/components/console/product-register-fields.component.js +31 -2
- package/src/lib/components/console/product-register-fields.component.js.map +1 -1
- package/src/lib/components/console/products-hub-card.component.js +11 -2
- package/src/lib/components/console/products-hub-card.component.js.map +1 -1
- package/src/lib/components/console/register-hardware-card.component.d.ts +11 -0
- package/src/lib/components/console/register-hardware-card.component.js +56 -27
- package/src/lib/components/console/register-hardware-card.component.js.map +1 -1
- package/src/lib/components/console/reservation-guests-dialog.component.d.ts +28 -0
- package/src/lib/components/console/reservation-guests-dialog.component.js +189 -0
- package/src/lib/components/console/reservation-guests-dialog.component.js.map +1 -0
- package/src/lib/components/console/reservations-card.component.d.ts +9 -0
- package/src/lib/components/console/reservations-card.component.js +158 -23
- package/src/lib/components/console/reservations-card.component.js.map +1 -1
- package/src/lib/components/console/shippingeasy-card.component.js +1 -1
- package/src/lib/components/console/shippingeasy-card.component.js.map +1 -1
- package/src/lib/components/console/shipstation-card.component.d.ts +1 -1
- package/src/lib/components/console/shipstation-card.component.js +3 -3
- package/src/lib/components/console/shipstation-card.component.js.map +1 -1
- package/src/lib/components/product-detail.d.ts +4 -0
- package/src/lib/components/product-detail.js +40 -5
- package/src/lib/components/product-detail.js.map +1 -1
- package/src/lib/components/product-reviews.js +28 -11
- package/src/lib/components/product-reviews.js.map +1 -1
- package/src/lib/components/reservation-widget.js +28 -5
- package/src/lib/components/reservation-widget.js.map +1 -1
- package/src/lib/components/use-day-picker.d.ts +25 -0
- package/src/lib/components/use-day-picker.js +57 -0
- package/src/lib/components/use-day-picker.js.map +1 -0
- package/src/lib/constants/operator-alerts.d.ts +55 -0
- package/src/lib/constants/operator-alerts.js +156 -1
- package/src/lib/constants/operator-alerts.js.map +1 -1
- package/src/lib/declarations.console-server.js +54 -1
- package/src/lib/declarations.console-server.js.map +1 -1
- package/src/lib/declarations.d.ts +4 -2
- package/src/lib/declarations.js +15 -4
- package/src/lib/declarations.js.map +1 -1
- package/src/lib/declarations.server.js +9 -0
- package/src/lib/declarations.server.js.map +1 -1
- package/src/lib/model/commerce-cart.d.ts +9 -1
- package/src/lib/model/commerce-cart.js +4 -3
- package/src/lib/model/commerce-cart.js.map +1 -1
- package/src/lib/model/commerce-check-in-product.d.ts +26 -0
- package/src/lib/model/commerce-check-in-product.js +64 -2
- package/src/lib/model/commerce-check-in-product.js.map +1 -1
- package/src/lib/model/commerce-check-in-record.d.ts +127 -0
- package/src/lib/model/commerce-check-in-record.js +36 -0
- package/src/lib/model/commerce-check-in-record.js.map +1 -0
- package/src/lib/model/commerce-check-in.d.ts +91 -87
- package/src/lib/model/commerce-check-in.js +186 -62
- package/src/lib/model/commerce-check-in.js.map +1 -1
- package/src/lib/model/commerce-kiosk-offer.d.ts +31 -0
- package/src/lib/model/commerce-kiosk-offer.js +35 -0
- package/src/lib/model/commerce-kiosk-offer.js.map +1 -0
- package/src/lib/model/commerce-orders.d.ts +76 -0
- package/src/lib/model/commerce-orders.js +6 -0
- package/src/lib/model/commerce-orders.js.map +1 -1
- package/src/lib/model/commerce-pos-day-report.d.ts +54 -1
- package/src/lib/model/commerce-pos-day-report.js +39 -2
- package/src/lib/model/commerce-pos-day-report.js.map +1 -1
- package/src/lib/model/commerce-pos-offline.d.ts +1 -1
- package/src/lib/model/commerce-pos-offline.js +6 -1
- package/src/lib/model/commerce-pos-offline.js.map +1 -1
- package/src/lib/model/commerce-pos-ops.js +3 -2
- package/src/lib/model/commerce-pos-ops.js.map +1 -1
- package/src/lib/model/commerce-pos.d.ts +36 -3
- package/src/lib/model/commerce-pos.js +14 -6
- package/src/lib/model/commerce-pos.js.map +1 -1
- package/src/lib/model/commerce-receipt.js +3 -2
- package/src/lib/model/commerce-receipt.js.map +1 -1
- package/src/lib/model/commerce-reservations.d.ts +69 -4
- package/src/lib/model/commerce-reservations.js +57 -5
- package/src/lib/model/commerce-reservations.js.map +1 -1
- package/src/lib/model/commerce.d.ts +66 -0
- package/src/lib/model/commerce.js +15 -0
- package/src/lib/model/commerce.js.map +1 -1
- package/src/lib/model/order-list-fields.d.ts +11 -0
- package/src/lib/model/order-list-fields.js +17 -1
- package/src/lib/model/order-list-fields.js.map +1 -1
- package/src/lib/model/own-store-tax-summary.d.ts +152 -0
- package/src/lib/model/own-store-tax-summary.js +288 -0
- package/src/lib/model/own-store-tax-summary.js.map +1 -0
- package/src/lib/model/plugin-permissions.d.ts +74 -0
- package/src/lib/model/plugin-permissions.js +224 -7
- package/src/lib/model/plugin-permissions.js.map +1 -1
- package/src/lib/model/pos-cellular.d.ts +223 -0
- package/src/lib/model/pos-cellular.js +293 -0
- package/src/lib/model/pos-cellular.js.map +1 -0
- package/src/lib/model/pos-hardware-in-person.d.ts +98 -0
- package/src/lib/model/pos-hardware-in-person.js +224 -0
- package/src/lib/model/pos-hardware-in-person.js.map +1 -0
- package/src/lib/model/pos-hardware-tax-summary.d.ts +166 -0
- package/src/lib/model/pos-hardware-tax-summary.js +225 -0
- package/src/lib/model/pos-hardware-tax-summary.js.map +1 -0
- package/src/lib/model/pos-hardware-terms.d.ts +74 -0
- package/src/lib/model/pos-hardware-terms.js +115 -0
- package/src/lib/model/pos-hardware-terms.js.map +1 -0
- package/src/lib/model/pos-hardware.d.ts +349 -7
- package/src/lib/model/pos-hardware.js +291 -20
- package/src/lib/model/pos-hardware.js.map +1 -1
- package/src/lib/model/product-write.d.ts +10 -0
- package/src/lib/model/product-write.js +4 -2
- package/src/lib/model/product-write.js.map +1 -1
- package/src/lib/model/workspace-site-permissions.d.ts +26 -0
- package/src/lib/model/workspace-site-permissions.js +81 -0
- package/src/lib/model/workspace-site-permissions.js.map +1 -0
- package/src/lib/plugin.js +16 -0
- package/src/lib/plugin.js.map +1 -1
- package/src/lib/server/billing-webhook.js +25 -1
- package/src/lib/server/billing-webhook.js.map +1 -1
- package/src/lib/server/cancel-order.js +7 -5
- package/src/lib/server/cancel-order.js.map +1 -1
- package/src/lib/server/cart-checkout.js +20 -8
- package/src/lib/server/cart-checkout.js.map +1 -1
- package/src/lib/server/cart.js +29 -0
- package/src/lib/server/cart.js.map +1 -1
- package/src/lib/server/checkout.js +42 -13
- package/src/lib/server/checkout.js.map +1 -1
- package/src/lib/server/collection-membership.d.ts +4 -0
- package/src/lib/server/collection-membership.js +5 -10
- package/src/lib/server/collection-membership.js.map +1 -1
- package/src/lib/server/commerce-site-keys.d.ts +48 -0
- package/src/lib/server/commerce-site-keys.js +61 -0
- package/src/lib/server/commerce-site-keys.js.map +1 -0
- package/src/lib/server/draft-order.js +8 -5
- package/src/lib/server/draft-order.js.map +1 -1
- package/src/lib/server/fulfill-order.js +7 -5
- package/src/lib/server/fulfill-order.js.map +1 -1
- package/src/lib/server/gift-cards.js +8 -5
- package/src/lib/server/gift-cards.js.map +1 -1
- package/src/lib/server/local-fulfillment-status.js +9 -6
- package/src/lib/server/local-fulfillment-status.js.map +1 -1
- package/src/lib/server/member-post.js +6 -5
- package/src/lib/server/member-post.js.map +1 -1
- package/src/lib/server/membership-admin-password.d.ts +4 -2
- package/src/lib/server/membership-admin-password.js +10 -8
- package/src/lib/server/membership-admin-password.js.map +1 -1
- package/src/lib/server/membership-admin-remove.d.ts +7 -5
- package/src/lib/server/membership-admin-remove.js +9 -9
- package/src/lib/server/membership-admin-remove.js.map +1 -1
- package/src/lib/server/order-notifications.js +5 -2
- package/src/lib/server/order-notifications.js.map +1 -1
- package/src/lib/server/order-print.js +7 -5
- package/src/lib/server/order-print.js.map +1 -1
- package/src/lib/server/order-receipt-send.js +8 -5
- package/src/lib/server/order-receipt-send.js.map +1 -1
- package/src/lib/server/order-webhooks.js +8 -8
- package/src/lib/server/order-webhooks.js.map +1 -1
- package/src/lib/server/orders-shipping-prepare.js +9 -6
- package/src/lib/server/orders-shipping-prepare.js.map +1 -1
- package/src/lib/server/own-store-tax-return-source.d.ts +47 -0
- package/src/lib/server/own-store-tax-return-source.js +312 -0
- package/src/lib/server/own-store-tax-return-source.js.map +1 -0
- package/src/lib/server/payment-methods.js +13 -9
- package/src/lib/server/payment-methods.js.map +1 -1
- package/src/lib/server/pos-auth.d.ts +37 -6
- package/src/lib/server/pos-auth.js +40 -15
- package/src/lib/server/pos-auth.js.map +1 -1
- package/src/lib/server/pos-cellular-billing.d.ts +81 -0
- package/src/lib/server/pos-cellular-billing.js +711 -0
- package/src/lib/server/pos-cellular-billing.js.map +1 -0
- package/src/lib/server/pos-cellular-notify.d.ts +47 -0
- package/src/lib/server/pos-cellular-notify.js +150 -0
- package/src/lib/server/pos-cellular-notify.js.map +1 -0
- package/src/lib/server/pos-cellular.d.ts +88 -0
- package/src/lib/server/pos-cellular.js +339 -0
- package/src/lib/server/pos-cellular.js.map +1 -0
- package/src/lib/server/pos-check-in.d.ts +5 -1
- package/src/lib/server/pos-check-in.js +296 -28
- package/src/lib/server/pos-check-in.js.map +1 -1
- package/src/lib/server/pos-day-report.js +29 -3
- package/src/lib/server/pos-day-report.js.map +1 -1
- package/src/lib/server/pos-display.d.ts +16 -0
- package/src/lib/server/pos-display.js +129 -2
- package/src/lib/server/pos-display.js.map +1 -1
- package/src/lib/server/pos-hardware-admin.d.ts +10 -1
- package/src/lib/server/pos-hardware-admin.js +250 -84
- package/src/lib/server/pos-hardware-admin.js.map +1 -1
- package/src/lib/server/pos-hardware-attach.d.ts +105 -0
- package/src/lib/server/pos-hardware-attach.js +443 -0
- package/src/lib/server/pos-hardware-attach.js.map +1 -0
- package/src/lib/server/pos-hardware-buyer-lookup.d.ts +58 -0
- package/src/lib/server/pos-hardware-buyer-lookup.js +180 -0
- package/src/lib/server/pos-hardware-buyer-lookup.js.map +1 -0
- package/src/lib/server/pos-hardware-buyer-record.d.ts +29 -0
- package/src/lib/server/pos-hardware-buyer-record.js +86 -0
- package/src/lib/server/pos-hardware-buyer-record.js.map +1 -0
- package/src/lib/server/pos-hardware-cancel.d.ts +58 -0
- package/src/lib/server/pos-hardware-cancel.js +147 -0
- package/src/lib/server/pos-hardware-cancel.js.map +1 -0
- package/src/lib/server/pos-hardware-closure-notices.d.ts +27 -0
- package/src/lib/server/pos-hardware-closure-notices.js +85 -0
- package/src/lib/server/pos-hardware-closure-notices.js.map +1 -0
- package/src/lib/server/pos-hardware-closure.d.ts +60 -0
- package/src/lib/server/pos-hardware-closure.js +153 -0
- package/src/lib/server/pos-hardware-closure.js.map +1 -0
- package/src/lib/server/pos-hardware-in-person.d.ts +61 -0
- package/src/lib/server/pos-hardware-in-person.js +236 -0
- package/src/lib/server/pos-hardware-in-person.js.map +1 -0
- package/src/lib/server/pos-hardware-notify.d.ts +40 -2
- package/src/lib/server/pos-hardware-notify.js +195 -14
- package/src/lib/server/pos-hardware-notify.js.map +1 -1
- package/src/lib/server/pos-hardware-readers.d.ts +115 -0
- package/src/lib/server/pos-hardware-readers.js +430 -0
- package/src/lib/server/pos-hardware-readers.js.map +1 -0
- package/src/lib/server/pos-hardware-returns.d.ts +116 -0
- package/src/lib/server/pos-hardware-returns.js +502 -0
- package/src/lib/server/pos-hardware-returns.js.map +1 -0
- package/src/lib/server/pos-hardware-sale-fields.d.ts +28 -0
- package/src/lib/server/pos-hardware-sale-fields.js +44 -0
- package/src/lib/server/pos-hardware-sale-fields.js.map +1 -0
- package/src/lib/server/pos-hardware-sale.d.ts +54 -0
- package/src/lib/server/pos-hardware-sale.js +369 -0
- package/src/lib/server/pos-hardware-sale.js.map +1 -0
- package/src/lib/server/pos-hardware-tax-return-source.d.ts +99 -0
- package/src/lib/server/pos-hardware-tax-return-source.js +462 -0
- package/src/lib/server/pos-hardware-tax-return-source.js.map +1 -0
- package/src/lib/server/pos-hardware-terms.d.ts +64 -0
- package/src/lib/server/pos-hardware-terms.js +154 -0
- package/src/lib/server/pos-hardware-terms.js.map +1 -0
- package/src/lib/server/pos-hardware-user-eraser.d.ts +3 -0
- package/src/lib/server/pos-hardware-user-eraser.js +31 -7
- package/src/lib/server/pos-hardware-user-eraser.js.map +1 -1
- package/src/lib/server/pos-hardware-webhook.d.ts +5 -0
- package/src/lib/server/pos-hardware-webhook.js +51 -6
- package/src/lib/server/pos-hardware-webhook.js.map +1 -1
- package/src/lib/server/pos-hardware.d.ts +74 -1
- package/src/lib/server/pos-hardware.js +175 -10
- package/src/lib/server/pos-hardware.js.map +1 -1
- package/src/lib/server/pos-kiosk.d.ts +2 -0
- package/src/lib/server/pos-kiosk.js +17 -12
- package/src/lib/server/pos-kiosk.js.map +1 -1
- package/src/lib/server/pos-offline-card-order.d.ts +64 -0
- package/src/lib/server/pos-offline-card-order.js +102 -0
- package/src/lib/server/pos-offline-card-order.js.map +1 -0
- package/src/lib/server/pos-offline-card-reconcile.d.ts +67 -1
- package/src/lib/server/pos-offline-card-reconcile.js +215 -18
- package/src/lib/server/pos-offline-card-reconcile.js.map +1 -1
- package/src/lib/server/pos-offline-sync.d.ts +39 -0
- package/src/lib/server/pos-offline-sync.js +190 -55
- package/src/lib/server/pos-offline-sync.js.map +1 -1
- package/src/lib/server/pos-ops-gate.d.ts +28 -9
- package/src/lib/server/pos-ops-gate.js +50 -19
- package/src/lib/server/pos-ops-gate.js.map +1 -1
- package/src/lib/server/pos-ops-routes.js +24 -0
- package/src/lib/server/pos-ops-routes.js.map +1 -1
- package/src/lib/server/pos-order-refund-ids.d.ts +28 -0
- package/src/lib/server/pos-order-refund-ids.js +31 -0
- package/src/lib/server/pos-order-refund-ids.js.map +1 -0
- package/src/lib/server/pos-order.js +52 -49
- package/src/lib/server/pos-order.js.map +1 -1
- package/src/lib/server/pos-payment.js +1 -1
- package/src/lib/server/pos-payment.js.map +1 -1
- package/src/lib/server/pos-reader-splash-admin.js +30 -32
- package/src/lib/server/pos-reader-splash-admin.js.map +1 -1
- package/src/lib/server/pos-reader-splash-images-route.d.ts +17 -0
- package/src/lib/server/pos-reader-splash-images-route.js +113 -0
- package/src/lib/server/pos-reader-splash-images-route.js.map +1 -0
- package/src/lib/server/pos-reader-splash-images.d.ts +51 -0
- package/src/lib/server/pos-reader-splash-images.js +123 -0
- package/src/lib/server/pos-reader-splash-images.js.map +1 -0
- package/src/lib/server/pos-reader-splash.d.ts +68 -1
- package/src/lib/server/pos-reader-splash.js +182 -11
- package/src/lib/server/pos-reader-splash.js.map +1 -1
- package/src/lib/server/pos-readers.d.ts +29 -0
- package/src/lib/server/pos-readers.js +134 -35
- package/src/lib/server/pos-readers.js.map +1 -1
- package/src/lib/server/pos-refund-authority.d.ts +3 -1
- package/src/lib/server/pos-refund-authority.js +3 -2
- package/src/lib/server/pos-refund-authority.js.map +1 -1
- package/src/lib/server/pos-return.d.ts +10 -0
- package/src/lib/server/pos-return.js +29 -7
- package/src/lib/server/pos-return.js.map +1 -1
- package/src/lib/server/pos-sale.js +6 -1
- package/src/lib/server/pos-sale.js.map +1 -1
- package/src/lib/server/pos-shift.js +11 -0
- package/src/lib/server/pos-shift.js.map +1 -1
- package/src/lib/server/pos-staff-pin.js +29 -24
- package/src/lib/server/pos-staff-pin.js.map +1 -1
- package/src/lib/server/pos-terminal.d.ts +14 -4
- package/src/lib/server/pos-terminal.js +34 -38
- package/src/lib/server/pos-terminal.js.map +1 -1
- package/src/lib/server/printers.d.ts +7 -3
- package/src/lib/server/printers.js +18 -12
- package/src/lib/server/printers.js.map +1 -1
- package/src/lib/server/product-drafts.d.ts +11 -1
- package/src/lib/server/product-drafts.js +12 -8
- package/src/lib/server/product-drafts.js.map +1 -1
- package/src/lib/server/product.d.ts +15 -1
- package/src/lib/server/product.js +16 -3
- package/src/lib/server/product.js.map +1 -1
- package/src/lib/server/products-write.d.ts +26 -2
- package/src/lib/server/products-write.js +19 -7
- package/src/lib/server/products-write.js.map +1 -1
- package/src/lib/server/refund.js +55 -42
- package/src/lib/server/refund.js.map +1 -1
- package/src/lib/server/reservation-availability-query.d.ts +8 -0
- package/src/lib/server/reservation-availability-query.js +11 -1
- package/src/lib/server/reservation-availability-query.js.map +1 -1
- package/src/lib/server/reservation-availability.d.ts +1 -1
- package/src/lib/server/reservation-availability.js +7 -2
- package/src/lib/server/reservation-availability.js.map +1 -1
- package/src/lib/server/reservation-guests.d.ts +32 -0
- package/src/lib/server/reservation-guests.js +285 -0
- package/src/lib/server/reservation-guests.js.map +1 -0
- package/src/lib/server/reservation-walk-in.d.ts +11 -1
- package/src/lib/server/reservation-walk-in.js +56 -12
- package/src/lib/server/reservation-walk-in.js.map +1 -1
- package/src/lib/server/reserve.js +18 -5
- package/src/lib/server/reserve.js.map +1 -1
- package/src/lib/server/returns.js +9 -6
- package/src/lib/server/returns.js.map +1 -1
- package/src/lib/server/reviews.d.ts +22 -2
- package/src/lib/server/reviews.js +88 -20
- package/src/lib/server/reviews.js.map +1 -1
- package/src/lib/server/shipping-connectors.js +10 -11
- package/src/lib/server/shipping-connectors.js.map +1 -1
- package/src/lib/server/site-page-resolver.js +20 -3
- package/src/lib/server/site-page-resolver.js.map +1 -1
- package/src/lib/server/store-day.d.ts +33 -0
- package/src/lib/server/store-day.js +46 -0
- package/src/lib/server/store-day.js.map +1 -0
- package/src/lib/server/store-setup-ai-writer.d.ts +2 -1
- package/src/lib/server/store-setup-ai-writer.js +5 -6
- package/src/lib/server/store-setup-ai-writer.js.map +1 -1
- package/src/lib/server/storefront-tax.d.ts +13 -0
- package/src/lib/server/storefront-tax.js +8 -1
- package/src/lib/server/storefront-tax.js.map +1 -1
- package/src/lib/server/tax-return-source.d.ts +32 -3
- package/src/lib/server/tax-return-source.js +99 -20
- package/src/lib/server/tax-return-source.js.map +1 -1
- package/src/lib/server.js +100 -2
- package/src/lib/server.js.map +1 -1
- package/src/lib/testing/fake-firestore.js +58 -16
- package/src/lib/testing/fake-firestore.js.map +1 -1
- package/src/lib/testing/pos-ops-memory-firestore.js +18 -4
- package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -1
- package/src/lib/testing/site-register-permissions.d.ts +29 -0
- package/src/lib/testing/site-register-permissions.js +38 -0
- package/src/lib/testing/site-register-permissions.js.map +1 -0
- package/src/lib/transfer/tracking.server.js +8 -5
- package/src/lib/transfer/tracking.server.js.map +1 -1
- package/src/lib/utils/add-to-cart.d.ts +2 -0
- package/src/lib/utils/add-to-cart.js +6 -3
- 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
|
-
|
|
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
|
-
}
|
|
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.
|
|
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: (
|
|
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: (
|
|
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: (
|
|
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: (
|
|
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: (
|
|
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()) || !(((
|
|
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: (
|
|
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: (
|
|
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: (
|
|
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: (
|
|
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
|
}),
|