# CRM réservations `VERIFIED LIVE` ## 1. Purpose “Inventaire distant + dossiers locaux. Aucun bookingId inventé.” Combines supplier-side inventory listing with local dossiers. ## 2. Screenshot ![CRM](../screenshots/backoffice/04-crm-01-list.png) ## 3. Navigation `#crm` · WP `page=alya-hs-crm` `SCREENSHOT REQUIRED` ## 4. Fields KPIs: **Tous 23**, **Confirmés 19**, **Annulés 2**. List of remote + local dossiers. **Do not treat listed holder names as published customers.** ## 5. Buttons **Filtrer**, **Import CPT**. Open a row. ## 6. Filters Tabs: Tous, Remboursable, NRF, Confirmés, Annulés. Date range, Inventaire (dates), guestId, clientReference. Search: “Rechercher dans le CRM…” ## 7. Actions Open a row, filter, Import CPT. Safe tests this pass: view only. ## 8. Workflow Open CRM → REST/list from LiteAPI bookings inventory + local posts → do not invent bookingId. ## 9. REST/API `CrmPage` + cockpit CRM JS. LiteAPI bookings list (when called). Local CPT import. ## 10. Database Not the same as `#bookings` (7 local). CPT dossiers + remote inventory. ## 11. Permissions `alya_hs_view_crm` / bookings view. Agency Admin and Staff (view). Import CPT: staff with write caps. ## 12. Business meaning Remote LiteAPI inventory plus local dossiers. Count divergence vs Dashboard is product behaviour, not a documentation error. ## 13. Limitations Counts will diverge from Dashboard. Remote inventory can include bookings not mirrored locally. ## 14. Evidence status `VERIFIED LIVE` ## Related [reservations.md](reservations.md) · [nuitee-liteapi-audit.md](../technical/nuitee-liteapi-audit.md) · [user-guide/index.html](../user-guide/index.html)