Skip to content

Services Tools

Tools for managing services on buildings.

Tool Description
list_services List all active services for a building
get_service Get a single service by ID for a building
add_services Create one or more services for a building
update_services Update one or more services for a building
remove_services Archive one or more services on a building

Services represent additional charges that can be applied to bookings. They are defined at the building level and can then be assigned to products as either included or optional.

  • name: Display name of the service (3-64 characters)
  • amountCents: Price including VAT, in the smallest currency unit (e.g., pence, cents)
  • amountCurrency: ISO 4217 currency code (e.g., GBP, EUR)
  • amountType: GROSS. Services are priced gross only; a net service can be moved to gross, but not back
  • applicationUnit: How the service is charged: PER_BOOKING or PER_UNIT_OF_SERVICE. Per-billing-period services cannot be created through the API, and a service cannot be moved onto that unit
  • occurrenceUnit, occurrenceFrequency: How often a PER_UNIT_OF_SERVICE service recurs, given together. A monthly charge is MONTHS and 1. Moving a service to another application unit clears its schedule
  • prorationPolicy: What a partial final occurrence charges: FULL_OCCURRENCE or PRO_RATA. Without one, every occurrence is charged in full
  • vatCodeId: A VAT code from the building’s workspace; the workspace’s exempt VAT code when not given
  • generalLedgerId: The uuid of a general ledger from the building’s workspace; required when invoicing is enabled
  • chargeTypeId: A finance charge type available to the workspace’s organisation, which classifies the service

Every tool returns amountType and applicationUnit in lowercase (gross, per_booking), while add_services and update_services take them in uppercase. get_service, add_services, update_services and remove_services use the catalog GraphQL API. list_services still reads the legacy onboarding endpoint, so its generalLedgerId is the ledger’s numeric ID, not the uuid the other tools use.