Skip to content

Vitec integrations

Key Observations & Notes

Fields Requiring Enum Mappings

Many Vitec fields use integer enums that need mapping tables:

  • status, assignmentType, ownership, estateBaseType
  • energyLetter, energyColorCode
  • linkType, docType, showingType
  • Employee positions, facility types, etc.

Fields Not in Core Model

Several Vitec-specific fields are marked as TBD (To Be Decided):

  • Rental-specific fields (for rental properties)
  • Internal Vitec statuses (settlement, back office)
  • Activities and complex workflow data
  • Many borettslag/cooperative-specific legal fields
  • Commented out fields in the C# models

Fields mapped to "TBD" indicate that a decision hasn't been made yet about whether to include them in the core model or store them in CustomData.

Implementation Notes

  1. projectUnits[] represent individual apartments/units and should be created as separate Estate objects that reference the HousingProject via Estate.ProjectId
  2. Textfields (40+ description fields) should be parsed into DescriptionSections with appropriate titles
  3. Many numeric enums are stored as integers directly from Vitec - use mapping tables for display
  4. Fields marked as "TBD" require decisions about whether to add them to the core model or store in CustomData

Estates

Vitec All Estates

The list/summary endpoint for Vitec estates. This gives us basic information, but for full estate details we'll need the detailed endpoint below.

List Endpoint: /{installationId}/Estates

Vitec Field Type Maps To (Destinet) Notes
estateId string Estate.EstateId Primary identifier
changedDate datetime Estate.ChangedDate Last modification timestamp
streetAdress string Estate.Address.Street Note: Vitec has typo "Adress"
zipCode string Estate.Address.ZipCode
city string Estate.Address.City
assignmentNum string Estate.AssignmentNum "Oppdragsnummer"
estateBaseType int (enum) Estate.EstateBaseType Stored as int enum from Vitec
assignmentType int (enum) TBD Stored as int enum in metadata
assignmentTypeGroup int (enum) Estate.AssignmentTypeGroup Stored as int enum from Vitec
ownership int (enum) Estate.Ownership Stored as int enum from Vitec
employeeId string Estate.BrokersIdWithRoles (add as primary broker) Primary broker - add to list with role=1
departmentId int Estate.DepartmentId Reference to Department (as int)
status int (enum) Estate.Status Stored as int enum from Vitec
primaryArea number Estate.EstateSize.PrimaryRoomArea Primary room area (P-ROM)
salesPriceEstimate number Estate.EstatePrice.PriceSuggestion Asking price
defaultImageId string Find in Estate.Images list, set as first/cover Reference to image
originType string TBD System-specific data

Vitec Estate by ID

The endpoint for specific Vitec estate. This gives us all details about the estate.

List Endpoint: GET /{installationId}/Estates/{estateId}

