Skip to main content
The five tables below join to the Property domain and to each other as shown in the diagram. See the Data Model Overview for the complete cross-domain diagram.

notifications

GET /v1/operations/notifications — maintenance reports and damage notifications.
string
required
Unique property identifier.
integer
required
Unique identifier for the notification.
integer
Technical object the report concerns. Joins to Property.technical_objects.technical_object_id, but not every value has a matching technical object.
integer
Key for whoever filed the report: property, unit and reporter number combined into one number, separators dropped. Not a person ID — it doesn’t join to Stakeholder.tenants.person_id.
object
Cost centre the report is booked against, as a structured object — same shape as projects.cost_center.
object
Deadline window for resolving the report.
string
Subject / title of the report.
string
Type of report.
string
Who filed the report: tenant, creditor, owner, user, or partner.
string
Requires the personal grant. Who filed the report, as free text — usually a reference number and a name, for example 1111+200011 | Name.
string
Report number.
string
Requires the personal grant. User who created the report.
date
Date the report was filed.
string
Team responsible for handling the report, as a numeric team ID (for example 1). No team name is available, unlike projects.responsible_team.
string
Requires the personal grant. Individual responsible for handling the report.
string
Priority of the report as a numeric ID from the ERP (for example 83). No plain-text label is available, and the IDs differ between customers.
string
Current status of the report.
date
Date of the last status change.
integer
Number of days the report has been in process.
boolean
Whether this report is an insurance claim.
string
Requires the personal grant. Free-text comment.

offers

GET /v1/operations/offers — offers that contractors submitted in response to a request for quotation, one row per offer. A request can have several offers; requests without any offer are only in requests.
string
required
Unique property identifier.
integer
required
Unique identifier for the offer. Not the same value as offer_nr below.
string
Cost centre of the request: property number plus unit, floor or building (for example 1106/10023), or just the property number.
integer
Unit the request concerns, if it concerns a single unit. Joins to Property.property_structure.floor_area_id.
integer
required
Request for quotation the offer answers. Joins to requests.request_id.
integer
Contract reference recorded on the offer. Not a join key: it doesn’t match Contracts.service_contracts.contract_id.
integer
Order placed on the basis of this offer, if any. Joins to orders.order_id.
integer
Project account the request belongs to, if any. Joins to projects.project_account_id; a few values have no matching project.
string
Contractor that submitted the offer. Joins to Stakeholder.creditors.creditor_id.
object
Validity period of the request, taken from the request (same as requests.request_period). Not the period the work is carried out in — for that see orders.runtime_period.
string
cost_center_id and cost-centre name as one display string. For display, not for joining.
string
Display number of the request, same as requests.request_number.
string
Offer number as recorded in the ERP, if any. Not the same identifier as offer_id.
string
Subject of the request the offer answers.
string
Type of request, for example Anfrage Instandhaltung.
number
Offered price. 0 when no price was recorded.
string
Status of the request as a numeric status code from the ERP, for example 21 or 23. No plain-text label is available. Same value as requests.status_text.
string
Priority of the request as number and label, for example 3 | Mittel.
string
Requires the personal grant. Free-text remark on the offer.
boolean
Whether the offer was accepted. null when not set.
boolean
Whether the offer is marked as the award recommendation. Despite the name, this is not a confirmation that an order was placed; use order_id for that. null when not set.

orders

GET /v1/operations/orders — maintenance and repair orders placed with contractors, one row per order.
All position-level fields (position_amount, position_description, quantity, unit, price, vat_rate_position, position_*_amount, position_obligo_net, invoice_status) come from the order’s first position only. For orders with several positions, use the order-level fields (total_amount, order_*_amount, order_obligo_net) for totals.
integer
required
Unique identifier for the order. Not the same value as order_number below.
string
Composite key of property, unit and person number with separators dropped. It identifies the occupant of the unit the order concerns, but it doesn’t join to Stakeholder.tenants.person_id.
string
required
Unique property identifier. Joins to Property.properties.property_id.
integer
Offer number the order refers to, as a number. Not a join key: it doesn’t match offers.offer_id.
integer
Project account the order is booked to, if any. Joins to projects.project_account_id, not to projects.project_id.
string
Cost centre the order is booked against: property number plus unit, floor or building (for example 1101/20022), or just the property number.
integer
Technical object the order concerns. Joins to Property.technical_objects.technical_object_id, but not every value has a matching technical object.
integer
Notification the order was created from, if any. Joins to notifications.report_id.
string
Contractor the order was placed with. Joins to Stakeholder.creditors.creditor_id.
object
Ordered value of the order from its priced positions. 0 when the order was placed without prices; actual costs then only show in order_recorded_amount, order_booked_amount and order_paid_amount.
object
Ordered value of the first position. 0 when the position has no price.
object
Ledger account the order costs are booked to.
object
Period in which the work is to be carried out.
string
Business/display order number, e.g. 2018/00001. Not the same identifier as order_id.
string
Subject / title of the order.
string
Offer number as entered on the order, if the order is based on an offer.
string
Type of order, e.g. “Laufende Instandhaltung”.
string
Requires the personal grant. Description of the property the order belongs to.
string
Requires the personal grant. Name of the contractor.
string
Project account the order is booked to, as accounting entity and account number joined by +. Empty for orders outside a project.
string
cost_center_id and the cost-centre name as one display string. For display only, not for joining.
integer
VAT code of the first position.
number
VAT rate in percent that applied to vat_code on the order’s reference date.
string
Two-letter type of the VAT code from the ERP, e.g. VN.
string
Requires the personal grant. Free-text description of the first position.
string
Requires the personal grant. Not populated; always an empty string.
string
Requires the personal grant. Not populated; always an empty string.
string
Requires the personal grant. Not populated; always an empty string.
string
Requires the personal grant. Not populated; always an empty string.
string
Requires the personal grant. Not populated; always an empty string.
string
Requires the personal grant. Not populated; always an empty string.
string
Display number of the notification in report_id.
string
Display number of the technical object in technical_object_id.
string
Internal number of the technical object.
string
Name of the technical object.
string
Requires the personal grant. Free-text note on the order.
date
Date the damage occurred, for repair orders.
boolean
Whether orders of this type are passed on to the contractor portal.
string
Processing status: Neu, In Genehmigung, Genehmigt, In Bearbeitung, Erledigt or Storniert.
string
Priority level.
string
Who reported the issue: Personen (a person such as a tenant), Kreditor (a contractor) or Benutzer (a user of the management system).
string
Requires the personal grant. Free-text information about the reporter, often name and phone number.
string
Requires the personal grant. Full name of the reporter if the reporter is a known person, otherwise the same text as reporter_info.
number
Quantity of the first position.
number
Unit field of the first position, delivered as a number.
number
Unit price of the first position.
number
VAT rate in percent as entered on the first position.
string
Payment progress of the first position, derived from its amounts: Bezahlt (paid in full), Gebucht (booked), Erfasst (invoice recorded), Obligo (committed) or Offen (open).
number
Committed net amount (obligo) of the first position.
number
Invoiced amount recorded for the first position.
number
Amount booked for the first position.
number
Amount paid for the first position.
number
Committed net amount (obligo) of the whole order.
number
Invoiced amount recorded for the whole order.
number
Amount booked for the whole order.
number
Amount paid for the whole order.
Link to the documents in the customer’s document management system. Without a connected DMS the field holds a placeholder text instead of a URL; check for a URL before rendering a link.

