Appearance
Domains
Overview
Domains lets a merchant serve their online ordering storefront on their own web address (for example order.yourdomain.com) instead of the standard Zestidoo ordering URL. A domain is added once at merchant level, proven to be yours via a DNS record, and then assigned to one or more locations.
Key Purpose: Connect and verify your own subdomain, then point it at the locations whose storefront it should serve.
Purpose
This page lets you add a custom subdomain, see the DNS records you need to create, verify ownership, see how many locations each domain serves, and delete a domain you no longer use.
Key Concepts
- Domain profile: The merchant-level record for one hostname. It holds the hostname, its status, the verification token, and an optional default location.
- Hostname: The address customers will use, e.g.
order.yourdomain.com. Only subdomains are accepted — an apex/root domain such asyourdomain.comis rejected with "Only subdomains are supported (e.g., order.yourdomain.com)." - Status:
pendinguntil verification succeeds, thenverified. Only a verified domain can be assigned to a location. - CNAME record: Routes traffic for your subdomain to Upvendo's ordering edge. The target is shown in the dialog (
custom.zestidoo.comby default). - TXT record: Proves you control the domain. It lives at
_upvendo-verify.<your-subdomain>and its value isupvendo-domain-verification=<your token>. - Assigned locations: How many locations currently serve their storefront on this domain. Assignment itself happens per location, from Online Ordering — not on this page.
- Default location: The location a visitor lands on when the domain covers more than one and no specific location is in the URL.
Route
- Backoffice Route:
/settings/domains
Actions
Add a Domain
Click Add Domain, enter the subdomain, and submit. The domain is created with status pending and a verification token, and the DNS instructions dialog opens immediately with both records to create. A hostname can only be registered once across the platform — reusing one fails with "This domain is already registered."
Create the DNS records
At your DNS provider, add both records shown in the dialog:
| Type | Name | Value |
|---|---|---|
| CNAME | your subdomain label (e.g. order) | the CNAME target shown in the dialog |
| TXT | _upvendo-verify.<subdomain label> | upvendo-domain-verification=<your token> |
If your DNS is hosted at Cloudflare, set the CNAME's proxy status to OFF (grey cloud). DNS changes typically need 5–15 minutes to propagate.
Verify a Domain
Click Verify (on the domain card or in its details dialog). Upvendo looks up the TXT record and, when it matches, publishes the domain's routing configuration and registers the hostname. If the TXT record isn't visible yet you get "DNS not configured yet. Please add the TXT record and try again." and the domain stays pending — this is the normal answer while DNS is still propagating, and you can retry as often as you like.
Assign a Domain to a Location
Done from the location's Online Ordering settings, not from this page. Only verified domains can be assigned; attempting to assign an unverified one fails with "Domain must be verified before assignment."
Delete a Domain
Click the trash icon and confirm. Deleting unassigns the domain from every location that used it, and unregisters the hostname (including its Stripe payment-method-domain registration, which is what allows Apple Pay / Google Pay on that domain).
Fields
Hostname
| Field ID | hostname |
| Label | Domain name |
| Type | String (max 255) |
| Required | Yes |
| Validation | Must contain at least three labels — i.e. a subdomain. order.yourdomain.com is accepted, yourdomain.com is not. Must not already exist on the platform. |
Status
| Field ID | status |
| Type | Enum (pending, verified) |
| Default | pending |
| Impact | Only verified domains can be assigned to a location. |
Verification Token
| Field ID | verification_token |
| Type | String (generated) |
| Impact | The value your TXT record must carry, prefixed with upvendo-domain-verification=. Generated once when the domain is added. |
Business Rules
- Only subdomains are supported; apex/root domains are rejected at creation.
- A hostname is unique across the whole platform, not just within your merchant account.
- A domain must be
verifiedbefore it can be assigned to a location. - Verification checks the TXT record only. The CNAME is what makes the address actually serve your storefront, so both records are needed for a working domain.
- Verification can succeed at the DNS step but still leave the domain
pendingif the routing configuration could not be published — the message then says the TXT record was verified but syncing failed. Retry the verification. - Deleting a domain removes it from every location that was using it; those locations fall back to the standard ordering URL.
- The page and all its actions require the Edit Online Ordering permission.
FAQs
"How do I use my own domain for online ordering?" Go to Settings → Domains, click Add Domain, and enter a subdomain such as
order.yourdomain.com. Create the CNAME and TXT records it shows you at your DNS provider, wait a few minutes, then click Verify. Once it is verified, assign it to a location from that location's Online Ordering settings."Can I use my root domain (yourdomain.com) instead of a subdomain?" No. Only subdomains are supported — the form rejects an apex domain with "Only subdomains are supported (e.g., order.yourdomain.com)." Use something like
order.,shop., ormenu.in front of your domain."I added the DNS records but verification still fails." DNS usually needs 5–15 minutes, sometimes longer, before the new records are visible. Check the TXT record is at
_upvendo-verify.<your subdomain>and that its value is exactlyupvendo-domain-verification=<token>with no extra quotes or spaces. If your DNS is at Cloudflare, the CNAME's proxy must be OFF (grey cloud). Then click Verify again."Why can't I assign my domain to a location?" Because it is still
pending. Verify it first — assignment of an unverified domain is refused with "Domain must be verified before assignment.""Can two locations use the same domain?" Yes. A domain can serve several locations, and the card shows how many it is assigned to. Set a default location for the domain so visitors who arrive without a specific location still land somewhere sensible.
"What happens to my storefront if I delete the domain?" Every location that used it goes back to the standard Zestidoo ordering URL, and the custom address stops serving.
Relations
- Online Ordering: where a verified domain is actually assigned to a location, and where the storefront it serves is configured.
- Locations: the domain assignment is stored on the location's online ordering settings.
- Payments: a verified custom domain is registered with Stripe as a payment-method domain, which is what allows Apple Pay / Google Pay to appear on it.