Vitec Field Type Maps To (Destinet) Notes
heading string Estate.Heading Marketing headline
estateId string Estate.EstateId Primary identifier
assignmentNum string Estate.AssignmentNum "Oppdragsnummer"
systemId string TBD Vitec-specific system ID
departmentId int Estate.DepartmentId As int for department reference
settleDepartmentId int TBD May need for settlement tracking
brokersIdWithRoles[].employeeId string Estate.BrokersIdWithRoles[].EmployeeId Add to BrokersIdWithRoles list
brokersIdWithRoles[].brokerRole int (enum) Estate.BrokersIdWithRoles[].BrokerRole Role enum (1=primary, 2=secondary, etc.)
status int (enum) Estate.Status Stored as int enum from Vitec
assignmentType int (enum) TBD Stored as int enum in metadata
assignmentTypeGroup int (enum) Estate.AssignmentTypeGroup Stored as int enum from Vitec
assignmentTypeId string TBD Reference ID for assignment type
ownership int (enum) Estate.Ownership Stored as int enum from Vitec
estateTypeExternal int (enum) TBD Stored as int enum in metadata
estateBaseType int (enum) Estate.EstateBaseType Stored as int enum from Vitec
estatePreferences[] string Estate.Details.Features or TBD Unsure - may be property preferences/tags
estateFacilities[].Name string Estate.Details.Features Parse into key-value pairs in Features dictionary
showings[].start datetime Estate.Showings[].Start Viewing start time
showings[].end datetime Estate.Showings[].End Viewing end time
showings[].showingId string Estate.Showings[].ShowingId Unique viewing identifier
showingNote string Estate.ShowingNote General note for all viewings, or add to each viewing?
noOfRooms int Estate.NoOfRooms Total number of rooms
noOfBedRooms int Estate.NoOfBedRooms Number of bedrooms
noOfBathRooms int Estate.NoOfBathRooms Number of bathrooms
floor int Estate.Floor Which floor the unit is on
constructionYear int Estate.ConstructionYear Year property was built
energyLetter int (enum) Estate.EnergyRating.Rating Convert to string: A, B, C, etc. Need mapping
energyColorCode int (enum) Estate.EnergyRating.Color Convert to string: GREEN, YELLOW, RED. Need mapping
rentalCost.perYear number TBD For rental properties - not in core model
rentalCost.perMonth number TBD For rental properties - not in core model
rentalCost.perWeek number TBD For rental properties - not in core model
rentalCost.perDay number TBD For rental properties - not in core model
rentalCost.deposit number TBD For rental properties - not in core model
rentalCost.includes string TBD For rental properties - not in core model
rentalCost.perQuarter number TBD For rental properties - not in core model
rentalCost.perSqmPerMonth number TBD For rental properties - not in core model
rentalCost.perSqmPerYear number TBD For rental properties - not in core model
rentalCost.rentIncludes string TBD For rental properties - not in core model
rentalCost.rentGuaranteeAmount number TBD For rental properties - not in core model
rentalCost.rentGuaranteeAgreement string TBD For rental properties - not in core model
rentalCost.rentTermination string TBD For rental properties - not in core model
rentalCost.sublease string TBD For rental properties - not in core model
rentalCost.tenantDuties string TBD For rental properties - not in core model
rentalTimeSpan.from datetime TBD For rental properties - not in core model
rentalTimeSpan.to datetime TBD For rental properties - not in core model
availableDate datetime TBD Available/move-in date - could add to core model?
plot.owned bool Estate.Plot.Owned or TBD Whether plot is owned vs leased
plot.size number Estate.Plot.Size Plot/land area in square meters
plot.description string Estate.DescriptionSections Add as section titled "Plot" or "Tomt"
partOwnership.partName string Estate.PartOwnership.PartName Borettslag/housing cooperative name
partOwnership.partOrgNumber string Estate.PartOwnership.PartOrgNumber Organization number for borettslag
partOwnership.partNumber int Estate.PartOwnership.PartNumber Part number in cooperative
partOwnership.estateHousingCooperativeStockHousingUnitNumber int Estate.PartOwnership.EstateHousingCooperativeStockHousingUnitNumber Andel number in borettslag
partOwnership.partAbout string Estate.PartOwnership.PartAbout About the cooperative/borettslag
partOwnership.contactId string Estate.PartOwnership.ContactId Contact for cooperative
partOwnership.businessManagerContactId string Estate.PartOwnership.BusinessManagerContactId Business manager (Forretningsfører)
partOwnership.preemptive string Estate.PartOwnership.Preemptive Forkjøpsrett info
partOwnership.animals string Estate.PartOwnership.Animals Pet policy
partOwnership.guaranteeFund string Estate.PartOwnership.GuaranteeFund Garantifond info
partOwnership.loanTermsCollectiveDebt string Estate.PartOwnership.LoanTermsCollectiveDebt Loan terms for fellesgjeld
partOwnership.accountingBudgeting string Estate.PartOwnership.AccountingBudgeting Accounting/budgeting info
partOwnership.amountYearsInstallmentFree string Estate.PartOwnership.AmountYearsInstallmentFree Avdragsfri år
partOwnership.boardApproval string Estate.PartOwnership.BoardApproval Styregodkjenning required
partOwnership.changeOfOwnershipFee number Estate.PartOwnership.ChangeOfOwnershipFee Eierskiftegebyr
partOwnership.deposit number Estate.PartOwnership.Deposit Innskudd
partOwnership.estateCorporationPartialBondNumber number Estate.PartOwnership.EstateCorporationPartialBondNumber Boligaksje delnummer
partOwnership.estateCorporationPartialDenominatedBond number Estate.PartOwnership.EstateCorporationPartialDenominatedBond Boligaksje pålydende
partOwnership.interestGracePeriod string Estate.PartOwnership.InterestGracePeriod Interest grace period info
partOwnership.joinCostAfterGracePeriod string Estate.PartOwnership.JoinCostAfterGracePeriod Join cost after grace period
partOwnership.jointDebtDescription string Estate.PartOwnership.JointDebtDescription Fellesgjeld description
partOwnership.jointDebtInstallment string Estate.PartOwnership.JointDebtInstallment Fellesgjeld installment
partOwnership.jointDebtInterest string Estate.PartOwnership.JointDebtInterest Fellesgjeld interest
partOwnership.preEmptiveDeadline datetime Estate.PartOwnership.PreEmptiveDeadline Forkjøpsrett deadline
partOwnership.preEmptiveFee number Estate.PartOwnership.PreEmptiveFee Forkjøpsrett fee
partOwnership.residentCommitments string Estate.PartOwnership.ResidentCommitments Beboerforpliktelser
partOwnership.shareJointCapital number Estate.Price.ShareCapital Andel av felleskapital
partOwnership.shareJointCapitalDate datetime Estate.PartOwnership.ShareJointCapitalDate Date for felleskapital
partOwnership.shareJointDebtToDate datetime Estate.PartOwnership.ShareJointDebtToDate Date for fellesgjeld
partOwnership.shareJointDebtYear number Estate.EstatePrice.CollectiveDebt Andel av fellesgjeld per year
partOwnership.statutes string Estate.PartOwnership.Statutes Vedtekter info
partOwnership.estateJointOwnershipFraction string Estate.PartOwnership.EstateJointOwnershipFraction Sameiebrøk
partOwnership.estateHousingCooperativeStockNumber string Estate.PartOwnership.EstateHousingCooperativeStockNumber Andelsnummer in borettslag
partOwnership.estateHousingCooperativeNominalStockValue number Estate.PartOwnership.EstateHousingCooperativeNominalStockValue Pålydende for andel
estatePrice.priceSuggestion number Estate.EstatePrice.PriceSuggestion Asking/suggested price (Prisantydning)
estatePrice.soldPrice number Estate.EstatePrice.SoldPrice Final sold price
estatePrice.estimatedValue number Estate.EstatePrice.EstimatedValue Estimated value / takstverdi
estatePrice.collectiveDebt number Estate.EstatePrice.CollectiveDebt Fellesgjeld
estatePrice.collectiveAssets number Estate.EstatePrice.CollectiveAssets Fellesmidler
estatePrice.loanFare number TBD Loan fee - unsure of mapping
estatePrice.communityTax number Estate.EstatePrice.CommunityTax Community tax
estatePrice.communityTax number Estate.EstatePrice.CommunityTax Community tax
estatePrice.salesCostDescription string TBD Description of sales costs
estatePrice.rent.rentPrMonth number TBD Could be felleskost or rent? Context dependent
estatePrice.rent.rentIncludes string TBD What's included in rent
estatePrice.purchaseCostsAmount number Estate.EstatePrice.PurchaseCostsAmount Omkostninger
estatePrice.totalPrice number Estate.EstatePrice.TotalPrice Total price with all costs
estatePrice.totalPrice number Estate.EstatePrice.TotalPrice Total price with all costs
estatePrice.waterRate number TBD Water rate/fee - not in core model
estatePrice.waterRateDescription string TBD Water rate description
estatePrice.waterRateYear number TBD Year for water rate
estatePrice.yearlySocietyTax number TBD Yearly society tax - not in core model
estatePrice.yearlyLeaseFee number TBD Festeavgift - for leasehold properties
estatePrice.leasingPartyTransportFee number TBD Leasing transport fee - unclear
estatePrice.originalAgreementPrice number TBD Original agreement price - for new builds?
estatePrice.additionalAgreementOptions number TBD Additional agreement options cost
estatePrice.originalExpensesPrice number TBD Original expenses price
estatePrice.transportAgreementCosts number TBD Transport agreement costs
estatePrice.otherExpenses string TBD Other expenses description
estateSize.primaryRoomArea number Estate.EstateSize.PRom P-ROM (Primærrom) area in m²
estateSize.primaryRoomAreaDescription string TBD Description of primary room area
estateSize.grossArea number Estate.EstateSize.Bra BRA (Bruksareal) - gross floor area
estateSize.usableArea number Estate.EstateSize.Bra Usable area in m²
links[].linkType int (enum) Estate.Links[].Type Link type - need mapping: video, virtual tour, etc.
links[].url string Estate.Links[].Url Link URL
links[].text string Estate.Links[].Text Link title/text
address.apartmentNumber string Estate.Address.PublicApartmentNumber Apartment/unit number
address.streetAdress string Estate.Address.Street Street address (typo in Vitec API)
address.zipCode string Estate.Address.ZipCode Postal code
address.city string Estate.Address.City City name
matrikkel[].knr int Estate.Matrikkel[].Knr Kommunenummer (municipality number)
matrikkel[].gnr int Estate.Matrikkel[].Gnr Gårdsnummer (farm number)
matrikkel[].bnr int Estate.Matrikkel[].Bnr Bruksnummer (property number)
matrikkel[].fnr int Estate.Matrikkel[].Fnr Festenummer (leasehold number)
matrikkel[].snr int Estate.Matrikkel[].Snr Seksjonsnummer (section number)
matrikkel[].ownPart string Estate.Matrikkel[].OwnPart Eierandel - ownership fraction
matrikkel[].coOwnershipType int (enum) Estate.Matrikkel[].CoOwnershipType Stored as int enum from Vitec
textFields.* string Estate.Description or Estate.DescriptionSections Text fields vary by property type. Map to sections
createdDate datetime TBD Creation date - not ListingDate
soldDate datetime Estate.SoldDate Date property was sold
commissionAcceptedDate datetime TBD Oppdrag akseptert dato
takeOverDate datetime TBD Overtagelsesdato - takeover date
contractMeetingDate datetime TBD Kontraktsmøte date
expireDate datetime Estate.ExpireDate Listing expiry date
finnCode string TBD Finn.no code/ID - not in core model
finnPublishDate datetime TBD Finn.no publish date
finnExpireDate datetime TBD Finn.no expiry date
leasingContractDate datetime TBD Leasing contract date
valuationTax.primaryValue number Estate.EstatePrice.EstimatedValue Ligningsverdi (primary)
valuationTax.primaryYear number TBD Year for primary assessment value
valuationTax.secondaryValue number TBD Secondary assessment value
valuationTax.secondaryYear number TBD Year for secondary value
valuationTax.comment string TBD Comment about valuation
valuationTax.propertyTaxAmount number Estate.Price.MunicipalFees or TBD Eiendomsskatt amount
valuationTax.propertyTaxYear number TBD Year for property tax
valuationTax.valuationDate datetime Estate.Details.AppraisalDate or TBD Date of valuation/appraisal
valuationTax.valuationType string TBD Type of valuation
municipality string Estate.Address.Municipality Municipality name
municipalityId string TBD Municipality ID/code
projectId string Estate.ProjectId Reference to housing project for new builds
projectRelation int (enum) TBD Relation type to project - need mapping
publicApartmentNumber string Estate.Address.PublicApartmentNumber Public-facing apartment number
estateTypeId string TBD Estate type identifier
estateType string TBD Estate type name/description
longitude number Estate.GeoCoordinates.Longitude Geographic longitude
latitude number Estate.GeoCoordinates.Latitude Geographic latitude
takeoverComment string TBD Comment about takeover/move-in
appraiserContactId string TBD Contact ID for appraiser
areaId string TBD Area/region identifier
completionCertificateDate datetime TBD Ferdigattest date
facilities[] int (enum) Estate.Details.Features Parse enum to feature names, add to Features dict
objectFacilities[].Name string Estate.Details.Features Object facilities - add to Features dict
landOwnerEstateDocumentDate datetime TBD Land owner document date
liveAndManagementDuty bool Estate.Details.Features["LiveAndManagementDuty"] Boplikt og driveplikt
managementDuty bool Estate.Details.Features["ManagementDuty"] Driveplikt
odel bool Estate.Details.Features["Odel"] Odelsrett
ownAssignmentType string TBD Custom assignment type
ownAdvertisementType string TBD Custom advertisement type
requiresConcession bool Estate.Details.Features["RequiresConcession"] Konsesjonspliktig
tag string TBD Tags/labels for estate
buildings[].name string TBD Building name - complex structure, not fully in core
buildings[].buildingArea[].areaType int (enum) TBD Area type enum - need mapping
buildings[].buildingArea[].areaInformation[].floorNumber int TBD Floor number for area
buildings[].buildingArea[].areaInformation[].areaSize number TBD Area size by floor
buildings[].buildingArea[].areaInformation[].areaDescription string TBD Area description
sumArea.bra number Estate.EstateSize.Bra BRA (Bruksareal) - total usable area
sumArea.bra number Estate.EstateSize.Bra BRA (Bruksareal) - total usable area
sumArea.bra number Estate.EstateSize.Bra BRA (Bruksareal) - total usable area
sumArea.braB number Estate.EstateSize.BraB BRA-b (bod) - storage area
sumArea.braS number Estate.EstateSize.BraS BRA-s (sekundær) - secondary area
sumArea.pRom number Estate.EstateSize.PRom P-ROM (Primærrom)
sumArea.tba number Estate.EstateSize.Tba TBA (terrasse/balkong)
sumArea.sRom number Estate.EstateSize.SRom S-ROM (Sekundærrom)
sumArea.bta number Estate.EstateSize.Bta BTA (Brutto tomteareal)
estateSettlementStatusGroup int (enum) TBD Settlement status - internal Vitec status
estateBackOfficeStatusGroup int (enum) TBD Back office status - internal Vitec status
farm bool Estate.Details.Features["Farm"] Is this a farm property
inSettlement bool TBD Is in settlement process
lastDocumentChangeDate datetime TBD Last document change
lastImageChangeDate datetime TBD Last image change
changedDate datetime Estate.ChangedDate Last modification timestamp
originTypeId string TBD Origin type identifier
originType string TBD Origin type name
estateOfDeceased bool TBD Dødsbo - estate of deceased
publicProbate bool TBD Offentlig skifte

