Visit plans, visits and the proof captured against them.
visits records a person at a place: a planned visit, the check-in and check-out that happened, and the photos and notes captured there.
| Table | Holds |
|---|---|
visit_plans | Planned person × organization visits. |
visits | The check-in and check-out event, with proof and status. |
A field rep can also capture a replenishment order on behalf of a store during a visit. The offline outbox writes it as a draft under the rep's own row-level access, with advisory prices; confirmation is a privileged function that re-prices every line, re-splits tax, checks stock and the store's credit limit, and lands it confirmed, flagged or on_hold.
/visits: the list, with the dashboard's visits tile drilling through to it pre-filtered by period.
visits.read and visits.manage. A person always reads their own.
The route leaves the sidebar and the dashboard drops its visits tile and chart.
The field solution splits this into employees, which owns attendance and the geofenced check-in, and work-orders, which owns work issued down the tree, each recipient's assignment, and the submission that closes it. This module is deleted by the phase that ships them.