Website routes and deep links
Send customers to the appropriate Website experience using the same origin and canonical links generated by their project. Route availability still depends on the customer's location, account, cart, project configuration, and Website mode.
Start and discovery routes
| Destination | Route | Requirements and behavior |
|---|---|---|
| Website start | / or /home | The Website can show Home, request an ordering location, or redirect to a configured business. |
| Available businesses | /search | Requires a resolved ordering location unless the project's experience provides a supported location context. |
| Business and product search | /business_search | Requires a location. Search text and map presentation can be added by the Website's own controls. |
| Promotions | /promotions | Requires a location and is not available in kiosk mode. |
Prefill a discovery location
The discovery routes accept finite, non-zero coordinates through lat and lng. A supported
numeric order_type can accompany the coordinates when the customer does not already have an
ordering context.
https://shop.example.com/search?lat=25.7617&lng=-80.1918&order_type=1
After the Website applies the context, it removes the location parameters from the visible URL. Do not treat coordinates in a link as a saved customer address.
Business and product links
Projects can configure their canonical business and product URL templates. The default forms are:
/store/{businessSlug}
/store/{businessSlug}?category={categoryId}&product={productId}
Supported installations can instead use slug-based paths such as:
/{businessSlug}
/store/{businessSlug}/{categorySlug}/{productSlug}
/{businessSlug}/{categorySlug}/{productSlug}
Always copy or generate the canonical link from the current project. Do not transform an ID-based URL into a slug-based URL unless the project's Website already uses that template.
Table context
A business link can include table_number for an eligible dine-in flow. The Website stores that
value for the selected business and uses it when the configured order type requires a place or table.
Only add this value when the business supplies it as part of its own table-link or QR-code workflow.
Account and order destinations
| Destination | Route | Access boundary |
|---|---|---|
| Profile | /profile | Signed-in customer. |
| Order history | /profile/orders | Signed-in customer. |
| Saved addresses | /profile/addresses | Signed-in customer. |
| Saved cards | /profile/cards | Signed-in customer and a supported payment configuration. |
| Wallets | /wallets | Signed-in customer with an enabled wallet experience; unavailable in kiosk mode. |
| Sessions | /sessions | Signed-in customer; unavailable in kiosk mode. |
| Messages | /messages | Signed-in customer. |
| Order details | /orders/{orderId} | Signed-in customer or a complete temporary access link generated by Ordering. |
| Multi-order details | /multi-orders/{orderId} | Signed-in customer. |
Do not construct temporary order-access parameters. Preserve the complete link generated by Ordering, and do not log or expose its query values.
Cart and checkout destinations
| Destination | Route | Access boundary |
|---|---|---|
| Checkout | /checkout/{cartUuid} | Signed-in customer with an accessible cart. |
| Multi-business checkout | /multi-checkout/{cartUuid} | Signed-in customer with eligible carts. |
The Website redirects a customer who cannot access these destinations back to its configured start experience. A route alone does not grant access to a cart or order.
/multi-cart is an internal automatic transition used by the Website after a supported grouped-cart action. It is not a supported customer deep link and should not be opened directly.
Project content and onboarding
| Destination | Route | Availability |
|---|---|---|
| Content-page index | /pages | Project content configuration. |
| Content page | /pages/{pageSlug} | Enabled page with the requested slug. |
| Help | /help | Signed-in customer. |
| Business application | /signup_business | Signed-out, non-kiosk marketplace experience. |
| Driver application | /signup-driver | Signed-out, non-kiosk experience. |
| Password reset | /password/reset | Signed-out, non-kiosk experience. |
Link-handling rules
- Keep every link on the project's current Website origin.
- Prefer the canonical link produced by the Website over a hand-built route.
- Encode path values and query values separately.
- Do not place passwords, API keys, payment data, session tokens, or integration tokens in examples.
- Required-profile completion applies globally except to checkout and order prefixes and in kiosk mode; verification and sign-in behavior are route-specific. Follow the redirect or screen returned by the current Website instead of assuming every destination applies those gates in the same order.
- Do not use a guessed address to test whether a route exists. One- to three-segment addresses can be interpreted as business or product links, and checkout-prefixed addresses can stay in checkout routing. Use a canonical Website link. The global Page Not Found state applies only when no earlier route pattern matches.
Related references: Website experience and configuration · Integrations and external handoffs