Vitec Estate Activity

The endpoint for activities on a specific estate.

List Endpoint: GET /{installationId}/Estates/{estateId}/Activities

Vitec Field Type Maps To (Destinet) Notes
activities[].start datetime TBD Activity start time - not in core model
activities[].end datetime TBD Activity end time - not in core model
activities[].type int (enum) TBD Activity type enum - need mapping
activities[].name string TBD Activity name/description
activities[].performedById string TBD Agent/employee who performed activity
activities[].done bool TBD Is activity completed
activities[].id string TBD Activity identifier

Vitec Estate viewing/showing

The endpoint for viewing/showing of specific estate.

List Endpoint: GET /{installationId}/Estates/{estateId}/Showings

Vitec Field Type Maps To (Destinet) Notes
showings[].start datetime Estate.Showings[].Start Viewing start time
showings[].end datetime Estate.Showings[].End Viewing end time
showings[].showingId string Estate.Showings[].ShowingId Unique viewing identifier
showings[].showingType int (enum) Estate.Showings[].Type or TBD Convert to string: Open House, Private, etc. Need mapping
showings[].participantNumber int TBD Current participant count - not in Viewing class
showings[].maxParticipantNumber int TBD Max participants allowed - not in Viewing class
showings[].slots[].slotId string TBD Time slot ID - booking slots not in core model
showings[].slots[].start datetime TBD Slot start time - for time slot booking
showings[].slots[].end datetime TBD Slot end time - for time slot booking
showings[].slots[].participantCount int TBD Participants in this slot
showings[].slots[].participantLimit int TBD Limit for this slot
showings[].isCancelled bool TBD Is viewing cancelled - not in Viewing class

