Appearance
Customer Information Settings
Overview
Customer information settings control what information is collected from customers during checkout.
Key Purpose: Configure required customer fields at checkout.
Purpose
This page lets you configure what customer identification and contact information fields are collected during checkout on online ordering.
Key Concepts
- Full Name Format: Controls whether the checkout form shows two fields (First Name + Last Name) or a single First Name field — options are
first_last_nameorfirst_name - Contact Details: Controls which contact fields appear at checkout — options are
phone_email(both phone and email) oremail(email only) - Per-Location Setting: Customer info settings are stored per location as part of the online ordering configuration, not globally
- Online Ordering Only: These settings only affect the online ordering checkout form — kiosk and QR ordering have their own customer information handling
- Required Fields: Both settings are required when saving online ordering configuration — the backend validates them as enum values
Actions
Configure Full Name Format
Navigate to Pickup & Delivery → Online Ordering, scroll to the Customer Information section. Select either "First & Last Name" (two separate fields) or "First Name" (single field) via radio buttons.
Configure Contact Details
In the same section, select either "Phone & Email" (both collected) or "Email only" (no phone field) via radio buttons.
Save Settings
Settings are saved as part of the overall online ordering form submission. Click Save to apply changes — they take effect immediately on the online ordering checkout form for that location.
Business Rules
- Default full name format is
first_last_name(First & Last Name); default contact details isphone_email(Phone & Email) - Both settings are required — validation fails if neither option is selected
- There is no "Phone Only" option — the only contact detail choices are "Phone & Email" or "Email Only"
- There is no "Full Name" single-field option — the choices are "First & Last Name" (two fields) or "First Name" (one field, first name only)
- Changes take effect immediately on the online ordering checkout form for that location after saving
Location
- Backoffice Route:
/pickup-and-delivery/online-ordering - Backend Controller:
app/Http/Controllers/Api/OnlineOrderingController.php
Fields
Full Name Format
| Property | Value |
|---|---|
| Field ID | customer_information_full_name |
| Label | Name Format |
| Type | Select |
| Options | First & Last Name, Full Name |
| Default | First & Last Name |
Description: How to collect customer name.
Options:
- First & Last Name: Separate fields for first and last name
- Full Name: Single field for full name
Contact Details
| Property | Value |
|---|---|
| Field ID | customer_information_contact_details |
| Label | Contact Details |
| Type | Select |
| Options | Phone & Email, Phone Only, Email Only |
| Default | Phone & Email |
Description: What contact information to collect.
Options:
- Phone & Email: Both required
- Phone Only: Only phone number
- Email Only: Only email address
Checkout Form Fields
First Name
| Property | Value |
|---|---|
| Field ID | first_name |
| Label | First Name |
| Type | Text |
| Required | Yes |
| Shown When | Full Name = First & Last Name |
Last Name
| Property | Value |
|---|---|
| Field ID | last_name |
| Label | Last Name |
| Type | Text |
| Required | Yes |
| Shown When | Full Name = First & Last Name |
Full Name
| Property | Value |
|---|---|
| Field ID | full_name |
| Label | Full Name |
| Type | Text |
| Required | Yes |
| Shown When | Full Name = Full Name |
Email
| Property | Value |
|---|---|
| Field ID | email |
| Label | |
| Type | |
| Required | Based on setting |
| Validation | Valid email format |
Phone
| Property | Value |
|---|---|
| Field ID | phone |
| Label | Phone Number |
| Type | Phone |
| Required | Based on setting |
| Validation | Valid phone format |
Business Logic
Form Generation
Load checkout form
│
▼
Name format setting?
├── First & Last Name → Show first_name + last_name fields
└── Full Name → Show single full_name field
│
▼
Contact details setting?
├── Phone & Email → Show both, both required
├── Phone Only → Show phone only, required
└── Email Only → Show email only, requiredValidation
Customer submits form
│
▼
Validate required fields
│
▼
Validate formats:
├── Email: valid@email.com format
└── Phone: +XX XXX XXX XXX format
│
▼
All valid?
├── Yes → Continue to payment
└── No → Show errorsCustomer Impact
Online Ordering
- Checkout form fields based on settings
- Clear required field indicators
- Format validation
- Error messages
Kiosk
- Same field configuration
- Touch-friendly input
- On-screen keyboard
Relations
Depends On
- Locations: Settings per location
Affects
- Transactions: Customer data stored
- Notifications: Contact for notifications
- Customers: Customer records
Related Features
Examples
First & Last Name with Phone & Email
json
{
"customer_information_full_name": "First & Last Name",
"customer_information_contact_details": "Phone & Email"
}Form Fields:
- First Name (required)
- Last Name (required)
- Email (required)
- Phone (required)
Full Name with Phone Only
json
{
"customer_information_full_name": "Full Name",
"customer_information_contact_details": "Phone Only"
}Form Fields:
- Full Name (required)
- Phone (required)
Checkout Form UI
╔═══════════════════════════════════════╗
║ Customer Information ║
╠═══════════════════════════════════════╣
║ ║
║ First Name * ║
║ ┌─────────────────────────────────┐ ║
║ │ John │ ║
║ └─────────────────────────────────┘ ║
║ ║
║ Last Name * ║
║ ┌─────────────────────────────────┐ ║
║ │ Doe │ ║
║ └─────────────────────────────────┘ ║
║ ║
║ Email * ║
║ ┌─────────────────────────────────┐ ║
║ │ john@example.com │ ║
║ └─────────────────────────────────┘ ║
║ ║
║ Phone * ║
║ ┌─────────────────────────────────┐ ║
║ │ +32 123 456 789 │ ║
║ └─────────────────────────────────┘ ║
║ ║
╚═══════════════════════════════════════╝FAQs
- "Can I collect only a phone number without an email?" No. The available contact options are "Phone & Email" or "Email Only." There is no "Phone Only" option in the backend enum.
- "What does the 'First Name' option actually show at checkout?" It shows a single first name input field. The customer's last name is not collected. This is useful for quick-service restaurants where full names are unnecessary.
- "Are these settings per-location or global?" Per-location. Each location has its own online ordering settings including customer info configuration.
- "Can the customer info fields be made optional at checkout?" No. When a contact detail type is selected, the corresponding fields are required at checkout. There is no optional mode.
- "Where are these settings stored?" Inside the
online_ordering_settingJSON document on the Location model in MongoDB, alongside other online ordering fields like delivery settings and idle timeout.
Troubleshooting
- Checkout showing wrong fields → Verify the correct options are selected in Pickup & Delivery → Online Ordering → Customer Information. Changes apply immediately after saving.
- Validation error when saving → Both Full Name Format and Contact Details must have a selection. Ensure a radio button is selected for each setting.
- Settings not applying to kiosk → Customer info settings only affect online ordering checkout. Kiosk customer information is handled separately.