{{-- The Documents tab's table — docs/wireframes-v12/edit-booking.html (~lines 356-372). Shared by the edit and the show screens because it is a *read* of the booking's documents and not a form field: the twin rule of recipe §9 governs the create/edit form pair, and this panel is identical on both screens by definition — the same rows, the same actions, the same permissions. @include('bookings.partials.documents', ['booking' => $booking]) The **Name** column is whose document the row is — the main customer or the co-owner picked in the upload screen's Co-Applicant select, which `customer_docs.customer_id` has always recorded and the tab simply never showed (CR-11). A client addition beyond the wireframe's table, and the name alone: main customer and co-owner render identically, because the client asked for the person and not for a role label. ## What each action is * **View** streams the file back as an attachment (`bookings.documents.download`). A link and not a form, because it reads and nothing else; the route binding is scoped to the booking, so a document id from another booking is a 404 from the router. * **Delete** is a plain button that opens the shared confirmation dialog and, on Confirm, sends the DELETE by ajax — never a link, because a GET that destroys data would be fired by any crawler or prefetch. It was a `