The endpoint for links on a specific estate.

List Endpoint: GET /{installationId}/Estates/{estateId}/GetEstatesLinks

Vitec Field Type Maps To (Destinet) Notes
links[].linkType int (enum) Estate.Links[].Type Convert to string: Video, VirtualTour, etc. Need mapping
links[].url string Estate.Links[].Url Link URL
links[].name string Estate.Links[].Text Link title/name
links[].deliveryPackageId string TBD Delivery package ID - not in PropertyLink class

Vitec Estate Images

The endpoint for a list of images on specific estate.

List Endpoint: /{installationId}/Estates/{estateId}/Images

Se also get first image from category: string: /{installationId}/Estates/{estateId}/ImageFromCategory/{categoryName}

Vitec Field Type Maps To (Destinet) Notes
images[].imageId string Estate.Images[].Id Unique image identifier
images[].fileType int (enum) Estate.Images[].FileExtension or TBD Convert enum to extension: jpg, png, etc. Need mapping
images[].lastChanged datetime TBD Image last changed date - not in Image class
images[].imageDescription string Estate.Images[].Caption Image description/caption
images[].imageSequence int Estate.Images[].Order Display order/sequence
images[].imageCategoryName string Estate.Images[].Category Category: Facade, Interior, FloorPlan, etc.
images[].isArchived bool TBD Is image archived - not in Image class