projects

GET /v1/operations/projects — capital projects and larger maintenance initiatives, one row per project.
The table returns every project of the property management, whatever its status — also projects that are only planned, applied for, already settled, or carried out by the owner. Filter on status if you only need some of them. Fields that pointed to a single offer, order or notification (offer_id, creditor_id, report_id and their numbers) are no longer part of projects: a project can have many of each. Use project_account_id to find the requests, offers and orders of a project.
string
required
Unique property identifier.
integer
required
Unique identifier for the project. Not the same value as project_number below.
integer
Project account the project is booked on. requests.project_account_id, offers.project_account_id and orders.project_reference_id point here — use it to find the requests, offers and orders belonging to a project.
string[]
Where the project sits in the accounting chart of accounts, as an ordered list from coarse to fine (e.g. ["1000/10/20/01", "1000/10/20/01.1", "1000/10/20/01.1.5"]). Segments are separated by / at the higher levels and . for finer subdivisions — not a purely dot-separated numeric form. Empty, deeper levels are omitted.
object
Cost centre the project is booked against, as a structured object.
object
Planned duration of the project.
object
Period the project’s budget covers.
string
Name of the project account.
string
Comma-separated list of general ledger account numbers for the project — usually several, not a single value.
string
Despite the name, not a ledger-account identifier — the same value as cost_center.code under a different field name (both derive from the same source column). Use ledger_account for the actual general ledger account number(s).
string
Project type.
string
Current project status, as a text label defined by the property manager (for example beantragt, in Planung, genehmigt). Labels differ between customers.
object[]
Requires the personal grant. Comments and notes, as a list of objects. Combines what were four separate fields — comment (a status comment) and comment_1/comment_2/comment_3 (notes) — into one array. Entries without text are included with an empty text. Each entry keeps its origin via type.
number
Completion percentage.
number
Total budgeted amount for the project.
number
Committed-but-not-yet-invoiced budget limit.
number
Actual, booked value to date.
number
Recorded value.
number
Capitalised value.
number
Modernisation value.
number
Maintenance value.
string
Project management classification flag ("0"/"1").
number
Budget allocated to the project lead.
integer
Overhead-charge calculation mode.
number
Overhead charge, as a percentage.
number
Overhead charge amount.
string
Trade / industry the project belongs to.
string
Team responsible for the project.
string
Requires the personal grant. Individual responsible for the project.
string
Budget description.
string
Requires the personal grant. Comment on the budget.
Link to the documents in the customer’s document management system. Without a connected DMS the field holds a placeholder text instead of a URL; check for a URL before rendering a link.
string
Business/display project number. Not the same identifier as project_id above.

requests

GET /v1/operations/requests — requests for quotation from the maintenance process, one row per request, also when no offer has come in yet.
string
required
Unique property identifier.
integer
required
Unique identifier for the request. Not the same value as request_number below.
integer
Project account the request belongs to, if any. Joins to projects.project_account_id. Empty for requests outside a project; a few values have no matching project.
object
Cost centre the request is booked against, same shape as projects.cost_center.
integer
Unit the request concerns, if it concerns a single unit. Joins to Property.property_structure.floor_area_id.
object
Validity period of the request. Not the period the work is carried out in — for that see orders.runtime_period.
string
Subject / title of the request.
string
Type of request.
string
Status of the request as a numeric status code from the ERP, for example 21 or 23. No plain-text label is available.
string
Priority of the request as number and label, for example 3 | Mittel.
string
Business/display request number. Not the same identifier as request_id above.