Domain Model
Schedule Visit
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 |
| workspaceId | string.uuid | Yes | — | ID of the associated workspace |
| visibilityMode | enum(global, workspace_local, shared) | Yes | — | Visibility mode |
| workOrderId | string.uuid | Yes | — | ID of the associated work order |
| ticketId | unknown | No | — | ID of the associated ticket |
| siteId | string.uuid | Yes | — | ID of the associated site |
| assignedTechnicianId | string.uuid | Yes | — | ID of the associated assigned technician |
| additionalTechnicianIds | unknown | No | — | Additional technician ids |
| status | enum(scheduled, en_route, in_progress, completed, canceled, no_show) | Yes | — | Status |
| visitType | enum(service_call, installation, inspection, pm_visit, follow_up, survey) | Yes | — | Visit type |
| scheduledStart | string.date-time | Yes | — | Scheduled start |
| scheduledEnd | string.date-time | Yes | — | Scheduled end |
| estimatedDurationMinutes | unknown | No | — | Estimated duration minutes |
| actualDurationMinutes | unknown | No | — | Actual duration minutes |
| travelTimeMinutes | unknown | No | — | Travel time minutes |
| sequence | number | Yes | — | Sequence |
| notes | unknown | No | — | Notes |
| dispatcherNotes | unknown | No | — | Dispatcher notes |
| departedAt | unknown | No | — | Departed at |
| arrivedAt | unknown | No | — | Arrived at |
| completedAt | unknown | No | — | Completed at |
| checkInLatitude | unknown | No | — | Check in latitude |
| checkInLongitude | unknown | No | — | Check in longitude |
| signatureData | unknown | No | — | Signature data |
| signedByName | unknown | No | — | Signed by name |
| signedByTitle | unknown | No | — | Signed by title |
| signedAt | unknown | No | — | Signed at |
| signatureS3Key | unknown | No | — | Signature s3key |
| googleCalendarEventId | unknown | No | — | ID of the associated google calendar event |
| cancelReason | unknown | No | — | Cancel reason |
| createdById | unknown | No | — | ID of the associated created by |
Create Schema
Fields accepted when creating a new record:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| workspaceId | string.uuid | No | — | ID of the associated workspace |
| workOrderId | string.uuid | Yes | — | ID of the associated work order |
| ticketId | unknown | No | — | ID of the associated ticket |
| siteId | string.uuid | Yes | — | ID of the associated site |
| assignedTechnicianId | string.uuid | Yes | — | ID of the associated assigned technician |
| additionalTechnicianIds | string[] | No | — | Additional technician ids |
| visitType | enum(service_call, installation, inspection, pm_visit, follow_up, survey) | Yes | — | Visit type |
| scheduledStart | string.date-time | Yes | — | Scheduled start |
| scheduledEnd | string.date-time | Yes | — | Scheduled end |
| estimatedDurationMinutes | integer | No | — | Estimated duration minutes |
| sequence | integer | Yes | 1 | Sequence |
| notes | string | No | — | Notes |
| dispatcherNotes | string | No | — | Dispatcher notes |
Update Schema
All fields are optional when updating:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| assignedTechnicianId | string.uuid | No | — | ID of the associated assigned technician |
| additionalTechnicianIds | string[] | No | — | Additional technician ids |
| visitType | enum(service_call, installation, inspection, pm_visit, follow_up, survey) | No | — | Visit type |
| scheduledStart | string.date-time | No | — | Scheduled start |
| scheduledEnd | string.date-time | No | — | Scheduled end |
| estimatedDurationMinutes | unknown | No | — | Estimated duration minutes |
| notes | unknown | No | — | Notes |
| dispatcherNotes | unknown | No | — | Dispatcher notes |