[{"data":1,"prerenderedAt":729},["ShallowReactive",2],{"content-/core-concepts/the-proplink-data-model":3,"docs-toc":427},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"type":10,"status":11,"applies_to":12,"last_reviewed":14,"related":15,"body":20,"_type":421,"_id":422,"_source":423,"_file":424,"_stem":425,"_extension":426},"/core-concepts/the-proplink-data-model","core-concepts",false,"","The PropLink data model","How the records fit together. Organisation, estate, site, building, floor, space, unit, contact, vendor and the rest.","concept","live",[13],"shared","2026-05-10",[16,17,18,19],"/properties-and-structure","/contacts","/vendors-and-contractors","/core-concepts/organisations-and-multi-tenancy",{"type":21,"children":22,"toc":403},"root",[23,31,52,65,72,82,89,109,115,133,139,172,178,195,201,206,251,257,265,271,289,295,306,312,320,325,331,339,351,357,362],{"type":24,"tag":25,"props":26,"children":28},"element","h1",{"id":27},"the-proplink-data-model",[29],{"type":30,"value":8},"text",{"type":24,"tag":32,"props":33,"children":34},"p",{},[35,37,43,45,50],{"type":30,"value":36},"PropLink's data model is built around two things: the ",{"type":24,"tag":38,"props":39,"children":40},"strong",{},[41],{"type":30,"value":42},"property hierarchy",{"type":30,"value":44}," (estate → site → building → floor → space → unit) and the ",{"type":24,"tag":38,"props":46,"children":47},{},[48],{"type":30,"value":49},"people hierarchy",{"type":30,"value":51}," (organisation → contact / vendor / user). Everything else hangs off those.",{"type":24,"tag":32,"props":53,"children":54},{},[55,57,63],{"type":30,"value":56},"This page is the canonical reference. If you have ever asked ",{"type":24,"tag":58,"props":59,"children":60},"em",{},[61],{"type":30,"value":62},"\"where does X live?\"",{"type":30,"value":64},", the answer is somewhere on this page.",{"type":24,"tag":66,"props":67,"children":69},"h2",{"id":68},"the-property-hierarchy",[70],{"type":30,"value":71},"The property hierarchy",{"type":24,"tag":73,"props":74,"children":76},"pre",{"code":75},"Organisation (your firm)\n└── Estate (optional grouping of sites)\n    └── Site (one property)\n        ├── Building (a physical structure on the site)\n        │   └── Floor (one level of the building)\n        │       └── Space (a room or area on the floor)\n        ├── Unit (a flat, house, commercial unit or parking bay)\n        └── Workspace records (one per active product)\n            ├── BmSite  (Block Management workspace)\n            ├── FmSite  (Facilities Management workspace)\n            ├── LtSite  (Lettings workspace)\n            └── HrbSite (Building Safety workspace)\n",[77],{"type":24,"tag":78,"props":79,"children":80},"code",{"__ignoreMap":7},[81],{"type":30,"value":75},{"type":24,"tag":83,"props":84,"children":86},"h3",{"id":85},"estates",[87],{"type":30,"value":88},"Estates",{"type":24,"tag":32,"props":90,"children":91},{},[92,94,99,101,107],{"type":30,"value":93},"An ",{"type":24,"tag":38,"props":95,"children":96},{},[97],{"type":30,"value":98},"estate",{"type":30,"value":100}," is a logical grouping of sites under one freeholder, one management contract or one development. Estates are optional, a single-block organisation may not have any. See ",{"type":24,"tag":102,"props":103,"children":105},"a",{"href":104},"/properties-and-structure/estates",[106],{"type":30,"value":88},{"type":30,"value":108},".",{"type":24,"tag":83,"props":110,"children":112},{"id":111},"sites",[113],{"type":30,"value":114},"Sites",{"type":24,"tag":32,"props":116,"children":117},{},[118,120,125,127,132],{"type":30,"value":119},"A ",{"type":24,"tag":38,"props":121,"children":122},{},[123],{"type":30,"value":124},"site",{"type":30,"value":126}," is one property record. It has an address, a postcode and one or more product modules associated with it. Every site belongs to exactly one organisation. See ",{"type":24,"tag":102,"props":128,"children":130},{"href":129},"/properties-and-structure/sites",[131],{"type":30,"value":114},{"type":30,"value":108},{"type":24,"tag":83,"props":134,"children":136},{"id":135},"buildings-floors-spaces",[137],{"type":30,"value":138},"Buildings, floors, spaces",{"type":24,"tag":32,"props":140,"children":141},{},[142,144,149,151,156,158,163,165,171],{"type":30,"value":143},"A site can have one or more ",{"type":24,"tag":38,"props":145,"children":146},{},[147],{"type":30,"value":148},"buildings",{"type":30,"value":150},". Each building has one or more ",{"type":24,"tag":38,"props":152,"children":153},{},[154],{"type":30,"value":155},"floors",{"type":30,"value":157},". Each floor can have ",{"type":24,"tag":38,"props":159,"children":160},{},[161],{"type":30,"value":162},"spaces",{"type":30,"value":164},", hallways, plant rooms, gardens, car park bays. This hierarchy is most useful in Facilities Management for asset tracking and in Building Safety for the golden thread. See ",{"type":24,"tag":102,"props":166,"children":168},{"href":167},"/properties-and-structure/buildings-floors-and-spaces",[169],{"type":30,"value":170},"Buildings, floors and spaces",{"type":30,"value":108},{"type":24,"tag":83,"props":173,"children":175},{"id":174},"units",[176],{"type":30,"value":177},"Units",{"type":24,"tag":32,"props":179,"children":180},{},[181,182,187,189,194],{"type":30,"value":119},{"type":24,"tag":38,"props":183,"children":184},{},[185],{"type":30,"value":186},"unit",{"type":30,"value":188}," is a rentable or leasable space inside a site: a flat, a house, a commercial unit, a parking bay. Units carry a reference (Flat 1), an optional UPRN, a floor number and a square-metre figure. Leases, demands, statements and arrears all attach to units. See ",{"type":24,"tag":102,"props":190,"children":192},{"href":191},"/properties-and-structure/units",[193],{"type":30,"value":177},{"type":30,"value":108},{"type":24,"tag":83,"props":196,"children":198},{"id":197},"product-workspaces",[199],{"type":30,"value":200},"Product workspaces",{"type":24,"tag":32,"props":202,"children":203},{},[204],{"type":30,"value":205},"Each active product on a site has its own workspace record holding product-specific fields. The workspaces sit alongside the site without duplicating its core data. A site can have:",{"type":24,"tag":207,"props":208,"children":209},"ul",{},[210,221,231,241],{"type":24,"tag":211,"props":212,"children":213},"li",{},[214,219],{"type":24,"tag":38,"props":215,"children":216},{},[217],{"type":30,"value":218},"BmSite",{"type":30,"value":220},": Block Management fields like the freeholder reference and Section 20 settings.",{"type":24,"tag":211,"props":222,"children":223},{},[224,229],{"type":24,"tag":38,"props":225,"children":226},{},[227],{"type":30,"value":228},"FmSite",{"type":30,"value":230},": Facilities Management fields like the FM contract reference.",{"type":24,"tag":211,"props":232,"children":233},{},[234,239],{"type":24,"tag":38,"props":235,"children":236},{},[237],{"type":30,"value":238},"LtSite",{"type":30,"value":240},": Lettings fields.",{"type":24,"tag":211,"props":242,"children":243},{},[244,249],{"type":24,"tag":38,"props":245,"children":246},{},[247],{"type":30,"value":248},"HrbSite",{"type":30,"value":250},": Building Safety fields like the regulator reference and the registration date.",{"type":24,"tag":66,"props":252,"children":254},{"id":253},"the-people-hierarchy",[255],{"type":30,"value":256},"The people hierarchy",{"type":24,"tag":73,"props":258,"children":260},{"code":259},"Organisation\n├── Users (PropLink staff who sign in)\n├── Contacts (people in the wider directory)\n│   ├── Leaseholders / tenants (attached to units)\n│   ├── Freeholders (attached to estates and sites)\n│   ├── Directors (of RMCs and freeholder companies)\n│   ├── Site managers (often also users)\n│   └── Other (next-of-kin, solicitors, agents)\n├── Companies (legal entities, managing agents, freeholders, RMCs)\n└── Vendors (suppliers and contractors)\n",[261],{"type":24,"tag":78,"props":262,"children":263},{"__ignoreMap":7},[264],{"type":30,"value":259},{"type":24,"tag":83,"props":266,"children":268},{"id":267},"contacts-and-users",[269],{"type":30,"value":270},"Contacts and users",{"type":24,"tag":32,"props":272,"children":273},{},[274,275,280,282,287],{"type":30,"value":119},{"type":24,"tag":38,"props":276,"children":277},{},[278],{"type":30,"value":279},"user",{"type":30,"value":281}," is someone who signs in to PropLink. A ",{"type":24,"tag":38,"props":283,"children":284},{},[285],{"type":30,"value":286},"contact",{"type":30,"value":288}," is anyone in your address book, most are not users, but some are both (a site manager who is also a contact for their assigned sites).",{"type":24,"tag":83,"props":290,"children":292},{"id":291},"vendors",[293],{"type":30,"value":294},"Vendors",{"type":24,"tag":32,"props":296,"children":297},{},[298,299,304],{"type":30,"value":119},{"type":24,"tag":38,"props":300,"children":301},{},[302],{"type":30,"value":303},"vendor",{"type":30,"value":305}," is a supplier or contractor. Vendors have service categories, contact details, insurance records and certifications. Work orders are dispatched to vendors. Bills (creditor invoices) are received from vendors.",{"type":24,"tag":66,"props":307,"children":309},{"id":308},"the-financial-spine",[310],{"type":30,"value":311},"The financial spine",{"type":24,"tag":73,"props":313,"children":315},{"code":314},"Organisation\n├── Chart of accounts (ledger accounts)\n├── Tax rates\n├── Currencies\n├── Bank accounts\n├── Lease schedules (Block Management)\n├── Invoices (debtor + creditor)\n├── Payments (debtor receipts + creditor payments)\n├── Credit notes\n├── Overpayments\n├── Journals (manual + automatic)\n├── Budgets\n└── Audit log\n",[316],{"type":24,"tag":78,"props":317,"children":318},{"__ignoreMap":7},[319],{"type":30,"value":314},{"type":24,"tag":32,"props":321,"children":322},{},[323],{"type":30,"value":324},"Every financial record is double-entry. Every record posts to two or more ledger accounts so the ledger balances at all times. This is why you cannot reconfigure or delete a ledger account that has any posted transactions.",{"type":24,"tag":66,"props":326,"children":328},{"id":327},"the-operational-spine",[329],{"type":30,"value":330},"The operational spine",{"type":24,"tag":73,"props":332,"children":334},{"code":333},"Organisation\n├── Maintenance events (planned and recurring)\n├── Issues (problems reported on sites)\n├── Work orders (work assigned to contractors)\n├── Tickets (requests and complaints)\n├── Service agreements (contracts with vendors)\n├── Compliance matrix (regulatory schedule)\n├── Files / documents\n└── Audit log\n",[335],{"type":24,"tag":78,"props":336,"children":337},{"__ignoreMap":7},[338],{"type":30,"value":333},{"type":24,"tag":32,"props":340,"children":341},{},[342,344,350],{"type":30,"value":343},"Issues, tickets and work orders are linked. An issue can be promoted into a work order. Tickets can reference issues, work orders, sites and units. See ",{"type":24,"tag":102,"props":345,"children":347},{"href":346},"/tickets-and-issues/tickets-vs-issues-vs-work-orders",[348],{"type":30,"value":349},"Tickets vs issues vs work orders",{"type":30,"value":108},{"type":24,"tag":66,"props":352,"children":354},{"id":353},"identifiers",[355],{"type":30,"value":356},"Identifiers",{"type":24,"tag":32,"props":358,"children":359},{},[360],{"type":30,"value":361},"Every record has two identifiers:",{"type":24,"tag":207,"props":363,"children":364},{},[365,376],{"type":24,"tag":211,"props":366,"children":367},{},[368,369,374],{"type":30,"value":119},{"type":24,"tag":38,"props":370,"children":371},{},[372],{"type":30,"value":373},"UUID",{"type":30,"value":375},": the canonical reference used by the API and across joins. UUIDs are immutable.",{"type":24,"tag":211,"props":377,"children":378},{},[379,380,385,387,393,395,401],{"type":30,"value":119},{"type":24,"tag":38,"props":381,"children":382},{},[383],{"type":30,"value":384},"human reference",{"type":30,"value":386}," that you can choose: for example ",{"type":24,"tag":78,"props":388,"children":390},{"className":389},[],[391],{"type":30,"value":392},"GC-001",{"type":30,"value":394}," for a site, ",{"type":24,"tag":78,"props":396,"children":398},{"className":397},[],[399],{"type":30,"value":400},"INV-2026-Q1-0042",{"type":30,"value":402}," for an invoice. Human references can be edited (though most are auto-numbered).",{"title":7,"searchDepth":404,"depth":404,"links":405},3,[406,414,418,419,420],{"id":68,"depth":407,"text":71,"children":408},2,[409,410,411,412,413],{"id":85,"depth":404,"text":88},{"id":111,"depth":404,"text":114},{"id":135,"depth":404,"text":138},{"id":174,"depth":404,"text":177},{"id":197,"depth":404,"text":200},{"id":253,"depth":407,"text":256,"children":415},[416,417],{"id":267,"depth":404,"text":270},{"id":291,"depth":404,"text":294},{"id":308,"depth":407,"text":311},{"id":327,"depth":407,"text":330},{"id":353,"depth":407,"text":356},"markdown","content:02.core-concepts:the-proplink-data-model.md","content","02.core-concepts/the-proplink-data-model.md","02.core-concepts/the-proplink-data-model","md",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"type":10,"status":11,"applies_to":428,"last_reviewed":14,"related":429,"body":430,"_type":421,"_id":422,"_source":423,"_file":424,"_stem":425,"_extension":426},[13],[16,17,18,19],{"type":21,"children":431,"toc":713},[432,436,450,459,463,470,474,488,492,506,510,534,538,552,556,560,595,599,606,610,624,628,637,641,648,652,656,663,672,676,680],{"type":24,"tag":25,"props":433,"children":434},{"id":27},[435],{"type":30,"value":8},{"type":24,"tag":32,"props":437,"children":438},{},[439,440,444,445,449],{"type":30,"value":36},{"type":24,"tag":38,"props":441,"children":442},{},[443],{"type":30,"value":42},{"type":30,"value":44},{"type":24,"tag":38,"props":446,"children":447},{},[448],{"type":30,"value":49},{"type":30,"value":51},{"type":24,"tag":32,"props":451,"children":452},{},[453,454,458],{"type":30,"value":56},{"type":24,"tag":58,"props":455,"children":456},{},[457],{"type":30,"value":62},{"type":30,"value":64},{"type":24,"tag":66,"props":460,"children":461},{"id":68},[462],{"type":30,"value":71},{"type":24,"tag":73,"props":464,"children":465},{"code":75},[466],{"type":24,"tag":78,"props":467,"children":468},{"__ignoreMap":7},[469],{"type":30,"value":75},{"type":24,"tag":83,"props":471,"children":472},{"id":85},[473],{"type":30,"value":88},{"type":24,"tag":32,"props":475,"children":476},{},[477,478,482,483,487],{"type":30,"value":93},{"type":24,"tag":38,"props":479,"children":480},{},[481],{"type":30,"value":98},{"type":30,"value":100},{"type":24,"tag":102,"props":484,"children":485},{"href":104},[486],{"type":30,"value":88},{"type":30,"value":108},{"type":24,"tag":83,"props":489,"children":490},{"id":111},[491],{"type":30,"value":114},{"type":24,"tag":32,"props":493,"children":494},{},[495,496,500,501,505],{"type":30,"value":119},{"type":24,"tag":38,"props":497,"children":498},{},[499],{"type":30,"value":124},{"type":30,"value":126},{"type":24,"tag":102,"props":502,"children":503},{"href":129},[504],{"type":30,"value":114},{"type":30,"value":108},{"type":24,"tag":83,"props":507,"children":508},{"id":135},[509],{"type":30,"value":138},{"type":24,"tag":32,"props":511,"children":512},{},[513,514,518,519,523,524,528,529,533],{"type":30,"value":143},{"type":24,"tag":38,"props":515,"children":516},{},[517],{"type":30,"value":148},{"type":30,"value":150},{"type":24,"tag":38,"props":520,"children":521},{},[522],{"type":30,"value":155},{"type":30,"value":157},{"type":24,"tag":38,"props":525,"children":526},{},[527],{"type":30,"value":162},{"type":30,"value":164},{"type":24,"tag":102,"props":530,"children":531},{"href":167},[532],{"type":30,"value":170},{"type":30,"value":108},{"type":24,"tag":83,"props":535,"children":536},{"id":174},[537],{"type":30,"value":177},{"type":24,"tag":32,"props":539,"children":540},{},[541,542,546,547,551],{"type":30,"value":119},{"type":24,"tag":38,"props":543,"children":544},{},[545],{"type":30,"value":186},{"type":30,"value":188},{"type":24,"tag":102,"props":548,"children":549},{"href":191},[550],{"type":30,"value":177},{"type":30,"value":108},{"type":24,"tag":83,"props":553,"children":554},{"id":197},[555],{"type":30,"value":200},{"type":24,"tag":32,"props":557,"children":558},{},[559],{"type":30,"value":205},{"type":24,"tag":207,"props":561,"children":562},{},[563,571,579,587],{"type":24,"tag":211,"props":564,"children":565},{},[566,570],{"type":24,"tag":38,"props":567,"children":568},{},[569],{"type":30,"value":218},{"type":30,"value":220},{"type":24,"tag":211,"props":572,"children":573},{},[574,578],{"type":24,"tag":38,"props":575,"children":576},{},[577],{"type":30,"value":228},{"type":30,"value":230},{"type":24,"tag":211,"props":580,"children":581},{},[582,586],{"type":24,"tag":38,"props":583,"children":584},{},[585],{"type":30,"value":238},{"type":30,"value":240},{"type":24,"tag":211,"props":588,"children":589},{},[590,594],{"type":24,"tag":38,"props":591,"children":592},{},[593],{"type":30,"value":248},{"type":30,"value":250},{"type":24,"tag":66,"props":596,"children":597},{"id":253},[598],{"type":30,"value":256},{"type":24,"tag":73,"props":600,"children":601},{"code":259},[602],{"type":24,"tag":78,"props":603,"children":604},{"__ignoreMap":7},[605],{"type":30,"value":259},{"type":24,"tag":83,"props":607,"children":608},{"id":267},[609],{"type":30,"value":270},{"type":24,"tag":32,"props":611,"children":612},{},[613,614,618,619,623],{"type":30,"value":119},{"type":24,"tag":38,"props":615,"children":616},{},[617],{"type":30,"value":279},{"type":30,"value":281},{"type":24,"tag":38,"props":620,"children":621},{},[622],{"type":30,"value":286},{"type":30,"value":288},{"type":24,"tag":83,"props":625,"children":626},{"id":291},[627],{"type":30,"value":294},{"type":24,"tag":32,"props":629,"children":630},{},[631,632,636],{"type":30,"value":119},{"type":24,"tag":38,"props":633,"children":634},{},[635],{"type":30,"value":303},{"type":30,"value":305},{"type":24,"tag":66,"props":638,"children":639},{"id":308},[640],{"type":30,"value":311},{"type":24,"tag":73,"props":642,"children":643},{"code":314},[644],{"type":24,"tag":78,"props":645,"children":646},{"__ignoreMap":7},[647],{"type":30,"value":314},{"type":24,"tag":32,"props":649,"children":650},{},[651],{"type":30,"value":324},{"type":24,"tag":66,"props":653,"children":654},{"id":327},[655],{"type":30,"value":330},{"type":24,"tag":73,"props":657,"children":658},{"code":333},[659],{"type":24,"tag":78,"props":660,"children":661},{"__ignoreMap":7},[662],{"type":30,"value":333},{"type":24,"tag":32,"props":664,"children":665},{},[666,667,671],{"type":30,"value":343},{"type":24,"tag":102,"props":668,"children":669},{"href":346},[670],{"type":30,"value":349},{"type":30,"value":108},{"type":24,"tag":66,"props":673,"children":674},{"id":353},[675],{"type":30,"value":356},{"type":24,"tag":32,"props":677,"children":678},{},[679],{"type":30,"value":361},{"type":24,"tag":207,"props":681,"children":682},{},[683,692],{"type":24,"tag":211,"props":684,"children":685},{},[686,687,691],{"type":30,"value":119},{"type":24,"tag":38,"props":688,"children":689},{},[690],{"type":30,"value":373},{"type":30,"value":375},{"type":24,"tag":211,"props":693,"children":694},{},[695,696,700,701,706,707,712],{"type":30,"value":119},{"type":24,"tag":38,"props":697,"children":698},{},[699],{"type":30,"value":384},{"type":30,"value":386},{"type":24,"tag":78,"props":702,"children":704},{"className":703},[],[705],{"type":30,"value":392},{"type":30,"value":394},{"type":24,"tag":78,"props":708,"children":710},{"className":709},[],[711],{"type":30,"value":400},{"type":30,"value":402},{"title":7,"searchDepth":404,"depth":404,"links":714},[715,722,726,727,728],{"id":68,"depth":407,"text":71,"children":716},[717,718,719,720,721],{"id":85,"depth":404,"text":88},{"id":111,"depth":404,"text":114},{"id":135,"depth":404,"text":138},{"id":174,"depth":404,"text":177},{"id":197,"depth":404,"text":200},{"id":253,"depth":407,"text":256,"children":723},[724,725],{"id":267,"depth":404,"text":270},{"id":291,"depth":404,"text":294},{"id":308,"depth":407,"text":311},{"id":327,"depth":407,"text":330},{"id":353,"depth":407,"text":356},1778601700340]