Vitec Estate Documents

The endpoint for a list of documents on specific estate.

List Endpoint: /{installationId}/Estates/{estateId}/Documents

Se also get specific document: /{installationId}/Estates/{estateId}/Documents/{documentId}

Vitec Field Type Maps To (Destinet) Notes
documents[].documentId string Estate.Documents[].Id Unique document identifier
documents[].head string Estate.Documents[].Title Document title/heading
documents[].extension string Estate.Documents[].FileExtension File extension: pdf, docx, etc.
documents[].docType int (enum) Estate.Documents[].Type or TBD Convert to string: FloorPlan, Prospectus, etc. Need mapping
documents[].lastChanged datetime TBD Last changed date - not in PropertyDocument class
documents[].signStatus int (enum) TBD Document signing status - not in core model
documents[].approvalDate datetime TBD Approval date - not in core model
documents[].approvedBy string TBD Who approved document - not in core model

Vitec Project

The endpoint for a project.

List Endpoint: /{installationId}/Estates/{estateId}/Project

Vitec Field Type Maps To (Destinet) Notes
project.estateId string Project.Id Project identifier
project.parentProjectId string Project.ParentProjectId Parent project reference for sub-projects
project.sellerId string Project.SellerId Seller/developer ID
project.projectName string Project.Name Project name
project.assignmentNum string TBD Assignment/reference number
project.status int (enum) Project.Status Stored as int enum from Vitec
project.departmentId int Project.DepartmentId Department reference (as string)
project.employeeId string Project.PrimaryAgentId Primary employee
project.p12Garanti bool TBD §12 garanti (5-year guarantee)
project.p47Garanti bool TBD §47 garanti (10-year guarantee)
project.p12Due datetime TBD §12 due date
project.p47Due datetime TBD §47 due date
project.p12Belop number TBD §12 amount
project.p47Belop number TBD §47 amount
project.textFields.miscellaneous string Project.DescriptionSections Add as section: "Miscellaneous" / "Diverse"
project.textFields.commonArea string Project.DescriptionSections Add as section: "Common Area" / "Fellesarealer"
project.textFields.garageParking string Project.DescriptionSections Add as section: "Garage/Parking" / "Garasje/Parkering"
project.textFields.booth string Project.DescriptionSections Add as section: "Storage" / "Bod"
project.textFields.completion string Project.DescriptionSections Add as section: "Completion" / "Ferdigstillelse"
project.textFields.kitchen string Project.DescriptionSections Add as section: "Kitchen" / "Kjøkken"
project.textFields.bath string Project.DescriptionSections Add as section: "Bathroom" / "Bad"
project.textFields.recreationalRooms string Project.DescriptionSections Add as section: "Recreational Rooms" / "Oppholdsrom"
project.textFields.wardrobe string Project.DescriptionSections Add as section: "Wardrobe" / "Garderobe"
project.textFields.construction string Project.DescriptionSections Add as section: "Construction" / "Konstruksjon"
project.textFields.facade string Project.DescriptionSections Add as section: "Facade" / "Fasade"
project.textFields.roofing string Project.DescriptionSections Add as section: "Roofing" / "Taktekning"
project.textFields.balconyTerracePatio string Project.DescriptionSections Add as section: "Balcony/Terrace" / "Balkong/Terrasse"
project.textFields.stairs string Project.DescriptionSections Add as section: "Stairs" / "Trapper"
project.textFields.elevators string Project.DescriptionSections Add as section: "Elevators" / "Heiser"
project.textFields.ventilation string Project.DescriptionSections Add as section: "Ventilation" / "Ventilasjon"
project.textFields.sanitary string Project.DescriptionSections Add as section: "Sanitary" / "Sanitær"
project.textFields.fireSafety string Project.DescriptionSections Add as section: "Fire Safety" / "Brannsikkerhet"
project.textFields.doors string Project.DescriptionSections Add as section: "Doors" / "Dører"
project.textFields.surfaces string Project.DescriptionSections Add as section: "Surfaces" / "Overflater"
project.textFields.boothSolutions string Project.DescriptionSections Add as section: "Storage Solutions" / "Bodløsninger"
project.textFields.garageDoor string Project.DescriptionSections Add as section: "Garage Door" / "Garasjeport"
project.textFields.mailboxes string Project.DescriptionSections Add as section: "Mailboxes" / "Postkasser"
project.textFields.doorPhone string Project.DescriptionSections Add as section: "Door Phone" / "Porttelefon"
project.textFields.cableTvBroadbandTelephone string Project.DescriptionSections Add as section: "Cable TV/Broadband" / "Kabel-TV/Bredbånd"
project.textFields.electricalSystem string Project.DescriptionSections Add as section: "Electrical System" / "Elektrisk anlegg"
project.textFields.organizationType string Project.DescriptionSections Add as section: "Organization Type" / "Organisasjonsform"
project.textFields.stipulatedMonthlyJointCosts string Project.DescriptionSections Add as section: "Monthly Joint Costs" / "Felleskostnader"
project.textFields.stipulatedShareJointDebt string Project.DescriptionSections Add as section: "Joint Debt" / "Fellesgjeld"
project.textFields.pricing string Project.DescriptionSections Add as section: "Pricing" / "Prising"
project.textFields.financing string Project.DescriptionSections Add as section: "Financing" / "Finansiering"
project.textFields.saleOfContractPosition string Project.DescriptionSections Add as section: "Sale of Contract Position" / "Videresalg"
project.textFields.cancellations string Project.DescriptionSections Add as section: "Cancellations" / "Kansellering"
project.textFields.options string Project.DescriptionSections Add as section: "Options" / "Valg/Tilvalg"
project.textFields.spaceCalculation string Project.DescriptionSections Add as section: "Space Calculation" / "Arealberegning"
project.textFields.paymentConditions string Project.DescriptionSections Add as section: "Payment Conditions" / "Betalingsbetingelser"
project.textFields.saleConditions string Project.DescriptionSections Add as section: "Sale Conditions" / "Salgsbetingelser"
project.textFields.buyingContract string Project.DescriptionSections Add as section: "Buying Contract" / "Kjøpekontrakt"
project.textFields.importantInformation string Project.DescriptionSections Add as section: "Important Information" / "Viktig informasjon"
project.textFields.distinctReservations string Project.DescriptionSections Add as section: "Reservations" / "Forbehold"
project.textFields.aboutTheProject string Project.Description or Project.DescriptionSections Main project description or as section
project.textFields.zoning string Project.DescriptionSections Add as section: "Zoning" / "Regulering"
project.textFields.guaranteeDescription string Project.DescriptionSections Add as section: "Guarantee" / "Garanti"
project.textFields.distinctReservationsComment string Project.DescriptionSections Add as section: "Reservations Comment" / "Forbehold kommentar"
project.textFields.solarConditions string Project.DescriptionSections Add as section: "Solar Conditions" / "Solforhold"
project.projectUnits[].estateId string Estate.Id (separate collection) Unit ID - create Estate with HousingProjectId reference
project.projectUnits[].priceEstimate number Estate.EstatePrice.PriceSuggestion Unit asking price
project.projectUnits[].usableArea number Estate.EstateSize.UsableArea Unit usable area
project.projectUnits[].primaryRoomArea number Estate.EstateSize.PrimaryRoomArea Unit primary room area
project.projectUnits[].descriptionItemAmountOfRooms int Estate.NoOfRooms Number of rooms in unit
project.projectUnits[].floor int Estate.Floor Floor number
project.projectUnits[].estateType string TBD Unit type
project.projectUnits[].status int (enum) Estate.Status Unit status: Available, Sold, Reserved. Need mapping
project.projectUnits[].purchaseCostsAmount number Estate.EstatePrice.PurchaseCostsAmount Purchase costs/omkostninger
project.projectUnits[].rentPrMonth number TBD Monthly costs (felleskostnader)
project.projectUnits[].collectiveDebt number Estate.EstatePrice.CollectiveDebt Collective debt/fellesgjeld
project.projectUnits[].soldPrice number Estate.EstatePrice.SoldPrice Final sold price
project.projectUnits[].soldDate datetime Estate.SoldDate Sale date
project.projectUnits[].reservedUntil datetime TBD Reservation expiry date
project.projectUnits[].apartmentNumber string Estate.Address.PublicApartmentNumber Apartment number
project.projectUnits[].totalPrice number Estate.EstatePrice.TotalPrice Total price with costs
project.projectUnits[].priceType int (enum) TBD Price type enum - need mapping
project.projectUnits[].highlighted bool TBD Featured/highlighted unit
project.projectUnits[].assignmentNum string Estate.ReferenceNumber Assignment/reference number
project.projectUnits[].grossArea number Estate.EstateSize.GrossArea Gross area/BRA
project.projectUnits[].estateTypeId string TBD Estate type identifier
project.projectUnits[].usableAreaI number Estate.Details.ResidentialUsableArea Indoor usable area (BRA-i)
project.projectUnits[].buildings[].name string TBD Building name for unit
project.projectUnits[].buildings[].buildingArea[].areaType int (enum) TBD Area type enum
project.projectUnits[].buildings[].buildingArea[].areaInformation[].floorNumber int TBD Floor number for area
project.projectUnits[].buildings[].buildingArea[].areaInformation[].areaSize number TBD Area size
project.projectUnits[].buildings[].buildingArea[].areaInformation[].areaDescription string TBD Area description
project.projectUnits[].sumArea.bra number Estate.EstateSize.UsableArea BRA total
project.projectUnits[].sumArea.braI number Estate.Details.ResidentialUsableArea BRA-i (indoor)
project.projectUnits[].sumArea.braE number Estate.Details.ExteriorUsableArea BRA-e (exterior)
project.projectUnits[].sumArea.braB number TBD BRA-b (storage)
project.projectUnits[].sumArea.braS number TBD BRA-s (secondary)
project.projectUnits[].sumArea.pRom number Estate.EstateSize.PrimaryRoomArea P-ROM
project.projectUnits[].sumArea.tba number Estate.Details.TerraceAndBalconyArea TBA (terrace/balcony)
project.projectUnits[].sumArea.sRom number TBD S-ROM (secondary rooms)
project.projectUnits[].sumArea.bta number TBD BTA
project.projectUnits[].facilities[].Name string Estate.Details.Features Unit facilities
project.createdDate datetime Project.CreatedDate Project creation date
project.changedDate datetime Project.LastModified Project last modified
project.parkingUnits[].name string TBD or Estate (separate) Parking unit name - could be separate Estate or metadata
project.parkingUnits[].estateId string TBD Parking unit ID
project.parkingUnits[].status int (enum) TBD Parking unit status
project.parkingUnits[].type int (enum) TBD Parking type: garage, outdoor, etc. Need mapping
project.parkingUnits[].level int TBD Parking level/floor
project.parkingUnits[].facilities[] int (enum) TBD Parking facilities
project.parkingUnits[].length number TBD Parking space length
project.parkingUnits[].width number TBD Parking space width
project.parkingUnits[].description string TBD Parking description
project.parkingUnits[].price number TBD Parking space price
project.parkingUnits[].taxbase number TBD Tax base for parking
project.parkingUnits[].estimatedTax number TBD Estimated tax
project.parkingUnits[].matrikkel.knr int TBD Cadastral info for parking
project.parkingUnits[].matrikkel.gnr int TBD Cadastral info
project.parkingUnits[].matrikkel.bnr int TBD Cadastral info
project.parkingUnits[].matrikkel.fnr int TBD Cadastral info
project.parkingUnits[].matrikkel.snr int TBD Cadastral info
project.parkingUnits[].matrikkel.ownPart string TBD Cadastral info
project.parkingUnits[].matrikkel.coOwnershipType int (enum) TBD Cadastral info
project.parkingUnits[].parkingId string TBD Parking unit identifier
project.developersReservationDueDate datetime TBD Developer reservation due date
project.developersReservationCompletedDate datetime TBD Completed date
project.developersReservations[].type int (enum) TBD Reservation type
project.developersReservations[].description string TBD Reservation description
project.currentProjectPhase int (enum) TBD or Phase.Status Current phase enum - need mapping
project.projectPhasePlanning string Project.DescriptionSections or Phase.Description Planning phase description
project.projectPhaseSale string Project.DescriptionSections or Phase.Description Sales phase description
project.projectPhaseBuilding string Project.DescriptionSections or Phase.Description Building phase description
project.projectPhaseTakeover string Project.DescriptionSections or Phase.Description Takeover phase description

