{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "schema:ApartmentComplex",
  "title": "ApartmentComplex",
  "description": "Residence type: Apartment complex.",
  "type": "object",
  "allOf": [
    {
      "description": "The place where a person lives.",
      "$ref": "schema:Residence"
    }
  ],
  "properties": {
    "numberOfAccommodationUnits": {
      "description": "Indicates the total (available plus unavailable) number of accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAvailableAccommodationUnits]].",
      "oneOf": [
        { "$ref": "schema:QuantitativeValue" },
        { "type": "array", "items": { "$ref": "schema:QuantitativeValue" } }
      ]
    },
    "numberOfAvailableAccommodationUnits": {
      "description": "Indicates the number of available accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAccommodationUnits]].",
      "oneOf": [
        { "$ref": "schema:QuantitativeValue" },
        { "type": "array", "items": { "$ref": "schema:QuantitativeValue" } }
      ]
    },
    "numberOfBedrooms": {
      "description": "The total integer number of bedrooms in a some [[Accommodation]], [[ApartmentComplex]] or [[FloorPlan]].",
      "anyOf": [{ "type": "number" }, { "$ref": "schema:QuantitativeValue" }]
    },
    "petsAllowed": {
      "description": "Indicates whether pets are allowed to enter the accommodation or lodging business. More detailed information can be put in a text value.",
      "anyOf": [{ "type": "boolean" }, { "type": "string" }]
    },
    "tourBookingPage": {
      "description": "A page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate.",
      "oneOf": [
        { "type": "string", "format": "uri" },
        { "type": "array", "items": { "type": "string", "format": "uri" } }
      ]
    }
  }
}
