Data dictionary

Everything the four projects share, written in plain English: what each set of records holds, which project is allowed to change it, and a real example so you can check it is right.

Record sets

49

Records stored

…

Still empty

…

How to read this

Zero is not the same as empty
0 means a genuine zero. Empty means no value at all and is shown as -. Core never stores a dash.
Days of the week
0 = Monday, 1 = Tuesday, through to 6 = Sunday, everywhere in Core.
Money
All amounts are held in pence as whole numbers. Applications format them for display.
Worked-out values are read-only
Minimum Spend From, Room Hire From and Lead Commission are worked out by Core. No application can write them.
Commission
The listing commission rate is private commercial data held as a decimal fraction (0.0500 = 5%). Core copies it onto a lead at creation and that copy never changes.
Venue and listing
A venue is the physical place; a listing is how a space is presented. One venue may have several listings. Opening hours belong to the venue; listings inherit them.
Lead stages
Exactly one of: Lost, Final Chaser, Discount Chaser, New, Quoted, Qualified, Delayed Chaser, Viewing, Decision, Awaiting Payment, Booked. Never empty.

Core — This project — the central record everything else reads.CRM — Sales desk: leads, enquiries, viewings, messaging.Venue Portal — Venue teams: their own venue, staff and events.Listing pages — Public website pages for each space.

Changed byCRMRead byCoreVenue PortalListing pages
FieldKindType / allowed valuesWho may change itNotesExample
Listing referenceidsystemreferenceNobody…
Belongs to venuevenue_idrelationshipreferenceSales…
Listing name (CRM)sharedtitlestoredtextSales…
Short web namesharedslugstoredtextSales…
DescriptionshareddescriptionstoredtextSales…
Lifecyclestatusstoredcontrolled textdraft, published, paused, archivedSalesCRM labels: Live = published. Only published listings are publicly readable or can take enquiries; paused returns a holding page. Transitions: draft to published/archived, published to paused/archived, paused to published/archived, archived to draft/published. Slug is locked once first published.…
Standing capacitysharedcapacitystoredwhole numberSalesThe one official standing figure.…
Seated capacitysharedseated_capacitystoredwhole numberSales…
Minimum spend (legacy)legacymin_spend_pencestoredwhole number (pence)SalesSuperseded by Minimum Spend From, derived from weekday guide pricing.…
Overview blurbsharedoverview_blurbstoredtextSalesShort summary paragraph shown above the full description. Empty means not supplied.…
Main photosharedhero_image_urlstoredtextSales…
Floor space (sq ft)floor_space_sqftstoredwhole numberSales…
Listing websitewebsitestoredtextSales…
Nearest tubenearest_tubestoredtextSales…
Walk to tube (minutes)walking_time_to_tube_minsstoredwhole numberSales…
Old extra details (legacy)legacydatastoredfree-formCRMSuperseded by the canonical columns and child tables. Not part of the v2 public contract.…
Published onpublished_atstoreddate and timeCRM…
Createdcreated_atstoredCRM…
Last changedupdated_atstoredCRM…

What each project may do

Permission to work with the central records. No project copies records to another.

ProjectRecordsSeeAddChangeRemoveNotes
CRMVenuesYesYesYesNoSales desk manages venue records.
CRMListingsYesYesYesNoIncluding capacities and listing facts.
CRMListing commercial termsYesYesYesNoPrivate. Sales only.
CRMGuide pricingYesYesYesYesWeekday figures.
CRMMinimum Spend From / Room Hire FromYesNoNoNoWorked out by Core.
CRMOpening hoursYesYesYesYesVenue level.
CRMFAQs, features, reviews, mediaYesYesYesYesFAQs limited to four.
CRMViewing rulesYesYesYesYesNot public at this stage.
CRMContactsYesYesYesNoVenue contacts are linked by venue.
CRMLeadsYesYesYesNoStage, quoted figures and notes.
CRMCommission snapshot / lead commissionYesNoNoNoSet and worked out by Core.
Listing pagesListings, venues, pricing, hours, FAQs, features, reviews, mediaYesNoNoNoPublished listings only, through the public contract.
Listing pagesListing commercial termsNoNoNoNoPrivate commercial data.
Listing pagesViewing rulesNoNoNoNoRevisit when listing pages are migrated.
Listing pagesContacts and leadsNoYesNoNoOnly by submitting an enquiry through the controlled Core operation.
Venue PortalTheir own venue and listingsYesTo be decidedTo be decidedTo be decidedWrites decided during the Venue Portal audit.
Venue PortalHours, pricing, FAQs, features, reviews, media, viewing rulesYesTo be decidedTo be decidedTo be decidedRead only for now.
Venue PortalListing commercial terms and lead commissionNoNoNoNoPublic Space commercial data.
Venue PortalLeads for their venueYesNoTo be decidedNoWithout commission figures.
CoreEverything canonicalYesYesYesYesCore is the source of truth and owns worked-out values.

Old data still kept for now

Nothing here is removed yet. Each line says what has to be true first.

ItemCan go once
listings.min_spend_penceListing pages read the worked-out Minimum Spend From instead.
listings.data (old extra details)Every reader uses the canonical columns and child tables.
enquiries.client_name / client_email / client_phoneThe details originally submitted with each enquiry are preserved in an unchangeable record first, then readers use the linked contact.
crm_state copies of listings, contacts, users and eventsThe CRM reads Core directly.
Guide pricing and gallery held inside the old JSONCRM and listing pages read the guide pricing and media tables.
Old opening-hours copyEvery application reads the canonical venue hours.
Venue-as-contact duplicate recordsVenue contacts are linked by venue instead.
Obsolete lead grouping fieldConfirmed unused by every application.