Departments

Vitec Departments

The endpoint for all departments

List Endpoint: /{installationId}/Departments/GetDepartments

Se also get specific department: /{installationId}/Departments/{departmentId}

Vitec Field Type Maps To (Destinet) Notes
departments[].departmentId int (enum) Department.Id Convert to string for ID
departments[].name string Department.Name Department display name
departments[].organisationNumber string Department.RegistrationNumber Organization number
departments[].legalName string TBD Legal company name - not in core model
departments[].departmentNumber int TBD Internal department number - not in core model
departments[].phone string Department.Phone Primary phone number
departments[].fax string TBD Fax number - not in core Department model
departments[].email string Department.Email Primary email address
departments[].streetAddress string Department.Address.Street Street address
departments[].postalAddress string TBD Postal address if different - not in core
departments[].postalCode string Department.Address.ZipCode Postal code
departments[].city string Department.Address.City City name
departments[].isRegion bool Department.IsRegion Whether this is a regional office
departments[].subDepartments[] int (enum) Department.SubDepartments Sub-departments list
departments[].visitPostalCode string Department.Address.ZipCode Visiting address postal code (use in Address if different)
departments[].visitCity string Department.Address.City Visiting address city
departments[].marketName string TBD Marketing name - not in core model
departments[].webPublish bool TBD Whether to publish on web - not in core model
departments[].aboutDepartment string Department.Description About/description text
departments[].imageTimestamp datetime Department.ImageTimestamp Image last modified timestamp
departments[].isAPartOfAFranchise bool Department.IsPartOfFranchise Franchise membership

