Service packages
A commercial package of a service, defined as a multiple of the service base unit.
- API name:
servicepackages - Domain: Catalog
- Modules: Sales, Services, 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 | |
| Service | serviceId | Reference | Yes | Parent service that defines the base unit. Set at creation and cannot change afterward. |
| Name | label | Text I18n | Commercial name for this service package. Shown on documents and combined with the service name on the materialized item. | |
| SKU | sku | Text | Internal code used to identify this service package 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. | |
| Quantity | quantity | Decimal | Yes | How many base units of the parent service this package contains (for example 8 hours or 6 pieces). |
| Discrete quantity | isDiscrete | Boolean | Yes | When enabled, the contained quantity must be a whole number of the service base units and later transactions use whole packages. When disabled, fractional package quantities are allowed. |
| Links | links | Link | Links | ||
| Image | image | Image | Package image. When set, it overrides the service image on the materialized item. | |
| Tags | tagIds | Tags | Optional tags for classifying and filtering this package. | |
| Description | description | Text Area I18n | Localized commercial description for this package. Shown on documents when applicable. | |
| 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.
Actions
What you can do with a record. Every action also sends the webhook event servicepackages.<action>. Reads (find, get, count) work on every table.
| Name | API name | Description | Where |
|---|---|---|---|
| Create | create | Add a new package. | App · API · MCP · CLI |
| Edit | update | Save changes to this package. | App · API · MCP · CLI |
| Disable | disable | Turn this package off for new use. Existing references stay. Enable it again to use it. | App · API · MCP · CLI |
| Enable | undisable | Turn this package back on for new use. | App · API · MCP · CLI |
| Publish | publish | Make this package available for use. | App · API · MCP · CLI |
| Block | block | Stop edits and deletion of this package. 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 package again. | App · API · CLI |
| Archive | archive | Retire this package 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 package to active lists and actions. | App · API · MCP · CLI |
| Delete | delete | Delete this package 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.