Customers can review their saved forms and submitted bookings from the chat widget, full-page chat, PWA, and shared SDK web renderer.
When tabs appear
Start at the real visitor test and continue to the saved customer record.
- Forms appears when the current visitor session has an accessible form entry, including saved drafts and submitted forms.
- Bookings appears when the visitor has an accessible submitted reservation: pending, confirmed, approved, rejected, cancelled, or failed. Draft and in-progress booking flows are excluded.
No administrator toggle is required. A tab remains hidden when there are no accessible records of that type.
Review a record
Open the tab, expand a card, and review its title, status, dates, and supported answers. Booking cards include the configured timezone and declared custom fields. Records load ten at a time; use Refresh to retrieve the latest state. The record list scrolls within the chat panel, including with touch gestures on mobile. Scroll through longer lists and expanded answers to reach the remaining cards.
This view is read-only. Opening a card does not resubmit a form, cancel a booking, or change a reservation. Contact the business or use its separate supported update flow when a change is needed.
Ownership and privacy
Records are restricted to the current widget and visitor's owned conversations. Typing a matching phone number does not grant access to another visitor's records.
A successfully redeemed, unrevoked secure migration link can also make eligible source-conversation records available, limited to records created by the handoff cutoff. Merely copying conversation history does not grant that access. See Channel handoff.
Only declared, supported answer fields are returned. Passwords, hidden fields, internal metadata, approval/flow tokens, and file payloads are omitted. Answers display as text. Record responses are not persisted in browser storage and use private, no-store caching.
If a record is missing
Check that you are using the same widget and authorized visitor session, refresh the tab, and confirm a booking was submitted. Starting from a different browser or entering the same contact details does not automatically recover another session's records.
Deployment checks for administrators
The feature's indexes are installed with php artisan widget:history-indexes. This idempotent command creates the visitor-scoped MongoDB index and PostgreSQL booking index; the latter is built concurrently.
Relevant regression checks are php artisan test tests/Feature/ChatWidgetExperienceApiTest.php and npm run test:chat-widget. Set CHAT_WIDGET_USE_BUILD=1 for production-asset checks and CHAT_WIDGET_SCREENSHOT_DIR to capture record screens.