Scheduling Schema
Schemas
Appointment
Core scheduling object used for appointments, tasks, shifts, meetings, and holidays.
| Property | Type | Description |
|---|---|---|
id | integer | Appointment ID |
agent_id | integer | Assigned agent ID |
agents | array[Uname] | Multiple assigned agents |
ticket_id | integer | Associated ticket ID |
client_id | integer | Associated client ID |
client_name | string | Client name |
site_id | integer | Associated site ID |
user_id | integer | Associated user/contact ID |
subject | string | Appointment title/subject |
start_date | date-time | Start date and time |
end_date | date-time | End date and time |
allday | boolean | Whether this is an all-day appointment |
appointment_type_id | integer | Appointment type ID |
appointment_type_name | string | Appointment type name |
appointment_status | integer | Current appointment status |
status | integer | General status |
complete_status | integer | Completion status |
complete_date | date-time | Date/time appointment was completed |
complete_agent_id | integer | Agent who completed the appointment |
complete_note | string | Completion notes (plain text) |
note | string | Appointment notes (plain text) |
note_html | string | Appointment notes (HTML) |
is_task | boolean | Whether this appointment is a task |
is_private | boolean | Whether the appointment is private |
holiday_id | uuid | Associated holiday UUID |
holiday_type | integer | Holiday type |
recurring_master_id | string | ID of the recurring master appointment |
halo_recurring_master_id | integer | Halo-internal recurring master ID |
collection_id | uuid | Collection group UUID for linked appointments |
schedule | Schedule | Embedded recurrence schedule definition |
schedulehandledtype | integer | How the schedule was applied |
appointment_location | integer | Location type ID |
appointment_location_name | string | Location name |
appointment_location_free_text | string | Free-text location description |
requires_approval | boolean | Whether the appointment requires approval |
approval_status | integer | Approval status |
approvalagent | integer | Agent responsible for approval |
approvalnote | string | Approval note |
approvaldatetime | date-time | When approval was granted |
estimate | double | Estimated time (hours) |
appointment_hours | double | Total appointment hours |
appointment_work_hours | double | Working hours for the appointment |
complete_timetaken | double | Actual time taken at completion |
utcoffset | double | UTC offset for date calculations |
shift_type_id | integer | Shift type ID |
shift_team_id | integer | Shift team ID |
is_active_shift | boolean | Whether the shift is currently active |
is_ad_hoc_shift | boolean | Whether this is an ad-hoc shift |
shift_breaks | array[TimesheetEvent] | Break events within the shift |
online_meeting_url | string | URL for online meeting |
conference_id | string | Conference call ID |
organizer | integer | Organizer agent ID |
attendees | string | Attendee list |
inform_agents | boolean | Whether to notify assigned agents |
inform_user | boolean | Whether to notify the user/contact |
booking_fields | array[RequestTypeField] | Custom booking form fields |
ticket_cf_update | array[CustomField] | Custom field updates to apply to the linked ticket |
update_ticket_status | integer | Status to set on the linked ticket |
date_created | date-time | Creation timestamp |
last_modified | date-time | Last modified timestamp |
Schedule
Defines a recurrence pattern for appointments or holidays.
| Property | Type | Description |
|---|---|---|
id | integer | Schedule ID |
subject | string | Schedule subject/name |
agentid | integer | Associated agent ID |
requesttype | integer | Request type |
type | integer | Schedule type |
recurrencepattern | integer | Recurrence pattern type (daily/weekly/monthly/yearly) |
startdate | date-time | Recurrence start date |
enddate | date-time | Recurrence end date |
hours | double | Duration in hours |
rangeofrecurrence | integer | Range of recurrence setting |
endafteramount | integer | End after N occurrences |
dailyrecurrencepattern | integer | Daily pattern type |
dailyrecurrencedays | integer | Number of days between daily recurrences |
weeklyrecurrenceweeks | integer | Number of weeks between weekly recurrences |
weeklyrecurrencestring | string | Days of week bitmask for weekly recurrence |
weeklyrecurrenceamount | array[KeyPair] | Weekly recurrence day configuration |
monthlyrecurrencepattern | integer | Monthly pattern type |
monthlyrecurrencespecificdate | integer | Specific day of month |
monthlyrecurrencespecificdateinterval | integer | Month interval for specific-date pattern |
monthlyrecurrencespecificday | integer | Ordinal day (e.g., first, last) |
monthlyrecurrencespecificdayofweek | integer | Day of week for ordinal pattern |
monthlyrecurrencespecificdayinterval | integer | Month interval for ordinal pattern |
yearlyrecurrencepattern | integer | Yearly pattern type |
yearlyrecurrencespecificdate | integer | Day of month for yearly specific-date |
yearlyrecurrencespecificdatemonth | integer | Month for yearly specific-date |
yearlyrecurrencespecificdateinterval | integer | Year interval for specific-date pattern |
yearlyrecurrencespecificday | integer | Ordinal day for yearly ordinal pattern |
yearlyrecurrencespecificdayofweek | integer | Day of week for yearly ordinal pattern |
yearlyrecurrencespecificdaymonth | integer | Month for yearly ordinal pattern |
yearlyrecurrencespecificdayinterval | integer | Year interval for ordinal pattern |
nextrundate | date-time | Next execution date |
nextcreationdate | date-time | Next creation date |
uniqueid | integer | Unique schedule identifier |
events | array[Appointment] | Generated appointment events |
Timesheet
Represents a single day's timesheet for an agent.
| Property | Type | Description |
|---|---|---|
id | integer | Timesheet ID |
agent_id | integer | Agent ID |
agent_name | string | Agent name |
date | date-time | Timesheet date |
start_time | date-time | Shift start time |
end_time | date-time | Shift end time |
estimated_start_time | date-time | Estimated shift start |
estimated_end_time | date-time | Estimated shift end |
target_hours | double | Target hours for the day |
actual_hours | double | Actual hours worked |
work_hours | double | Billable work hours |
chargeable_hours | double | Chargeable hours |
break_hours | double | Break hours taken |
allowed_break_hours | double | Allowed break hours |
unlogged_hours | double | Hours not yet logged |
forecasting_hours | double | Forecasted hours |
workdayid | integer | Associated workday configuration ID |
events | array[TimesheetEvent] | Individual time entries for the day |
approval | TimesheetApproval | Approval record |
timesheet_manager | integer | Manager agent ID for approval |
forecasting_id | integer | Forecasting record ID |
percentage | double | Completion percentage |
enableshifts | boolean | Whether shifts are enabled |
colour | string | Display colour |
_submitapproval | boolean | Action: submit for approval |
_approve | boolean | Action: approve timesheet |
_reject | boolean | Action: reject timesheet |
_revertapproval | boolean | Action: revert approval |
_approval_message | string | Message for approval action |
TimesheetEvent
An individual time entry within a timesheet day.
| Property | Type | Description |
|---|---|---|
id | integer | Event ID |
event_type | integer | Type of event |
subject | string | Event subject/description |
start_date | date-time | Start time |
end_date | date-time | End time |
timetaken | double | Time taken in hours |
agent_id | integer | Agent ID |
ticket_id | integer | Associated ticket ID |
client_id | integer | Associated client ID |
site_id | integer | Associated site ID |
action_number | integer | Associated ticket action number |
action_invoice_number | integer | Associated invoice number |
charge_rate | integer | Charge rate type |
charge_type_name | string | Charge type name |
note | string | Event notes |
customer | string | Customer name |
user_name | string | Associated user name |
break_type | integer | Break type (for break events) |
break_note | string | Break notes |
shift_apid | integer | Associated shift appointment ID |
holiday_id | integer | Associated holiday ID |
mileage | integer | Mileage logged |
traveltime | double | Travel time in hours |
tickettype_id | integer | Ticket type ID |
contract_id | integer | Associated contract ID |
category1–category4 | string | Category classifications |
agents | array[KeyPair] | Additional agents on the event |
lognewticket | boolean | Create a new ticket from this event |
is_starting_break | boolean | Marks this event as starting a break |
is_ending_break | boolean | Marks this event as ending a break |
new_agent_status | integer | Agent status to set after this event |
originalstartdate | date-time | Original start date before edits |
Holidays
A holiday or leave entry associated with an agent and/or workday.
| Property | Type | Description |
|---|---|---|
id | uuid | Holiday UUID |
holid | integer | Holiday integer ID |
workday_id | integer | Associated workday ID |
workday_guid | uuid | Associated workday UUID |
name | string | Holiday name |
date | date-time | Holiday start date |
end_date | date-time | Holiday end date |
allday | boolean | Whether it is an all-day holiday |
duration | double | Duration in hours |
holiday_type | integer | Holiday type |
agent_id | integer | Associated agent ID |
agent_name | string | Agent name |
entity | integer | Entity type |
entity_id | integer | Entity ID |
environment | integer | Environment ID |
isrecurring | boolean | Whether this holiday recurs |
schedule | Schedule | Recurrence schedule definition |
schedulehandledtype | integer | How the schedule was processed |
approval_status | integer | Approval status |
approvalnote | string | Approval note |
approval_start | boolean | Whether approval was started |
risk | double | Change freeze risk score |
enable_change_freeze_per_client | boolean | Enable per-client change freeze |
change_freeze_clients | array[AreaChangeFreeze] | Per-client change freeze settings |
appointmentobj | Appointment | Associated appointment object |
thirdpartyid | string | External system ID |
Workdays
A workday configuration defining business hours, active days, holidays, timeslots, and breaks.
| Property | Type | Description |
|---|---|---|
id | integer | Workday ID |
guid | uuid | Workday UUID |
name | string | Workday name |
summary | string | Description |
intent | string | Intent/purpose |
timezone | string | Timezone identifier |
start | date-time | Default start time |
end | date-time | Default end time |
alldayssame | boolean | Whether all days share the same start/end times |
incmonday–incsunday | boolean | Whether each day of the week is active |
startmonday–startsunday | date-time | Start time per day of week |
endmonday–endsunday | date-time | End time per day of week |
access_control_level | integer | Access control level |
access_control | array[AccessControl] | Access control list |
holidays | array[Holidays] | Holidays within this workday |
timeslots | array[Timeslot] | Available timeslots |
breaks | array[WorkdayBreak] | Break definitions |
Downtime
Records a service interruption period linked to a ticket.
| Property | Type | Description |
|---|---|---|
id | integer | Downtime ID |
faultid | integer | Associated ticket (fault) ID |
fault_summary | string | Ticket summary |
service | integer | Affected service ID |
service_desc | string | Service description |
workdays | integer | Workday configuration ID for SLA calculation |
hours | double | Duration of downtime in hours |
startdate | date-time | Downtime start |
enddate | date-time | Downtime end |
ended | boolean | Whether the downtime period has ended |
calculated | boolean | Whether downtime hours have been calculated |
allday | boolean | Whether this was an all-day downtime event |