Domain Model
Time Off Request
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 |
| userId | string.uuid | Yes | — | ID of the associated user |
| startDate | string | Yes | — | Start date |
| endDate | string | Yes | — | End date |
| timeOffType | enum(pto, sick, personal, training, jury_duty, bereavement, other) | Yes | — | Time off type |
| status | enum(pending, approved, denied) | Yes | — | Status |
| notes | unknown | No | — | Notes |
| approvedById | unknown | No | — | ID of the associated approved by |
| approvedAt | unknown | No | — | Approved at |
| denialReason | unknown | No | — | Denial reason |
| googleCalendarEventId | unknown | No | — | ID of the associated google calendar event |
Create Schema
Fields accepted when creating a new record:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| workspaceId | string.uuid | No | — | ID of the associated workspace |
| startDate | string | Yes | — | Start date |
| endDate | string | Yes | — | End date |
| timeOffType | enum(pto, sick, personal, training, jury_duty, bereavement, other) | Yes | — | Time off type |
| notes | string | No | — | Notes |