All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eedm.rooms.v6.0.rooms.json Maven / Gradle / Ivy

{
  "title" : "Rooms",
  "description" : "A room within a building on a floor.",
  "type" : "object",
  "properties" : {
    "metadata" : {
      "$ref" : "resource:/eedm/metadata.json"
    },
    "id" : {
      "title" : "ID",
      "description" : "A global identifier of a room to be used in all external references to the room.",
      "type" : "string",
      "format" : "guid",
      "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
    },
    "title" : {
      "title" : "Title",
      "description" : "The full name of a room.",
      "type" : "string"
    },
    "description" : {
      "title" : "Description",
      "description" : "A description of a room.",
      "type" : "string"
    },
    "number" : {
      "title" : "Number",
      "description" : "A numbering scheme to distinguish different buildings, floors, and rooms located in the same site. Typically, this is a string.",
      "type" : "string"
    },
    "floor" : {
      "title" : "Floor",
      "description" : "The name of the floor where a room is located.",
      "type" : "string"
    },
    "roomTypes" : {
      "title" : "Room Types",
      "description" : "The type or style of a of room's layout. For example, \"Classroom\" or \"Lecture Hall\" style. A room may support multiple types of layouts.",
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Room Type",
            "description" : "The type or style of a of room's layout, for example, \"Classroom\" style, \"Lecture Hall\" style, etc.",
            "enum" : [ "residencehallroom", "residentialsingleroom", "residentialdoubleroom", "residentialtripleroom", "residentialsuiteroom", "apartment", "house", "classroom", "lecturehall", "seminarroom", "conferenceroom", "sciencelaboratory", "computerlaboratory", "mechanicslab", "audiovisuallab", "artstudio", "musicroom", "performingartsstudio", "ballroom", "office", "studyfacility", "clinic", "animalquarters", "greenhouse", "specialusefacility", "generalusefacility", "foodfacility", "daycare", "lounge", "merchandisingroom", "supportfacility", "healthcarefacility", "atrium", "amphitheater", "auditorium", "booth", "other" ],
            "type" : "string"
          },
          "detail" : {
            "title" : "Detail",
            "description" : "",
            "oneOf" : [ {
              "type" : "object",
              "properties" : {
                "id" : {
                  "title" : "ID",
                  "description" : "The global identifier for the Detail.",
                  "type" : "string",
                  "format" : "guid",
                  "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                }
              },
              "links" : [ {
                "rel" : "self",
                "href" : "/room-types/{id}",
                "targetSchema" : {
                  "$ref" : "room-types.json#"
                }
              } ],
              "additionalProperties" : false,
              "required" : [ "id" ]
            }, {
              "type" : "object",
              "maxProperties" : 0
            } ]
          }
        },
        "additionalProperties" : false,
        "required" : [ "type" ]
      }
    },
    "occupancies" : {
      "title" : "Occupancies",
      "description" : "For rooms with multiple layouts. For example, a gymnasium can be used for a seminar or a conference, with different maximum occupancies. For rooms with single occupancy type, \"Default\" can be used.",
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Room Layout",
            "description" : "For rooms with multiple layouts, this can be used. For example, a gymnasium can be used for a seminar or a conference, with different maximum occupancies. For rooms with single occupancy type, \"Default\" can be used.",
            "enum" : [ "banquet", "conference", "sportsevent", "graduationceremony", "seminar", "boardmeeting", "performance", "convention", "convocation", "pressmeet", "workshops", "exam", "classroom", "laboratory", "default" ],
            "type" : "string"
          },
          "maxOccupancy" : {
            "title" : "Maximum Occupancy",
            "description" : "The maximum number of persons who may occupy a room arranged in a given layout.",
            "type" : "number"
          }
        },
        "additionalProperties" : false,
        "required" : [ "type", "maxOccupancy" ]
      }
    },
    "site" : {
      "title" : "Site",
      "description" : "The institution's site.",
      "oneOf" : [ {
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Site.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/sites/{id}",
          "targetSchema" : {
            "$ref" : "sites.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "building" : {
      "title" : "Building",
      "description" : "A physical structure, usually containing rooms, that is located at a specified physical location.",
      "type" : "object",
      "properties" : {
        "id" : {
          "title" : "ID",
          "description" : "The global identifier for the Building.",
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      },
      "links" : [ {
        "rel" : "self",
        "href" : "/buildings/{id}",
        "targetSchema" : {
          "$ref" : "buildings.json#"
        }
      } ],
      "additionalProperties" : false,
      "required" : [ "id" ]
    },
    "wing" : {
      "title" : "Wing",
      "description" : "The named section of a building in which the resides.",
      "oneOf" : [ {
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Wing.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/building-wings/{id}",
          "targetSchema" : {
            "$ref" : "building-wings.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "roomCharacteristics" : {
      "title" : "Room Characteristics",
      "description" : "The list of characteristics specified for the room.",
      "type" : "array",
      "items" : {
        "title" : "Room Characteristics",
        "description" : "The list of characteristics specified for the room.",
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Room Characteristics.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/room-characteristics/{id}",
          "targetSchema" : {
            "$ref" : "room-characteristics.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }
    }
  },
  "required" : [ "id", "building" ],
  "additionalProperties" : false
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy