{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/elation-health/main/json-schema/elation-health-recurring-event-group-schema.json",
  "title": "RecurringEventGroup",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/elation-health-recurring-event-groups-api-openapi.yml#/components/schemas/RecurringEventGroup",
  "properties": {
    "created_date": {
      "format": "date-time",
      "readOnly": true,
      "type": [
        "string",
        "null"
      ]
    },
    "deleted_date": {
      "format": "date-time",
      "readOnly": true,
      "type": [
        "string",
        "null"
      ]
    },
    "id": {
      "readOnly": true,
      "type": "integer"
    },
    "is_blocking": {
      "readOnly": true,
      "type": "boolean"
    },
    "practice": {
      "format": "int64",
      "type": "integer"
    },
    "reason": {
      "readOnly": true,
      "type": [
        "string",
        "null"
      ]
    },
    "schedules": {
      "items": {
        "$ref": "#/$defs/RecurringEventSchedule"
      },
      "type": "array"
    },
    "time_slot_type": {
      "$ref": "#/$defs/TimeSlotTypeEnum"
    }
  },
  "required": [
    "practice",
    "schedules",
    "time_slot_type"
  ],
  "type": "object",
  "$defs": {
    "RecurringEventSchedule": {
      "properties": {
        "created_date": {
          "format": "date-time",
          "readOnly": true,
          "type": [
            "string",
            "null"
          ]
        },
        "description": {
          "type": "string"
        },
        "dow_friday": {
          "type": "boolean"
        },
        "dow_monday": {
          "type": "boolean"
        },
        "dow_saturday": {
          "type": "boolean"
        },
        "dow_sunday": {
          "type": "boolean"
        },
        "dow_thursday": {
          "type": "boolean"
        },
        "dow_tuesday": {
          "type": "boolean"
        },
        "dow_wednesday": {
          "type": "boolean"
        },
        "duration": {
          "type": "integer"
        },
        "event_time": {
          "format": "time",
          "type": "string"
        },
        "id": {
          "readOnly": true,
          "type": "integer"
        },
        "physician": {
          "format": "int64",
          "type": "integer"
        },
        "repeats": {
          "$ref": "#/$defs/RepeatsEnum"
        },
        "series_start": {
          "format": "date",
          "type": "string"
        },
        "series_stop": {
          "format": "date",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "duration",
        "event_time",
        "physician",
        "series_start"
      ],
      "type": "object"
    },
    "RepeatsEnum": {
      "enum": [
        "Monthly",
        "Weekly"
      ],
      "type": "string"
    },
    "TimeSlotTypeEnum": {
      "enum": [
        "appointment",
        "appointment_slot",
        "event"
      ],
      "type": "string"
    }
  }
}