# Client Data Dictionary

<!-- Generated from apps/irrigation/dbt_redshift/models/client_data/sources.yml. Do not edit by hand — run `make generate-client-data-dictionary`. -->

Views exported daily to each client's Redshift database via the
`create_update_client_data_views_{client}` Airflow DAGs. All views are
filtered to the client's own workspace IDs. Demo/test workspaces are
excluded by default; a small set of clients are explicitly configured to
receive demo/test workspaces too. The `timestamp` column on every view
records the last DLT sync time for that table.
This data dictionary is always kept in sync with the exported views.
LVDAM-derived views are refreshed once per day: the load runs at 03:00 UTC
(03:00 GMT in winter and 04:00 BST in summer) via the
`dlt_lvdam_to_clients_redshift` Airflow DAG. The `report_ar_documents`
and `report_ar_balances` views are refreshed separately via the
`dlt_abacus_to_clients_redshift` Airflow DAG.

See also: [Redshift Clients Datalake ERD](/redshift-clients-datalake-erd/) — how these
tables relate to each other.

| Table | Description |
| --- | --- |
| [`addresses`](/data-dictionary/addresses/) | Address records for units and buildings in client workspaces. Results are a UNION of unit addresses and building addresses. |
| [`agreements_agreement_unit_type_allocation_versions`](/data-dictionary/agreements_agreement_unit_type_allocation_versions/) | Audit trail versions for agreement unit type allocations. |
| [`agreements_agreement_unit_type_allocations`](/data-dictionary/agreements_agreement_unit_type_allocations/) | Unit type allocations for agreements. |
| [`agreements_agreement_versions`](/data-dictionary/agreements_agreement_versions/) | Audit trail versions for agreements. |
| [`agreements_agreements`](/data-dictionary/agreements_agreements/) | Agreement records for client workspaces. |
| [`availability_unit_availability_pool_allocations`](/data-dictionary/availability_unit_availability_pool_allocations/) | Unit allocations within an availability pool, scoped to client workspaces via the unit's workspace_id. |
| [`billing_periods`](/data-dictionary/billing_periods/) | Billing periods associated with bookings, tracking cost/fee breakdowns per period. |
| [`booking_context_participants`](/data-dictionary/booking_context_participants/) | Contacts taking part in a booking context (group of bookings), with their roles. |
| [`booking_contract_values`](/data-dictionary/booking_contract_values/) | Versioned contract values for bookings (accommodation, additional services, cancellation fee and VAT totals), scoped to client workspaces. One row per version; the current value has effective_to NULL. |
| [`booking_daily_rates`](/data-dictionary/booking_daily_rates/) | Daily rate detail records for bookings. |
| [`booking_guarantor_informations`](/data-dictionary/booking_guarantor_informations/) | Guarantors attached directly to a booking. |
| [`booking_guests`](/data-dictionary/booking_guests/) | Contacts attached to a booking and their role (guest, lead guest, guarantor, booking agent). |
| [`booking_rates`](/data-dictionary/booking_rates/) | Detailed rate entries for bookings, stored as JSON. |
| [`bookings`](/data-dictionary/bookings/) | Booking records for the client's workspace. Demo/test excluded unless configured otherwise. |
| [`bookings_instalment_plan_templates`](/data-dictionary/bookings_instalment_plan_templates/) | Instalment plan templates per workspace, offered on bookings for their product groups. |
| [`buildings`](/data-dictionary/buildings/) | Building master records with marketing data and workspace association. |
| [`catalog_product_groups`](/data-dictionary/catalog_product_groups/) | Sales Proposition product group (contract) definitions, scoped to client workspaces. |
| [`catalog_product_rates`](/data-dictionary/catalog_product_rates/) | Rate definitions (billing interval) for Sales Proposition products, scoped to client workspaces via their product. |
| [`catalog_products`](/data-dictionary/catalog_products/) | Sales Proposition product definitions, scoped to client workspaces via their product group. |
| [`catalog_rate_calendars`](/data-dictionary/catalog_rate_calendars/) | Calendar entries (span + price) for Sales Proposition product rates, scoped to client workspaces via their product. |
| [`crm_companies`](/data-dictionary/crm_companies/) | CRM company records (e.g. agencies, universities) in the client's CRM namespaces. |
| [`crm_companies_contact_informations`](/data-dictionary/crm_companies_contact_informations/) | Links between CRM companies and their contacts; one row per company-contact pair. |
| [`crm_contact_informations`](/data-dictionary/crm_contact_informations/) | CRM contact details including names, emails, phones, and marketing consent records. Includes the emergency and trusted contacts of served contacts, so crm_contact_relationships.target_contact_information_id joins here. |
| [`crm_contact_relationships`](/data-dictionary/crm_contact_relationships/) | Emergency and trusted contacts: one row per relationship from a contact (usually a guest) to the contact they have nominated, for every contact in the client's CRM namespaces. Join source_contact_information_id and target_contact_information_id to crm_contact_informations.id; an id does not resolve when that contact is not served there (crm_contact_informations serves contacts on the client's leads and bookings and their related contacts). |
| [`crm_namespaces`](/data-dictionary/crm_namespaces/) | CRM namespace definitions. Filtered to namespaces associated with the client's workspaces. |
| [`daily_revenues`](/data-dictionary/daily_revenues/) | Per-day revenue breakdown for bookings, scoped to client workspaces by the unit's current workspace. Superseded (obsolete) rows and rows with a non-finite accommodation_fare_gbp are excluded. Amounts are double precision. |
| [`finance_billing_cycles`](/data-dictionary/finance_billing_cycles/) | Billing cycles for bookings, scoped to client workspaces. |
| [`guest_payments`](/data-dictionary/guest_payments/) | Payment records with status, payment method, and booking linkage. |
| [`inquiries`](/data-dictionary/inquiries/) | Prospect lead records populated from direct booking websites, the PMS, or API integrations. |
| [`inquiry_participants`](/data-dictionary/inquiry_participants/) | People involved in leads, with consent and contact details. |
| [`interval_pricing_calendars`](/data-dictionary/interval_pricing_calendars/) | Interval-based pricing calendars linking bookable entities to tariff pricing by date. |
| [`invoice_list_items`](/data-dictionary/invoice_list_items/) | Invoice master records with line items, allocations, and recipient details. |
| [`invoicing_invoices`](/data-dictionary/invoicing_invoices/) | Invoice records with payload, account, and status information. |
| [`lead_statuses`](/data-dictionary/lead_statuses/) | Lead status tracking records linking leads to CRM namespaces. |
| [`multi_unit_group_calendars`](/data-dictionary/multi_unit_group_calendars/) | Availability and pricing calendar for unit types. Source of truth for availability for unit types. |
| [`multi_unit_groups`](/data-dictionary/multi_unit_groups/) | Unit type definitions (e.g. studio, 2-bed) with marketing data and pricing configuration. |
| [`offer_management_offer_accommodations`](/data-dictionary/offer_management_offer_accommodations/) | Accommodation pricing details within offers. |
| [`offer_management_offers`](/data-dictionary/offer_management_offers/) | Offer creation, status, and pricing records. |
| [`properties`](/data-dictionary/properties/) | Unit master data with descriptions, pricing configuration, and workspace association. |
| [`property_calendars`](/data-dictionary/property_calendars/) | DEPRECATED — being phased out, only still synced for a shrinking set of legacy clients. Superseded by two views that split its responsibilities: availability/booking spans live in `unit_calendars`, and pricing lives in `interval_pricing_calendars`. Do not build new integrations against this view. (Historically: availability and pricing calendar for units, source of truth for standalone units and units in a unit type.) |
| [`report_ar_balances`](/data-dictionary/report_ar_balances/) | Accounts receivable balances for client workspaces. One row per (workspace_id, party_external_id, currency). Balances are never summed across currencies. |
| [`report_ar_documents`](/data-dictionary/report_ar_documents/) | Issued accounts receivable documents for client workspaces. |
| [`tags_entity_tags`](/data-dictionary/tags_entity_tags/) | Tags attached to entities; one row per tag on an entity. Join tag_id to tags_tags.id, whose scope and entity say what ref points at. |
| [`tags_tags`](/data-dictionary/tags_tags/) | Tag definitions, such as the tags used on instalment plan templates and product groups. A tag is unique by key within its scope and entity. Discarded (deleted) tags are kept with discarded_at set. |
| [`tariffs`](/data-dictionary/tariffs/) | Pricing tariff information (monthly/nightly rates) from MongoDB, joined via unit tariff_ids. |
| [`task_categories`](/data-dictionary/task_categories/) | Task category definitions used to classify tasks. |
| [`tasks`](/data-dictionary/tasks/) | Operational task records associated with units and bookings. |
| [`tickets`](/data-dictionary/tickets/) | Support and onboarding ticket records associated with units and workspaces. |
| [`unit_calendars`](/data-dictionary/unit_calendars/) | Calendar status records for individual units, tracking booking spans and availability. |
| [`workspaces`](/data-dictionary/workspaces/) | Workspace (client account) master data. Filtered to the client's own workspace IDs. |
| [`workspaces_inquiries`](/data-dictionary/workspaces_inquiries/) | Junction table linking workspaces to leads. |
