Skip to content

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_name or first_name
  • Contact Details: Controls which contact fields appear at checkout — options are phone_email (both phone and email) or email (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 is phone_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

PropertyValue
Field IDcustomer_information_full_name
LabelName Format
TypeSelect
OptionsFirst & Last Name, Full Name
DefaultFirst & 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

PropertyValue
Field IDcustomer_information_contact_details
LabelContact Details
TypeSelect
OptionsPhone & Email, Phone Only, Email Only
DefaultPhone & 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

PropertyValue
Field IDfirst_name
LabelFirst Name
TypeText
RequiredYes
Shown WhenFull Name = First & Last Name

Last Name

PropertyValue
Field IDlast_name
LabelLast Name
TypeText
RequiredYes
Shown WhenFull Name = First & Last Name

Full Name

PropertyValue
Field IDfull_name
LabelFull Name
TypeText
RequiredYes
Shown WhenFull Name = Full Name

Email

PropertyValue
Field IDemail
LabelEmail
TypeEmail
RequiredBased on setting
ValidationValid email format

Phone

PropertyValue
Field IDphone
LabelPhone Number
TypePhone
RequiredBased on setting
ValidationValid 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, required

Validation

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 errors

Customer 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

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_setting JSON 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.