Appearance
Customer Information Settings
Overview
Customer information settings control what identification and contact information is required from customers during checkout on the online ordering channel.
Key Purpose: Configure which customer fields are required at online ordering checkout.
Purpose
This setting (in the Online Ordering "Customer Information" / Checkout section) lets you choose which customer name and contact fields are required at checkout for a location's online ordering channel.
Key Concepts
- Full Name Format: Controls whether the checkout requires both a first and last name, or only a first name — enum values are
first_last_nameorfirst_name. - Contact Details: Controls which contact information is required at checkout — enum values are
phone_email(require both email and phone) oremail(require email only). There are only these two options. - Per-Location Setting: These values are stored per location inside the
online_ordering_settingobject on theLocationrecord, not globally. - Online Ordering Only: These two enum settings apply to the online ordering channel. QR ordering uses a separate mechanism (the boolean
require_nameandrequire_emailfields — see QR Ordering). - Required Fields: Both settings are required when saving the online ordering configuration — the backend validates each as an enum value.
Actions
Configure Full Name Format
Navigate to Online → Online Ordering, open the Checkout / Customer Information section. Choose either "Require first and last name" (first_last_name) or "Only require first name" (first_name) using the radio buttons.
Configure Contact Details
In the same section, choose either "Require email and phone number" (phone_email) or "Only require email" (email) using the radio buttons.
Save Settings
Both fields are saved as part of the overall online ordering form submission (a single PUT of the online ordering configuration). Click Save to apply the changes for that location.
Business Rules
- Default full name format is
first_last_name; default contact details isphone_email. Both defaults are set inConstants.php($DEFAULT_ONLINE_ORDERING_SETTING) and re-applied by theLocationmodel when a value is missing. - Both settings are required by
StoreOnlineOrderingRequestand are validated as enum values; saving fails if a value is missing or not a valid enum case. customer_information_full_nameaccepts onlyfirst_last_nameorfirst_name. There is no single combined "full name" field option.customer_information_contact_detailsaccepts onlyphone_emailoremail. There is no "Phone Only" option.- These two settings apply to online ordering. QR ordering does not use these enums; it uses the separate boolean fields
require_nameandrequire_email.
Location
- Backoffice Route:
/online/online-ordering(Online → Online Ordering) - Backend Controller:
app/Http/Controllers/Api/BackOffice/OnlineOrderingController.php(updatemethod) - Request Validator:
app/Http/Requests/BackOffice/OnlineOrdering/StoreOnlineOrderingRequest.php - Enums:
app/Enums/CustomerInformationFullNameOptions.php,app/Enums/CustomerInformationContactDetailsOptions.php - Defaults:
app/Constants.php($DEFAULT_ONLINE_ORDERING_SETTING) - Vue Component:
src/views/online/online-ordering/forms/Checkout.vue - API Endpoint:
PUT /api/back-office/online-ordering/{locationId}
Fields
Full Name Format
| Property | Value |
|---|---|
| Field ID | customer_information_full_name |
| Label | Full name |
| Type | Radio (single choice) |
| Options | first_last_name, first_name |
| Default | first_last_name |
| Validation | required, must be a CustomerInformationFullNameOptions enum value |
Description: Whether checkout requires both a first and last name, or only a first name.
Options:
first_last_name— UI label "Require first and last name".first_name— UI label "Only require first name".
Contact Details
| Property | Value |
|---|---|
| Field ID | customer_information_contact_details |
| Label | Contact details |
| Type | Radio (single choice) |
| Options | phone_email, email |
| Default | phone_email |
| Validation | required, must be a CustomerInformationContactDetailsOptions enum value |
Description: Which contact information is required at checkout.
Options:
phone_email— UI label "Require email and phone number".email— UI label "Only require email".
POS Customer Name Format
| Property | Value |
|---|---|
| Field ID | pos_customer_name_format |
| Label | Customer name sent to POS |
| UI Section | "Point of sale" card (directly below "Customer Information" on the same Checkout tab, route /online/online-ordering) |
| Type | Radio (single choice) |
| Options | first_last_name, first_name |
| Default | first_last_name |
| Validation | nullable, must be a PosCustomerNameFormatOptions enum value |
Description: Controls which name format is pushed to the connected POS when an online order syncs — distinct from what is collected at checkout (the two fields above). Optional/nullable, unlike the two required customer-information fields. Applies to POS sync generally (e.g. Square, MplusKassa), not a single named integration.
Options:
first_last_name— UI label "Send first and last name".first_name— UI label "Send only first name".
Business Logic
Validation (backoffice save)
Save online ordering form
│
▼
StoreOnlineOrderingRequest validates:
├── customer_information_full_name → required + enum (first_last_name | first_name)
└── customer_information_contact_details → required + enum (phone_email | email)
│
▼
Valid?
├── Yes → persist into online_ordering_setting on the Location
└── No → validation error (field required / invalid)The backoffice Checkout form also performs a client-side required check on both fields before submitting.
Storefront behavior (not-verified-here)
How the storefront checkout form renders fields based on these settings is the responsibility of the customer-facing online ordering application and is not verified in this backend/backoffice review.
Examples
Require first and last name, with email and phone
json
{
"customer_information_full_name": "first_last_name",
"customer_information_contact_details": "phone_email"
}Require only first name, with email only
json
{
"customer_information_full_name": "first_name",
"customer_information_contact_details": "email"
}Relations
Depends On
- Locations: Stored per location in the
online_ordering_settingobject on theLocationrecord.
Affects
- Online Ordering: Determines which name and contact fields are required at online ordering checkout.
Related Features
FAQs
- "Can I require only a phone number without an email?" No. The contact options are
phone_email(email and phone) oremail(email only). There is no phone-only option. - "What does 'Only require first name' do?" Checkout requires only a first name (
first_name); a last name is not required. Useful for quick orders where a full name is unnecessary. - "Are these settings per-location or global?" Per-location. They are stored in each location's
online_ordering_setting. - "Where are these settings stored?" Inside the
online_ordering_settingobject on theLocationrecord, alongside other online ordering fields. - "Do these settings apply to QR ordering?" No. These two enum settings apply to online ordering. QR ordering uses its own boolean fields,
require_nameandrequire_email.
Troubleshooting
- Validation error when saving online ordering → Both Full name and Contact details must have a valid selection. Each must be one of the allowed enum values (
first_last_name/first_nameandphone_email/email). - Wrong contact fields expected at checkout → Confirm the correct option is selected in Online → Online Ordering → Checkout / Customer Information for the location.
- QR ordering checkout requirements not matching → QR ordering is configured separately via
require_name/require_email, not via these settings (see QR Ordering).