Appearance
Validation Rules
What values are valid for each field type.
Text Fields
Location Name
- Required: Yes
- Min length: 1 character
- Max length: 100 characters
- Allowed: Letters, numbers, spaces, basic punctuation
Item Name
- Required: Yes
- Min length: 1 character
- Max length: 200 characters
- Allowed: Any characters
Description
- Required: No
- Max length: 1000 characters
- Allowed: Any characters, basic HTML in some contexts
Coupon Code
- Required: Yes
- Min length: 3 characters
- Max length: 20 characters
- Allowed: Letters, numbers, no spaces
- Case: Converted to uppercase
Number Fields
Price / Currency
- Min: 0
- Max: 99999.99
- Decimals: 2
- Format: Stored in cents internally
Prep Time (minutes)
- Min: 1
- Max: 180
- Default: 15
- Unit: Minutes
Delay Time (minutes)
- Min: 0
- Max: 120
- Default: 0
- Unit: Minutes
Time Slot Duration
- Allowed values: 5, 10, 15, 20, 30, 45, 60
- Default: 30
- Unit: Minutes
Orders Per Time Slot
- Min: 1
- Max: 999
- Default: 10
Items Per Time Slot
- Min: 1
- Max: 999
- Default: 50
Days in Advance (Scheduling)
- Min: 0
- Max: 365
- Default: 30
- Unit: Days
Idle Timeout
- Min: 30
- Max: 600
- Default: 120
- Unit: Seconds
Delivery Radius
- Min: 0.5
- Max: 50
- Default: 5
- Unit: Kilometers
Minimum Order Amount
- Min: 0
- Max: 999.99
- Default: 0
Tip Percentages
- Min: 1
- Max: 100
- Default: [10, 15, 20]
- Array: 1-5 values
Loyalty Points Per Currency
- Min: 0.1
- Max: 100
- Default: 1
Point Value
- Min: 0.001
- Max: 1
- Default: 0.01
KDS Timer (seconds)
- Min: 60
- Max: 3600
- Default: Caution: 300, Late: 600
Volume
- Min: 0
- Max: 100
- Default: 50
Contact Fields
Email
- Required: Depends on setting
- Format: valid@email.com
- Validation: RFC 5322 compliant
- Max length: 254 characters
Phone
- Required: Depends on setting
- Format: International format preferred (+XX XXX XXX XXX)
- Validation: Must be valid phone number
- Min digits: 7
- Max digits: 15
URL
- Required: No
- Format: https://example.com
- Validation: Must be valid URL with protocol
Address Fields
Address Line 1
- Required: Yes
- Max length: 200 characters
City
- Required: Yes
- Max length: 100 characters
Postal Code
- Required: Yes
- Format: Varies by country
- Belgium: 4 digits (1000-9999)
- Netherlands: 4 digits + 2 letters (1234 AB)
- France: 5 digits
- Germany: 5 digits
- US: 5 digits or 5+4 (12345 or 12345-6789)
Country
- Required: Yes
- Format: ISO 3166-1 alpha-2 code (be, nl, fr, de, us, etc.)
Date & Time Fields
Date
- Format: YYYY-MM-DD
- Example: 2024-12-25
Time
- Format: HH:MM (24-hour)
- Example: 14:30
- Range: 00:00 to 23:59
Business Hours Time Range
- Format:
- Validation: End must be after start (or next day for overnight)
Restricted Date
- Format: YYYY-MM-DD
- Validation: Cannot be in the past (for new entries)
Select Fields
Country Codes
be, fr, us, de, nl, pt, es, ie, itLanguage Codes
en, nl, fr, de, es, pt, itCurrency Codes
EUR, USD, GBPTimezone
Europe/Brussels, Europe/Amsterdam, Europe/Paris,
Europe/Berlin, Europe/London, America/New_York, etc.Full IANA timezone database supported.
Array Fields
Business Hours
json
{
"Monday": {
"is_available": true,
"times": [
{ "start": "09:00", "end": "17:00" }
]
}
}- Days: Sunday through Saturday
- Times: Array of time ranges (max 3 per day)
Postal Codes (Delivery Zone)
json
["1000", "1010", "1020", "1030"]- Format: Strings (to preserve leading zeros)
- Max: 500 postal codes
Tip Options
json
[10, 15, 20]- Min items: 1
- Max items: 5
- Values: 1-100
Allergens
json
["Gluten", "Milk", "Eggs"]- Values: Must be from predefined list
Dietary Preferences
json
["Vegan", "Gluten-free"]- Values: Must be from predefined list
Image Fields
Product Image
- Formats: JPG, JPEG, PNG, WebP
- Max size: 5 MB
- Recommended: 800x800 pixels, square
- Min dimensions: 200x200 pixels
Logo
- Formats: JPG, JPEG, PNG, SVG
- Max size: 2 MB
- Recommended: 400x400 pixels or vector
Banner/Hero Image
- Formats: JPG, JPEG, PNG, WebP
- Max size: 10 MB
- Recommended: 1920x600 pixels
Color Fields
Color Values
- Format: Hex code with #
- Example: #FF5733
- Validation: Must be valid 6-digit hex
Special Validations
Modifier Group
- Min selections: 0 to max_selections
- Max selections: min_selections to 99
- Rule: min_selections <= max_selections
Time Specific Rule
- Start time: Must be before end time
- Days: At least one day selected
- Order limit: Must be > 0
Delivery Fee (Free Over Amount)
- Minimum amount: Must be > 0 when this type selected
Coupon Usage
- Total limit: 0 (unlimited) or > 0
- Per customer limit: 0 (unlimited) or > 0
- Rule: per_customer <= total (if both set)
Error Messages
| Validation | Error Message |
|---|---|
| Required field empty | "This field is required" |
| Below minimum | "Value must be at least {min}" |
| Above maximum | "Value must be at most {max}" |
| Invalid email | "Please enter a valid email address" |
| Invalid phone | "Please enter a valid phone number" |
| Invalid URL | "Please enter a valid URL" |
| Invalid postal code | "Please enter a valid postal code" |
| File too large | "File size must be less than {max} MB" |
| Invalid file type | "File type not supported. Use {types}" |
| Invalid time range | "End time must be after start time" |
| Duplicate value | "This value already exists" |