Appearance
Print Settings
Overview
Print settings control when pickup & delivery order tickets are printed. The setting lives inside the Online Ordering settings page as a single radio choice.
Key Purpose: Choose when online-ordering order tickets print.
Purpose
This page lets you choose whether pickup & delivery order tickets print based on the required prep time before the order is due, or as soon as the order is placed.
Key Concepts
- Print Settings (
print_settings): A single radio choice in the "Printing" section of the Online Ordering settings page. Options are "Print order tickets based on pickup and delivery time" (pickup_time) or "Print order tickets when the order is placed" (when_order_is_placed). Validated by thePrintSettingOptionsenum. - Send to POS (
send_to_pos): A separate radio choice in the "Receiving Orders" section that controls when orders are sent to the POS. Options are "Receive orders based on pickup and delivery time" (pickup_delivery_time) or "Receive orders when the order is placed" (order_placed). Validated by theSendToPosOptionsenum. This is the setting that actually drives order timing in the backend (see Business Rules). - Single setting, not a sub-page:
print_settingsis one field on the Online Ordering settings form (StoreOnlineOrderingRequest); there is no standalone print-settings page.
Actions
Set Print Timing
Open the Online Ordering settings page and scroll to the "Printing" section. Choose one of two radio options: "Print order tickets based on pickup and delivery time" (pickup_time) or "Print order tickets when the order is placed" (when_order_is_placed).
Set POS Send Timing
In the "Receiving Orders" section of the same page, choose "Receive orders based on pickup and delivery time" (pickup_delivery_time) or "Receive orders when the order is placed" (order_placed).
Location
- Backoffice Route:
/online/online-ordering - Parent Vue Component:
src/views/online/online-ordering/OnlineOrdering.vue(the "Printing" section is anchored at#Printing) - Print Settings Component:
src/views/online/online-ordering/forms/Printing.vue - Send to POS Component:
src/views/online/online-ordering/forms/ReceivingOrders.vue - Backend Request:
app/Http/Requests/BackOffice/OnlineOrdering/StoreOnlineOrderingRequest.php - Enums:
app/Enums/PrintSettingOptions.php,app/Enums/SendToPosOptions.php
Fields
Print Settings
| Property | Value |
|---|---|
| Field ID | print_settings |
| Label | Print settings |
| Type | Radio group |
| Options | pickup_time, when_order_is_placed |
| Default | pickup_time |
| Validation | required, enum PrintSettingOptions |
Description: When pickup & delivery order tickets print. The section subtitle reads "When should pickup & delivery order tickets print?"
Options:
pickup_time— "Print order tickets based on pickup and delivery time" — "Order tickets will print based on how much prep time is required before the order is due."when_order_is_placed— "Print order tickets when the order is placed" — "All order tickets will print when the order is placed, even if the order is scheduled for a future pickup or delivery time."
Send to POS
| Property | Value |
|---|---|
| Field ID | send_to_pos |
| Label | Send to POS |
| Type | Radio group |
| Options | pickup_delivery_time, order_placed |
| Default | pickup_delivery_time |
| Validation | required, enum SendToPosOptions |
Description: When pickup & delivery orders are sent to the POS. The section description reads "When should pickup & delivery orders be sent to the POS?"
Options:
pickup_delivery_time— "Receive orders based on pickup and delivery time" — "Order tickets will be sent based on how much prep time is required before the order is due."order_placed— "Receive orders when the order is placed" — "Orders will be sent when the order is placed, even if the order is scheduled for a future pickup or delivery time."
Business Rules
print_settingsdefaults topickup_timeand is validated as a requiredPrintSettingOptionsenum value.send_to_posdefaults topickup_delivery_timeand is validated as a requiredSendToPosOptionsenum value.- In the backend,
send_to_pos(notprint_settings) drives order timing:OrderCapacityServicesets the transaction'ssent_at. Whensend_to_posisorder_placed,sent_atis set to "now" (immediately). Forpickup_delivery_time,sent_atis derived from the order's prep time / pickup-delivery time. - The stored
print_settingsvalue is validated and persisted on the online-ordering settings, but the backend code does not read it anywhere to schedule or trigger printing. Actual ticket-printing/device behavior driven by this value is not verified in this repo. - When
custom_scheduled_ordersis enabled, the frontend requiresminutes_before_pickup_delivery_timeto be at least the larger of the takeout/delivery delay plus the average prep time (minutesBeforePickupDeliveryTimeValidatorinReceivingOrders.vue); the backend additionally requireshours_in_advanceandminutes_before_pickup_delivery_timeto be present and>= 1. - Print settings and send-to-POS are independent radio choices — you can, for example, send to POS immediately while printing based on pickup time, or vice versa.
FAQs
- "Where do I configure print settings?" In the "Printing" section of the Online Ordering settings page (
/online/online-ordering), not on a separate print-settings page. - "What is the difference between print settings and send to POS?" Both are radio choices on the same Online Ordering page.
print_settings(Printing section) controls when order tickets print;send_to_pos(Receiving Orders section) controls when orders are sent to the POS. They are set independently. - "What does 'based on pickup and delivery time' mean?" Tickets/orders are timed using how much prep time is required before the order is due, rather than printing/sending immediately at order placement.
- "Does choosing a print setting guarantee tickets print at a specific time?" The setting is stored, but the backend in this repository does not act on
print_settingsto schedule printing. The actual on-device printing behavior is handled elsewhere and is not verified here. Order send timing to the POS is driven bysend_to_pos.
Customer Impact
- The choice affects when staff/kitchen receive the order ticket for a given pickup/delivery time. "When the order is placed" surfaces orders immediately even when scheduled for the future; "based on pickup and delivery time" defers based on required prep time.
- Note: the order-send timing that the backend actually enforces is driven by
send_to_pos, notprint_settings.
Relations
Depends On
- Online Ordering:
print_settingsandsend_to_posare part of the Online Ordering settings. - Order Capacity: Prep time /
order_prep_timefeeds thesent_atcalculation used bysend_to_pos.
Affects
- Transactions:
send_to_posdetermines a transaction'ssent_at.
Related Features
Examples
Print based on pickup/delivery time, send to POS based on pickup/delivery time
json
{
"print_settings": "pickup_time",
"send_to_pos": "pickup_delivery_time"
}Print and send to POS as soon as the order is placed
json
{
"print_settings": "when_order_is_placed",
"send_to_pos": "order_placed"
}