Domain Model
Monitoring Account
Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string.uuid | Yes | — | Id |
| createdAt | string.date-time | Yes | — | Created at |
| updatedAt | string.date-time | Yes | — | Updated at |
| customerId | string | Yes | — | ID of the associated customer |
| siteId | string | Yes | — | ID of the associated site |
| monitoringType | enum(burglar, fire, burglar_and_fire) | Yes | — | Monitoring type |
| status | enum(active, suspended, canceled, pending_activation) | Yes | — | Status |
| billingFrequency | enum(monthly, quarterly, annually) | Yes | — | Billing frequency |
| monthlyRate | number | Yes | — | Monthly rate |
| autoBilling | boolean | Yes | — | Auto billing |
| billingStartDate | string | Yes | — | Billing start date |
| nextBillingDate | string | Yes | — | Next billing date |
| centralStationAccountNumber | unknown | Yes | — | Central station account number |
| notes | unknown | Yes | — | Notes |
| workspaceId | string | Yes | — | ID of the associated workspace |
| visibilityMode | enum(global, workspace_local, shared) | Yes | — | Visibility mode |
Create Schema
Fields accepted when creating a new record:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| customerId | string | Yes | — | ID of the associated customer |
| siteId | string | Yes | — | ID of the associated site |
| monitoringType | enum(burglar, fire, burglar_and_fire) | Yes | — | Monitoring type |
| status | enum(active, suspended, canceled, pending_activation) | Yes | "active" | Status |
| billingFrequency | enum(monthly, quarterly, annually) | Yes | "monthly" | Billing frequency |
| monthlyRate | number | Yes | — | Monthly rate |
| autoBilling | boolean | Yes | true | Auto billing |
| billingStartDate | string | Yes | — | Billing start date |
| nextBillingDate | string | Yes | — | Next billing date |
| centralStationAccountNumber | string | No | — | Central station account number |
| notes | string | No | — | Notes |
| workspaceId | string | No | — | ID of the associated workspace |
| visibilityMode | enum(global, workspace_local, shared) | Yes | "workspace_local" | Visibility mode |
Update Schema
All fields are optional when updating:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| monitoringType | enum(burglar, fire, burglar_and_fire) | No | — | Monitoring type |
| status | enum(active, suspended, canceled, pending_activation) | No | "active" | Status |
| billingFrequency | enum(monthly, quarterly, annually) | No | "monthly" | Billing frequency |
| monthlyRate | number | No | — | Monthly rate |
| autoBilling | boolean | No | true | Auto billing |
| billingStartDate | string | No | — | Billing start date |
| nextBillingDate | string | No | — | Next billing date |
| centralStationAccountNumber | string | No | — | Central station account number |
| notes | string | No | — | Notes |