{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/hint-health/main/json-schema/hint-health-public-appointment-blueprint-all-schema.json",
  "title": "Public.AppointmentBlueprint_all",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hint-health-appointment-api-openapi.yml#/components/schemas/Public.AppointmentBlueprint_all",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string"
      },
      "start": {
        "type": "string"
      },
      "end": {
        "type": "string"
      },
      "status": {
        "type": "string",
        "enum": [
          "unconfirmed",
          "confirmed",
          "cancelled"
        ]
      },
      "workflow_status": {
        "type": "string",
        "enum": [
          "check_in",
          "waiting_for_provider",
          "in_progress",
          "completed",
          "checked_out",
          "no_show"
        ]
      },
      "title": {
        "type": "string"
      },
      "description": {
        "type": "string"
      },
      "created_at": {
        "type": "string"
      },
      "updated_at": {
        "type": "string"
      },
      "appointment_type_id": {
        "type": "string"
      },
      "recurring_appointment_id": {
        "type": "string"
      },
      "host": {
        "$ref": "#/$defs/Public.UserBlueprint_shared"
      },
      "location": {
        "$ref": "#/$defs/Public.LocationBlueprint_shared"
      },
      "attendees": {
        "$ref": "#/$defs/Public.Appointment.AttendeeBlueprint_all"
      }
    }
  },
  "$defs": {
    "Public.Appointment.AttendeeBlueprint_all": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "patient": {
            "$ref": "#/$defs/Public.PatientBlueprint_min"
          },
          "contact": {
            "$ref": "#/$defs/Public.Appointment.ContactBlueprint_min"
          }
        }
      }
    },
    "Public.Appointment.ContactBlueprint_min": {
      "type": "object",
      "properties": {
        "first": {
          "type": "string"
        },
        "last": {
          "type": "string"
        },
        "email": {
          "type": "string"
        }
      }
    },
    "Public.LocationBlueprint_shared": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "address_city": {
          "type": "string"
        },
        "address_country": {
          "type": "string"
        },
        "address_line1": {
          "type": "string"
        },
        "address_line2": {
          "type": "string"
        },
        "address_state": {
          "type": "string"
        },
        "address_zip": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "Public.PartnerAppUserBlueprint_leaf": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "roles": {
          "type": "string"
        },
        "product": {
          "$ref": "#/$defs/Public.ProductBlueprint_leaf"
        }
      }
    },
    "Public.PatientBlueprint_min": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "Public.PhoneBlueprint_leaf": {
      "type": "object",
      "properties": {
        "number": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      }
    },
    "Public.ProductBlueprint_leaf": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "Public.UserBlueprint_shared": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "first_name": {
          "type": "string"
        },
        "last_name": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "phones": {
          "$ref": "#/$defs/Public.PhoneBlueprint_leaf"
        },
        "product_users": {
          "$ref": "#/$defs/Public.PartnerAppUserBlueprint_leaf"
        }
      }
    }
  }
}