Room / Space (Ruimte)
De Space-entiteit (in de UI vaak "Ruimte" of "Room" genoemd) registreert individuele ruimtes binnen gebouwen. Ruimtes zijn onderdeel van de vastgoedhierarchie: Complex > Gebouw > Bouwdeel > Bouwlaag > Ruimte. Ruimtes kunnen reserveerbaar zijn voor vergaderingen, verhuurbaar zijn als VHE (verhuurbare eenheid), en bevatten uitgebreide oppervlakte- en inrichtingsgegevens.
Entiteitsnaam: Space
Databasetabel: Space
Primaire sleutel: SPCID (nvarchar 40)
Contextsbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| 0 | SpaceContext.None | Ruimte |
| 1 | SpaceContext.Space | Ruimte |
| 2 | SpaceContext.RentableRealEstate | Verhuurbare eenheid (VHE) |
| 4 | SpaceContext.ParkingSpace | Parkeerplaats |
Statussenbewerken
| Value | Naam | Beschrijving |
|---|---|---|
| -1 | SpaceStatus.Trash | Trash |
| 0 | SpaceStatus.None | None |
Belangrijkste propertiesbewerken
| Property | Type | Kolom | Nullable | Omschrijving |
|---|---|---|---|---|
| Id | UltimoString(40) | SPCID | Nee | Uniek ID |
| Description | UltimoString(200) | SPCDESCR | Ja | Omschrijving |
| RoomNumber | UltimoString(11) | SPCROOMNR | Ja | Kamernummer |
| BuildingFloor | BuildingFloor | SPCBLDID, SPCBLDPID, SPCBLDFID | Ja | Bouwlaag (gebouw + bouwdeel + verdieping) |
| SpaceType | SpaceType | SPCSPCTID | Ja | Ruimtetype |
| Department | Department | SPCDEPID | Ja | Afdeling |
| Site | Site | SPCSITID | Ja | Vestiging |
| CostCenter | CostCenter | SPCCCRID | Ja | Kostenplaats |
| Purpose | Purpose | SPCPURID | Ja | Bestemming |
| Capacity | Decimal | SPCCAPACITY | Nee | Capaciteit (aantal personen) |
| MinimumCapacity | Decimal | SPCMINCAPACITY | Nee | Minimale capaciteit |
| FloorNetArea | Decimal | SPCFLOORNETTM2 | Nee | Netto vloeroppervlak (m2) |
| GrossExternalArea | Decimal | SPCFLOORGROSSM2 | Nee | Bruto vloeroppervlak (m2) |
| NetUsableArea | Decimal | SPCFLOORNETTUSABM2 | Nee | Netto gebruiksoppervlak (m2) |
| FreeHeight | Decimal | SPCFREEHEIGHT | Nee | Vrije hoogte |
| Reservable | Boolean | SPCRESERVABLE | Nee | Reserveerbaar |
| Rentable | Boolean | SPCRENTABLE | Nee | Verhuurbaar |
| RentalHourlyTariff | CompanyMoney | SPCRENTHOURTARIFF | Nee | Huurtarief per uur |
| EmailAddress | UltimoString(80) | SPCEMAILADDRESS | Ja | E-mailadres (voor Exchange) |
| CleanupTime | Int32 | SPCDEFCLEANINGTIME | Nee | Standaard schoonmaaktijd (min) |
| PreparationTime | Int32 | SPCDEFPREPARETIME | Nee | Voorbereidingstijd (min) |
| ImageFile | UltimoString | SPCIMAGEFILE | Ja | Afbeelding |
| BimGuid | UltimoString(50) | SPCBIMGUID | Ja | BIM-GUID |
| Status | Status | SPCRECSTATUS | Nee | Recordstatus |
| Context | Context | SPCCONTEXT | Nee | Context (default: 1) |
Functionaliteit & property-gedragbewerken
Veel Space-properties worden niet alleen handmatig ingevuld maar door workflows berekend of gevuld. Onderstaande paragrafen beschrijven het gedrag van de belangrijkste velden; gebruik lookup_property_usage("Space", "<property>") voor de volledige, actuele lijst workflows per property en lookup_workflow("<naam>") voor de XML.
BuildingFloor(gebouw/bouwdeel/bouwlaag-koppeling) — De hiërarchische koppelingBuildingFloor(kolommenSPCBLDID,SPCBLDPID,SPCBLDFID) wordt bij CAD-import gezet doorCadImportRuleAction_AddSpace(aanmaak van nieuwe ruimtes uit een CAD-bestand) enCadImportRuleAction_CopySpaceBuildingFloor(overname van bouwlaag van een bestaande ruimte bij herimport). 22 workflows lezen dit veld vervolgens — onder meer voor reserveringen, rapportages en het opzoeken van gerelateerde objecten. Consultanttip: ontbrekendeBuildingFloor-koppeling is de meest voorkomende reden dat een Space niet verschijnt in bouwlaag-overzichten of ruimteboekingen.FloorNetArea(netto vloeroppervlak in m²) — Wordt bij CAD-import automatisch gevuld doorCadImportRuleAction_AddSpace(bij aanmaak) enCadImportRuleAction_CopySpaceFloorNetArea(bij bijwerken van een bestaand oppervlak). Na import valideertCadImportRule_CheckCadImportRuleSpaceFloorNetAreaof de waarde overeenkomt met de CAD-meting en markeert de regel als afwijkend bij een discrepantie. Buiten CAD-import wordtFloorNetAreahandmatig ingevuld; er is geen workflow die dit veld herberekent op basis van ruimtedimensies.ReservableObject(reserveerbaar object) — Wordt gezet doorActionField560op het moment dat een Space reserveerbaar wordt gemaakt (koppeling aan een ReservableObject-record). Vijf workflows lezen dit veld: reserveringslogica (REST_CreateReservation), Exchange-synchronisatie (Space_ProcessExchangeNotification), en opruiming bij het verwijderen van de ruimte (Space_PreTrash). ZolangReservableObjectgevuld is, blokkeertSpace_PreTrashhet verwijderen als er nog actieve reserveringen bestaan. ZetReservable = truealtijd samen met deReservableObject-koppeling; zonder de koppeling werkt de reserveringsflow niet.StateAgenda(agendastatus voor verhuurbare eenheden) — Centraal veld in de VHE-context.RentableRealEstate_AddBlockageschrijft en leest het veld bij het opvoeren van een blokkade (bijv. leegstand of renovatie).ActionField936enActionField942passen deStateAgendaaan bij contractwijzigingen en verlengingen;ActionField1062herberekent de agendastatus na een statusovergang op het contract.ActionField926filtert op dit veld om te controleren of een ruimte beschikbaar is voor verhuur. Consultanttip: bij VHE-gebruik isStateAgendade primaire indicator voor beschikbaarheid — niet de simpeleStatus.RentableenRentableRealEstateStartDate(verhuurbaarheidsvlag en ingangsdatum) —ActionField924schrijftRentablewanneer een ruimte als VHE wordt geactiveerd en leest het veld vervolgens voor verdere VHE-logica (verhuurbaarheidsstatus, agenda-initialisatie).ActionField927zetRentableRealEstateStartDateop de contractingangsdatum.Space_AskDateAndCheckraadpleegt deze startdatum om te valideren of aangevraagde huurperioden overlappen met de VHE-activatiedatum. Beide velden zijn uitsluitend relevant in contextRentableRealEstate(2).CostCenterenDepartment(kostenplaats en afdeling) — Twee dedicated workflows beheren deze kostendragers:Space_ChangeCostCentervervangt de kostenplaats enSpace_ChangeDepartmentvervangt de afdeling — beide worden ook gelezen doorJob_UpdateCostCarriersenPmWorkOrder_CreateJobs_ProcessCreatedJob_SetCostCarriers, zodat jobs en preventief onderhoud die aan deze ruimte zijn gekoppeld automatisch de kostendragers van de ruimte overnemen. Dit maakt de Space-entiteit tot de primaire bron van waarheid voor kostenallocatie in gebouw-gerelateerde werkorders. Consultanttip: pasCostCenter/Departmentop de Space aan vóórdat je PM-werkorders aanmaakt; bestaande jobs erven de waarden niet met terugwerkende kracht.SiteenSpaceType(vestiging en ruimtetype) —Sitewordt gevuld doorActionField581(bij aanmaak via een dialoog),RentableRealEstate_CreateFromDomainObject(bij aanmaak als VHE vanuit een domeinobject) enActionField1113(bulk-actie). DiezelfdeActionField1113schrijft ookSpaceTypeenVendor.ActionField421enActionField422filteren/lezenSpaceTypevoor typespecifieke afhandeling (bijv. andere schoonmaakfrequentie per type). Zonder correcteSite-koppeling ontbreekt de vestigingscontext in job-gerelateerde kostendragerlogica.
Het volledige, gegenereerde overzicht van álle Space-properties met hun schrijvende/lezende/filterende workflows staat in reference/properties/Space.
Relaties met andere entiteitenbewerken
| Property | Verwijst naar | Omschrijving |
|---|---|---|
| BuildingFloor | BuildingFloor | Bouwlaag (inclusief gebouw en bouwdeel) |
| SpaceType | SpaceType | Type ruimte |
| Department | department | Afdeling |
| Site | site | Vestiging |
| CostCenter | CostCenter | Kostenplaats |
| Purpose | Purpose | Bestemming |
| CadDocument | Document | CAD-tekening |
| ReservableObject | ReservableObject | Reserveerbaar object |
| SpaceSetupType | SpaceSetupType | Standaard opstellingstype |
| Setups | List[SpaceSetup] | Opstellingen |
| Inventories | List[SpaceInventory] | Inventaris |
| Finishings | List[SpaceFinishing] | Afwerkingen |
| Maintenances | List[SpaceMaintenance] | Onderhoud |
| Employees | ListEmployee | Medewerkers in deze ruimte |
| Equipments | ListEquipment | Equipment in deze ruimte |
| ObjectFeatures | List[ObjectFeature] | Kenmerken |
| Vendor | Vendor | Leverancier |
| Zone | Zone | Zone |
| Blocks / BlockedBy | List[SpaceHierarchy] | Ruimtehierarchie (blokkeert/geblokkeerd door) |
Exchange-integratiebewerken
Ruimtes kunnen worden gesynchroniseerd met Microsoft Exchange voor vergaderruimte-reserveringen:
| Property | Omschrijving |
|---|---|
| SendReservationsToExchange | Reserveringen naar Exchange sturen |
| ImportReservationsFromExchange | Reserveringen uit Exchange importeren |
| ExchangeSubscriptionId | Exchange abonnement-ID |
Tips voor consultantsbewerken
- Vastgoedhierarchie: Een Space is altijd gekoppeld aan een BuildingFloor (bouwlaag), die onderdeel is van een BuildingPart (bouwdeel), die onder een building valt.
- Reserveringen: Zet
Reservable = trueen koppel eenReservableObjectom de ruimte beschikbaar te maken voor reserveringen.CleanupTimeenPreparationTimeworden automatisch meegenomen bij de planning. - VHE-context: Gebruik context
RentableRealEstate(2) voor verhuurbare eenheden. Hiermee worden huurcontracten en huuropbrengsten bijgehouden. - Parkeerplaatsen: Context
ParkingSpace(4) maakt het mogelijk parkeerplaatsen als aparte ruimtes te beheren. - Oppervlakten: De diverse oppervlaktevelden (netto, bruto, gebruiks-) worden opgeteld in de bovenliggende bouwlaag en het gebouw.
- Schoonmaak: Via
CleanupTime,MaintenancesenFinishingskan het schoonmaakonderhoud per ruimte worden ingericht. - BIM-integratie: Via
BimGuidkan een ruimte worden gekoppeld aan een BIM-model.CadDocumentenCadHandleondersteunen CAD-tekeningen. - Meerjarenplan: Net als Building bevat Space CostYear1-40 velden voor meerjaren-onderhoudsplanning.
Brondatabewerken
Let op: De wiki-samenvatting hierboven toont een curated subset van properties en praktische consultant-tips. Voor ground truth (exacte kolomnamen, alle properties, defaults, triggers) gebruik de onderstaande tools.
- Entity-definitie —
lookup_entity("Space")· reference/entities/Space Alle properties, contexts en statussen. Bron:Entities.xml. - DB-schema —
lookup_table_schema("Space")· reference/tables/Space Alle DB-kolommen, triggers, computed columns en defaults. Bron:database-schema.json. - Gerelateerde workflows —
find_workflows("", entity="Space")Alle Before/After Save events en andere workflow-ActionFields voor Space. Bron:workflows.xml. - Property-gebruik —
lookup_property_usage("Space", "BuildingFloor")· reference/properties/Space Welke workflows de BuildingFloor-koppeling (en andere Space-properties) lezen, schrijven of filteren. Bron:workflows.xml. - Workflow-XML van een vuller —
lookup_workflow("CadImportRuleAction_AddSpace")De volledige logica achter het automatisch vullen van BuildingFloor en FloorNetArea bij CAD-import. Bron:workflows.xml.