Story 1: Archibus to Serraview Data Mapping
(Export Archibus Data to Serraview and Send Data Back to Archibus)

Below is a list of the pre-processors, focusing on the input files, transformations and output files. Note that the output file names indicate the associated import (e.g. sv_exp_dp.csv will be consumed by 01 OrgUnit, emit a file named orgunit.csv, and then run an OrgUnit import using that file).

Note:

Preprocessor Input Transformation Output
01 Org Department

Unit sv_exp_dp.csv

  • DepartmentUUID UUID
  • Division UUID
  • Business Unit UUID
  • Business Unit Code
  • Division Code
  • Department Code

Start with "Archibus", "0000", "ROOT"

For each row:

  • Prefix DepartmentUUID with "DP"
  • Prefix DivisionUUID with "DV"
  • Prefix BusinessUnitUUID with "BU"
  • Replace empty BusinessUnitCode with "Blank"
  • If DepartmentCode empty, clear DepartmentUUID
  • Append DepartmentCode, DepartmentUUID, DivisionUUID
  • Append DivisionCode, DivisionUUID, BusinessUnitUUID
  • Append BusinessUnitCode, BusinessUnitUUID, "0000"

orgunit.csv

  • Org Unit Name
  • Cost Centre
  • Parent Org Cost Centre
02 Building & Floor

sv_exp_rm.csv

  • Room UUID
  • Department UUID
  • Division UUID
  • Room Category UUID
  • Room Type UUID
  • Building Code
  • Building Name
  • Floor Code
  • Floor Name
  • Room Code
  • Room Name
  • Room Category
  • Room Type
  • occupiable
  • Address Line 1
  • Address Line 2
  • City Code
  • State Code
  • Postal Code
  • Country Code
  • Region Code
  • Employee Capacity

Mapping:

  • Room UUID => RoomUUID
  • Department UUID => CostCentre
  • Building Code => BuildingNumber
  • Building Name => Building
  • Floor Code => Floor
  • Room Code => Workpoint
  • Room Type => SpaceType
  • occupiable => OccupancyConfiguration
  • Address Line 1 => StreetAddress
  • City Code => City
  • State Code => State
  • Postal Code => PostCode
  • Country Code => Country
  • Region Code => Region
  • Employee Capacity => Workpoints

 

For each row:

  • If CostCentre not empty then prefix with "DP", else if DivisionUUID not empty use that and prefix with "DV"
  • If SpaceType empty use RoomCategory else RoomCategory+" - "+RoomType
  • if occupiable = 1 set OccupancyConfiguration = "Multiple Occupants" else "Do not allow occupants"
  • if AddressLine2 not empty append it to StreetAddress (with a new line separator)

building.csv

  • BuildingNumber
  • Building
  • StreetAddress
  • City
  • State
  • PostCode
  • Country
  • Region

floor.csv

  • BuildingNumber
  • Floor
03 Floorplan Builing_Floor.dwg Translates file names by prefixing BuilingName_FloorName.dwg with FloorID_ so file(s) can be imported to correct floor by FloorPlan Importer (FPI). FloorID_Builing_Floor.dwg
04 Room As per preprocessor 02

As per preprocessor 02, but with the following additions:

  • If SpaceType empty use existing SpaceType for that BuildingNumber/Floor/Workpoint
  • If OccupancyConfiguration = "Multiple Occupants" set Seats to 0 else set Seats to Workpoints and Workpoints to 0
  • Ignore input rows where Floor = Workpoint

workpoint.csv

  • BuildingNumber
  • Floor
  • Workpoint
  • SpaceType
  • OccupancyConfiguration
  • CostCentre
  • Workpoints
  • Seats
  • RoomUUID
05 Person

sv_exp_em.csv

  • Employee UUID
  • Department UUID
  • First Name
  • Last Name Email Address
  • Room UUID

Mapping:

  • Employee UUID => EmployeeNo
  • Department UUID => CostCentre
  • First Name => FirstName
  • Last Name => LastName
  • Email Address => Email

For each row:

  • If CostCentre not empty then prefix with "DP", else if DivisionUUID not empty use that and prefix with "DV"
  • Look up Building/Floor/Workpoint in SV database based on RoomUUID

person.csv

  • EmployeeNo
  • CostCentre
  • FirstName
  • LastName
  • Email

occupancy.csv

  • Building
  • Floor
  • Workpoint
  • EmployeeNo

See also

Story 1 Overview: Add Serraview Space Planning & Optimization to an Archibus Deployment