{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/loadsmart/json-schema/loadsmart-create-recurring-appointments-dto-schema.json",
  "title": "CreateRecurringAppointmentsDto",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/loadsmart-appointments-api-openapi.yml#/components/schemas/CreateRecurringAppointmentsDto",
  "type": "object",
  "properties": {
    "numWeeks": {
      "type": "number",
      "description": "Number of weeks to repeat pattern"
    },
    "weekDays": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Sunday",
          "Monday",
          "Tuesday",
          "Wednesday",
          "Thursday",
          "Friday",
          "Saturday"
        ]
      }
    },
    "copyFields": {
      "type": "array",
      "description": "Copy appointment fields to the series. Copying refNumber will not work if unique ref number setting is on",
      "items": {
        "type": "string",
        "enum": [
          "refNumber",
          "customFields",
          "notes",
          "tags"
        ]
      }
    },
    "customFormsDataToCopy": {
      "description": "Load-type custom form data rows from the parent appointment to copy into each child. Pass the full row objects returned by the customformdata API (formFieldId, triggerId, label, type, value). Array-valued fields (multidoc, dropdownmultiselect) are serialised correctly for each child.",
      "type": "array",
      "items": {
        "$ref": "#/$defs/RecurringCustomFormDataItemDto"
      }
    },
    "startingStatus": {
      "type": "string",
      "enum": [
        "Scheduled",
        "Requested"
      ],
      "default": "Scheduled",
      "description": "Starting status for recurring children. Defaults to Scheduled"
    }
  },
  "required": [
    "numWeeks",
    "weekDays"
  ],
  "$defs": {
    "RecurringCustomFormDataItemDto": {
      "type": "object",
      "properties": {}
    }
  }
}