Skip to main content

Use the reviewed review contract

Driver App can expose a customer-review form for some past individual orders. Control visibility, a selected rating, local success copy, and a hidden action are different from authorization, accepted persistence, publication, moderation, reporting, or plugin completion.

This contract is source-api-only. It does not authorize submitting reviews or testing duplicate, plugin, customer, or grouped-order effects.

Availability

SurfaceCurrent public boundary
Individual actionCan appear for a configured past order that meets local visibility checks, has a customer and no truthy review object; API eligibility remains separate
Existing ratingA truthy qualification can render; a review object may hide the action without a visible rating
Rating inputUI offers a one-to-five choice; initial local value is below the accepted minimum
CommentsRating-specific quick comments and optional free text become one request comment
DuplicateServer research rejects an existing review for the same order/relation
PluginsPersistence and plugin filters/actions are separate settlement stages
Grouped reviewSource exists, but the accepted Driver composition hides the control by default

Prerequisites

  • Require an authenticated Driver, an authorized individual order/customer relation, a supported past-order state, and no prior matching review.
  • Require a rating within the accepted range before any request.
  • Treat customer identity, rating, comments, order relation, and response as private and purpose-limited.
  • Disable repeat submission and retain an honest pending/error/result state.
  • Keep review writes, plugins, events, toasts, sockets, and publication outside documentation runtime.

Responsibility boundaries

OwnerResponsibility
Detail UIDecide candidate visibility from returned order/review fields
Review modalRating/comment state, privacy copy, validation, pending/error presentation
Client controllerSend one intent and reconcile response before local event/close
API review contractValidate order existence, Driver/customer relation, minimum rating, and duplicate
Plugin/reporting ownersModerate, filter, publish, report, or trigger follow-ons after persistence
Group ownerDefine per-member or atomic review behavior; current control remains dormant

Inputs and result

The individual modal combines the selected rating, zero or more quick comments, and optional free text. The current Send control can remain pressable at the initial invalid rating and while loading, so UI reachability is not validation or duplicate protection.

Accepted API research validates the Driver-to-customer order relation, minimum rating, and prior matching review. A successful-looking client response can then toast, emit a local event, close the modal, and merge local order state. Those follow-ons do not prove plugin settlement, moderation, publication, reporting, exactly-once behavior, or deployed persistence.

Security and privacy

  • Validate reviewer, target customer, order relation, minimum rating, and duplicate server-side before persistence.
  • Do not put contact data, health/safety details, payment information, addresses, credentials, or unnecessary order facts in comments.
  • Do not publish private status codes, endpoints, payloads, identifiers, tokens, customer media, plugin configuration, or security-test detail.
  • Make repeat requests idempotent or explicitly reconcile duplicates and partial plugin failure.
  • Treat local stars, toast, modal close, and hidden action as presentation only.

Limits and failure states

StateRequired interpretation
Action visibleClient candidate only; relation/duplicate may still fail
Action absentExisting object, category, customer, or local state may hide it
No star visibleDoes not prove no review object exists
Initial ratingInvalid for accepted server minimum
Loading button pressableRepeat request prevention is not established
Toast/modal closeClient follow-on, not durable/plugin/publication receipt
Duplicate responseMatching review already exists; do not retry blindly
Grouped control absentCurrent composition is dormant, not grouped success
Plugin failurePersistence and downstream behavior can settle separately

Troubleshooting

Review customer is missing

Check individual-order category, customer presence, and returned review object. Do not infer whether a review exists solely from the visible star.

Send is available before choosing a rating

Do not submit. Require an explicit one-to-five rating and reviewed privacy-safe comment before an authorized future integration can construct the request.

The modal closes but the review is not visible elsewhere

Local event/merge and plugin/publication/reporting are separate. Do not repeat presses; reconcile through the approved review owner.

A grouped delivery appears reviewable in source

The accepted composition hides that control. Do not expose a grouped procedure or infer atomic member reviews from dormant code.

Related guides: Review a customer · Use the reviewed communication contract · Review order details · View grouped deliveries · Run governed evidence safely