Treat the attendance report as pending work

When a report arrives, require an appointment ID, report ID, and named source before showing a review state. Store that report as pending. Do not replace it when a second report arrives, and do not present a recovery route until the trusted service returns a matching result. React's useReducer reference describes a reducer as the function that calculates the next state from the current state and an action; this example keeps those transitions explicit and locally tested.

The local model tests this boundary:

node --test sites/reactjsx.com/evidence/P148/missed-appointment-state.test.mjs

It accepts only a recovery instruction whose appointment and report IDs match the pending report. A stale result after the operator moves to another appointment is ignored. The model does not classify attendance, authorize staff, release capacity, or send a message.

Announce the state, not an assumed outcome

WAI's ARIA22 status-message technique describes using role="status" for updated status information. The illustrative component uses that role to say the report is awaiting review, that the service returned a recovery route, or that the outcome is unknown. It deliberately does not say a new slot exists.

The JSX is illustrative and still needs browser and assistive-technology testing. The trusted backend must enforce every attendance, capacity, and authorization rule.

Keep unknown recovery visible

If the service cannot return a matching result, retain a recovery-unknown state and send the operator to a named reconciliation route. Do not silently resubmit a report or substitute a new appointment identity.

For unknown submission outcomes, see Prevent a Double Submit When an Operation Outcome Is Unresolved. For an expiring offer, see Show an Expiring Waitlist Offer in React. For a payment boundary, see Show Payment Awaiting Service Confirmation in a React Booking Form.

Does this component make an appointment or capacity decision secure?

No. It is a client-side state model. A trusted service must validate identities, permissions, attendance, capacity, and every resulting action.