Employees

Vitec Employees

The endpoint for all employees

List Endpoint: /{installationId}/Employees

Se also get specific employee: /{installationId}/Departments/{employeeId}

Se also get image of employee: /{installationId}/Departments/{employeeId}/Picture

Vitec Field Type Maps To (Destinet) Notes
employees[].employeeId string Employee.Id Unique employee identifier
employees[].employeeNum int TBD Internal employee number
employees[].title string Employee.Title Job title/role
employees[].name string Employee.Name Full name
employees[].departmentId[] int[] Employee.DepartmentIds Convert to string list of department IDs
employees[].mobilePhone string Employee.MobilePhone Mobile phone number
employees[].workPhone string Employee.WorkPhone Office/work phone
employees[].email string Employee.Email Email address
employees[].employeeActive bool Employee.IsActive Whether employee is active
employees[].student bool TBD Whether employee is student/trainee
employees[].webPublish bool TBD Whether to publish on web
employees[].imageTimestamp datetime Employee.ImageTimestamp Image last modified timestamp
employees[].changedDate datetime Employee.LastModifiedOrigin Last modified date in origin system
employees[].createdDate datetime TBD Creation date
employees[].aboutMe string Employee.Description Biography/about text
employees[].employeePositions[].type int (enum) Employee.Positions[].Type or Employee.IsProjectBroker or Employee.IsRentalBroker Map to specialized broker flags or store in Positions
employees[].employeePositions[].percent number Employee.Positions[].Percent Employment percentage for position
employees[].availabilityStatus[].status int (enum) TBD Availability status - not in core model
employees[].availabilityStatus[].percent number TBD Availability percentage
employees[].availabilityStatus[].fromDate datetime TBD Availability from date
employees[].availabilityStatus[].toDate datetime TBD Availability to date
employees[].departmentPermissions[].departmentId int (enum) TBD Department permissions - not in core model
employees[].departmentPermissions[].departmentPermissionType int (enum) TBD Permission type - not in core model