---
title: "Understand location selection states"
description: "Understand how Customer App presents saved, typed, and device-provided location choices without treating a visible choice as settled order state."
canonical: https://docs.ordering.co/docs/products/customer-app/discover/choose-location/
---

# Understand location selection states

Customer App can present saved addresses and, in some contexts, address entry, map, or device-location surfaces. These surfaces are related, but they do not represent one state or one completed transaction.

:::warning Location information is private

Do not copy an address, coordinates, account information, map-provider response, or delivery context into support notes or documentation. A visible location is not proof of ownership, serviceability, or successful cart settlement.

:::

## Entry depends on the caller

The saved-address list can appear when the main Customer App experience has no active address. Related address selection can also be reached from business discovery, checkout, account, or sign-up contexts. The control used to return from the screen can therefore vary.

Caller information is navigation context, not authority. A route that says a selection came from checkout or business discovery does not prove that the current account, address, cart, or destination is still the same when an asynchronous result returns.

## Read the visible list conservatively

Depending on the app version and ordering context, the saved-address list may show loading placeholders, saved-address rows, an empty or error message, address filters, add/edit/delete controls, and a Continue action. A text search field may not be available on this list.

A row can look selected because its address fields match the active ordering address. That presentation does not establish that the row is the saved default, that the server accepted a default change, or that every cart now uses it.

## Keep location state layers separate

| State layer              | What it can represent                                         | What it does not prove                                                  |
| ------------------------ | ------------------------------------------------------------- | ----------------------------------------------------------------------- |
| Typed location           | Text entered or selected as a candidate                       | Precise coordinates, ownership, saved address, or delivery coverage     |
| Device-provided location | Coordinates returned after an available permission flow       | Postal address, saved default, serviceability, or continuing permission |
| Saved address            | An address record associated with an eligible account context | Current default, active order address, or cart settlement               |
| Saved default            | The account's intended default address                        | That the active ordering context or every cart has refreshed            |
| Active order location    | Address and city held by the current ordering context         | Saved-default identity or acceptance by a specific cart                 |
| Cart delivery context    | Address and delivery options held for one cart                | Global account state or successful order placement                      |

Matching text or coordinates do not collapse these layers into one transaction.

## Map and current-location boundaries

Business maps, address forms, and current-location controls are separate surfaces. When a device-location action is available, the operating system owns the permission decision. A map or address provider may receive the minimum location input needed for the requested lookup.

A permission prompt, map marker, address suggestion, or returned coordinates do not prove that an address was saved or selected. They also do not prove that a business delivers there. Declining or losing device permission should leave a manual or saved-address path when the configured experience supports one.

## Selection and settlement are separate

Changing a saved address can update the default address and the active order location separately. Check the address and cart details before continuing; a closed selector or changed row style does not confirm that every update has finished.

## Guest and account boundaries

Guest, signed-in, and changed-account address state must remain partitioned. A guest-visible address or a cached selection is not authority to attach it to a later account. After logout, account change, or project change, the app must not reuse an earlier address, precise location, callback, or cart context without a fresh owner-scoped result.

## Partial and unknown outcomes

Treat these events as incomplete evidence:

- the list closes before a default or ordering-context update settles;
- a saved default changes while the active order location or cart remains old;
- an order location changes while delivery options or totals remain stale;
- a provider returns an address after the caller, account, project, or session changed;
- navigation succeeds but the underlying write fails or its response is lost;
- the list refreshes from cache while server authority is unavailable.

Do not repeatedly select, edit, delete, or request current location to diagnose an unknown result. Reopen the relevant summary, confirm the current account and order context, and use a non-sensitive support channel if the state remains unclear.

## Accessibility and safe troubleshooting

Buttons, address rows, selected state, loading and error messages, permission handoffs, and map alternatives can behave differently on iOS and Android.

For safe troubleshooting:

- confirm which surface and caller are visible without sharing the location;
- confirm whether the app shows a saved row, typed candidate, device location, active order location, or cart summary;
- wait for the current state to settle before taking another action;
- use manual entry or a saved-address alternative when device location is unavailable and that alternative is offered;
- If the address or cart still looks unchanged, wait for the app to refresh and check the order summary before trying again.

**Related guides:** [Add or edit an address](https://docs.ordering.co/docs/products/customer-app/discover/add-edit-address/) · [Location permission and unavailable-location states](https://docs.ordering.co/docs/products/customer-app/discover/location-permissions/) · [Explore businesses on a map](https://docs.ordering.co/docs/products/customer-app/discover/map/) · [Choose order type and time](https://docs.ordering.co/docs/products/customer-app/discover/order-type-and-time/) · [Manage saved addresses](https://docs.ordering.co/docs/products/customer-app/account/addresses/) · [Review customer and delivery details](https://docs.ordering.co/docs/products/customer-app/cart-checkout/customer-delivery-details/)
