Skip to main content

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 stateSafe interpretation
Standard Product DetailsThe customization form is presented; cart state is unchanged by presentation.
Direct-add branchAn effect-capable path can bypass this form; owned by its caller and cart contract.
Service or reservationA different form and scheduling/reservation owner applies.
Signed-out, address, or student gateA prerequisite handoff is presented; returning does not prove the product action settled.
Missing or unavailable productNo 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

StateSource-defined behaviorBoundary
IngredientsSupplied ingredients can begin selected and be cleared or restoredLocal selection; no cart effect.
Required/exact choiceVisible rule can keep the final action unavailableClient validation only.
Minimum/maximumForm compares current selections with displayed limitsServer, inventory, and cart validation remain separate.
Dependent optionSelecting a parent can reveal another group; clearing the parent clears descendantsLocal form reconciliation.
Placement/quantitySupported choices can present whole/half placement and suboption quantityAvailability and server acceptance remain unproved.
InstructionsOptional text can be entered when the field existsLocal candidate; privacy and server acceptance remain separate.
Product quantityControls can change the requested amountConfigured 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 stateSafe interpretation
Pre-actionChoices are local; no cart mutation is established.
Request pendingA cart intent may be in flight; leaving the form is not success.
RejectedCurrent cart, product, address, inventory, schedule, or validation rejected the intent.
PartialNavigation/callback occurred but authoritative cart settlement is absent or conflicting.
UnknownResponse or effect ordering cannot establish whether the cart changed.
ReconciledA 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 stateSafe next boundary
Loading placeholdersKeep the product state pending; header availability does not prove body readiness.
Required choices incompleteReview the visible local requirement; no server result is inferred.
Sold outTreat the final action as unavailable; menu/catalog freshness remains separately owned.
Signed-out or guest handoffUse the account owner; product and cart settlement remain unchanged.
Address or student handoffUse the location or school-order owner; returning is not product settlement.
Existing-line label mismatchKeep Add-versus-Update intent unresolved; do not infer identity from the label.
Blank or error bodyNo reliable in-form recovery control is established at the pinned source.
Deep-link differenceRoute 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