Services
An operational service in the catalog, with its base unit.
- API name:
services - Domain: Catalog
- Modules: Sales, Services, Finances, Master data
Fields
The API name is what the API, MCP and the CLI use.
| Name | API name | Type | Required | Description |
|---|---|---|---|---|
| ID | id | Record ID | Yes | |
| Name | label | Text I18n | Commercial name of the service. Shown on documents, pickers, and the materialized item. | |
| SKU | sku | Text | Internal code used to identify this service in operations. Unique within the organization. | |
| GTIN barcode | gtin | GTIN barcode | Optional GTIN (8, 12, 13, or 14 digits) to identify the item by scan. | |
| Family | servicegroupId | Reference | Optional family that groups this service with related catalog services. | |
| Base unit | baseunit | Constant | Yes | Base unit for billing and catalog identity — typically hours or days for services. |
| Fulfillment | fulfillment | Constant | Yes | How the sale is earned: on commitment when the order is approved, or when a service order is completed. |
| Discrete quantity | isDiscrete | Boolean | Yes | When enabled, quantities must be whole numbers in the base unit (for example 1 or 2 hours). When disabled, fractional quantities are allowed (for example 0.5 hours or 1.25 days). |
| Links | links | Link | Links | ||
| Image | image | Image | Primary service image shown in the catalog and copied to materialized items unless a package overrides it. | |
| Tags | tagIds | Tags | Optional tags for classifying and filtering this service. | |
| Description | description | Text Area I18n | Localized commercial description. Shown on documents and copied to materialized items. | |
| Data | data | Data | ||
| External identifiers | identifiers | External identifier | External identifiers | Remote system keys and optional id types. One value per system and type pair on this record. | |
| Created by | createdBy | User | ||
| Created at | createdAt | Date and Time | Yes | |
| Updated by | updatedBy | User | ||
| Updated at | updatedAt | Date and Time | Yes | |
| Published by | publishedBy | User | ||
| Published at | publishedAt | Date and Time | ||
| Disabled by | disabledBy | User | ||
| Disabled at | disabledAt | Date and Time | ||
| Blocked by | blockedBy | User | ||
| Blocked at | blockedAt | Date and Time | ||
| Archived by | archivedBy | User | ||
| Archived at | archivedAt | Date and Time |
Relations
Owned records (solid line) are deleted with their owner. Grouped records (dashed line) can exist alone.
| Field | Points to | Kind |
|---|---|---|
Family servicegroupId | Service families | reference |
Tags tagIds | Tags | reference |
Actions
What you can do with a record. Every action also sends the webhook event services.<action>. Reads (find, get, count) work on every table.
| Name | API name | Description | Where |
|---|---|---|---|
| Create | create | Add a new service. | App · API · MCP · CLI |
| Edit | update | Save changes to this service. | App · API · MCP · CLI |
| Disable | disable | Turn this service off for new use. Existing references stay. Enable it again to use it. | App · API · MCP · CLI |
| Enable | undisable | Turn this service back on for new use. | App · API · MCP · CLI |
| Publish | publish | Make this service available for use. | App · API · MCP · CLI |
| Block | block | Stop edits and deletion of this service. It stays visible and can still appear on existing documents. Unblock to edit again. | App · API · CLI |
| Unblock | unblock | Allow edits and deletion of this service again. | App · API · CLI |
| Archive | archive | Retire this service from daily use. It leaves active lists and pickers, and most actions stop. Unarchive to restore it. | App · API · MCP · CLI |
| Restore | unarchive | Return this service to active lists and actions. | App · API · MCP · CLI |
| Delete | delete | Delete this service and the data that belongs with it. This cannot be undone. | App · API · MCP · CLI |
States
How a record moves from state to state. Archive and block can happen in any state.