Understand product customization states
Product Details can present a standard product and its current customization choices. Most selections are local form state. An Add or Update label is an effect-capable boundary, not evidence that a cart changed.
:::warning Important limits This reference stops before cart mutation. If an effect has already started, navigation, haptic feedback, a closed form, or a changed label does not prove settlement. Keep the outcome pending or unknown until an authoritative current cart state reconciles it. :::
Availability and entry states
Product Details depends on the current business, menu, order type, ordering time, customer state, address, inventory, and product configuration. A product link or menu selection can instead reach a direct-add, service/reservation, unavailable, or other separately owned branch.
| Entry state | Safe interpretation |
|---|---|
| Standard Product Details | The customization form is presented; cart state is unchanged by presentation. |
| Direct-add branch | An effect-capable path can bypass this form; owned by its caller and cart contract. |
| Service or reservation | A different form and scheduling/reservation owner applies. |
| Signed-out, address, or student gate | A prerequisite handoff is presented; returning does not prove the product action settled. |
| Missing or unavailable product | No supported customization outcome is established. |
Product presentation
Depending on returned catalog data, the form can show a name, image, description, calories, SKU, estimated servings, base or offer price, tags, ingredients, option groups, instructions, quantity, and a final action state.
Not every field is present. Product price and positive option amounts are form presentation, not final cart or order totals. Remote media and catalog freshness also settle separately.
Local customization states
| State | Source-defined behavior | Boundary |
|---|---|---|
| Ingredients | Supplied ingredients can begin selected and be cleared or restored | Local selection; no cart effect. |
| Required/exact choice | Visible rule can keep the final action unavailable | Client validation only. |
| Minimum/maximum | Form compares current selections with displayed limits | Server, inventory, and cart validation remain separate. |
| Dependent option | Selecting a parent can reveal another group; clearing the parent clears descendants | Local form reconciliation. |
| Placement/quantity | Supported choices can present whole/half placement and suboption quantity | Availability and server acceptance remain unproved. |
| Instructions | Optional text can be entered when the field exists | Local candidate; privacy and server acceptance remain separate. |
| Product quantity | Controls can change the requested amount | Configured maximum handling is not reliable at the pinned source. |
Final action states
The source can present Add, Update, Login / Sign Up, a guest handoff, an address handoff, a student gate, or Sold out. Visibility depends on local and contextual state.
Add and Update do not share identical source validation. An inconsistent existing-line identity can present Update while following a new-line path. The form can also navigate before cart work settles.
| Effect state | Safe interpretation |
|---|---|
| Pre-action | Choices are local; no cart mutation is established. |
| Request pending | A cart intent may be in flight; leaving the form is not success. |
| Rejected | Current cart, product, address, inventory, schedule, or validation rejected the intent. |
| Partial | Navigation/callback occurred but authoritative cart settlement is absent or conflicting. |
| Unknown | Response or effect ordering cannot establish whether the cart changed. |
| Reconciled | A current owner-authorized cart response identifies the resulting line and validity. |
This page does not instruct customers to initiate, repeat, or confirm a cart mutation. Cart display and reconciliation belong to Review carts before checkout.
States and ownership
| Observed state | Safe next boundary |
|---|---|
| Loading placeholders | Keep the product state pending; header availability does not prove body readiness. |
| Required choices incomplete | Review the visible local requirement; no server result is inferred. |
| Sold out | Treat the final action as unavailable; menu/catalog freshness remains separately owned. |
| Signed-out or guest handoff | Use the account owner; product and cart settlement remain unchanged. |
| Address or student handoff | Use the location or school-order owner; returning is not product settlement. |
| Existing-line label mismatch | Keep Add-versus-Update intent unresolved; do not infer identity from the label. |
| Blank or error body | No reliable in-form recovery control is established at the pinned source. |
| Deep-link difference | Route recognition does not prove the standard form or a passive path. |
Privacy and accessibility
Do not place product identifiers, cart data, selections, notes, prices, account state, address/student context, provider values, payloads, or screenshots in support reports. Use only state class and owning boundary.
Ingredient and option names, selected/expanded state, required errors, suboption placement and quantity, final-action state, focus order, large text, screen-reader semantics, platform Back, and reduced motion require independent current-platform verification.
Safe troubleshooting
- If the form is still loading, keep the outcome pending.
- If the final action is unavailable, identify only the visible prerequisite or local validation state.
- If navigation occurred before a cart result, keep settlement unknown and do not repeat the effect.
- If the product body is blank, use only an already-present, verified in-app return control; do not infer a recovery route.
- If current cart state conflicts with the form, transfer to the cart owner and preserve the unknown outcome.
Recertification triggers
Recheck this reference when product-entry branches, catalog fields, option or quantity validation, Add/Update identity, cart request ordering, guest/address/ student handoffs, direct-add behavior, media, navigation callbacks, or shared accessibility primitives change.
Related guides: Business page overview · Browse a menu · Services, professionals, and reservations · Manage students · Review carts before checkout · Create an account or continue as guest · Choose a delivery location