{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/rotageek/main/json-schema/rotageek-get-api-v1-schedule-locations-locationid-response-schema.json",
  "title": "GetApiV1ScheduleLocationsLocationidResponse",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/rotageek-openapi-generated.yml#/components/schemas/GetApiV1ScheduleLocationsLocationidResponse",
  "type": "object",
  "properties": {
    "Items": {
      "type": "array",
      "description": "Collection of schedule records."
    },
    "Items[].Id": {
      "type": "string",
      "description": "The id of the scheduled record"
    },
    "Items[].Name": {
      "type": "string",
      "description": "The name of the scheduled record"
    },
    "Items[].UserId": {
      "type": "string",
      "description": "The id of the user the record is assigned to"
    },
    "Items[].CreatedOn": {
      "type": "string",
      "description": "When the record was created"
    },
    "Items[].Start": {
      "type": "string",
      "description": "When the record starts"
    },
    "Items[].End": {
      "type": "string",
      "description": "When the record ends"
    },
    "Items[].LocationId": {
      "type": "string",
      "description": "The location the record is scheduled at"
    },
    "Items[].PayrollCode": {
      "type": "string",
      "description": "The payroll code assigned to the record"
    },
    "Items[].RecordType": {
      "type": "string",
      "description": "The type of record \"Shift\" | \"Leave\""
    },
    "Items[].BreakDuration": {
      "type": "integer",
      "description": "The total duration in minutes of the breaks on the record"
    },
    "Items[].PaidBreakDuration": {
      "type": "integer",
      "description": "The duration in minutes of the paid break on the record"
    },
    "Items[].UnpaidBreakDuration": {
      "type": "integer",
      "description": "The duration in minutes of the unpaid break on the record"
    },
    "Items[].LeaveRequestId": {
      "type": "string",
      "description": "The leave request id of the record, if it is a leave record"
    },
    "Items[].LeaveTypeId": {
      "type": "string",
      "description": "The leave type id of the record, if it is a leave record"
    },
    "Items[].JournalSource": {
      "type": "string",
      "description": "The source that created the record"
    },
    "Items[].AmendedAfterAutoschedule": {
      "type": "boolean",
      "description": "Whether or not the record has been modifed after it was created by autoscheduling (if it was)"
    },
    "Items[].Tasks": {
      "type": "array",
      "description": "A collection of the Tasks that make up the record"
    },
    "Items[].Tasks[].Name": {
      "type": "string",
      "description": "The task name"
    },
    "Items[].Tasks[].Start": {
      "type": "string",
      "description": "The task start time"
    },
    "Items[].Tasks[].End": {
      "type": "string",
      "description": "The task end time"
    },
    "Items[].Tasks[].LocationId": {
      "type": "string",
      "description": "Where the task is scheduled for"
    },
    "Items[].Tasks[].Room": {
      "type": "string",
      "description": "The room the task is scheduled for"
    },
    "Items[].LastModifiedAt": {
      "type": "string",
      "description": "When the record was last modified"
    },
    "Pagination": {
      "type": "object",
      "description": "Pagination information"
    },
    "Pagination.PageNumber": {
      "type": "integer"
    },
    "Pagination.PageSizeRequested": {
      "type": "integer"
    },
    "Pagination.ItemsCount": {
      "type": "integer"
    },
    "Pagination.HasMore": {
      "type": "boolean",
      "description": "If true, there are more records to fetch at the next page"
    }
  }
}