
eedm.rooms.v9.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,
"links" : [ {
"rel" : "filter",
"encType" : "application/x-www-form-urlencoded",
"method" : "GET",
"href" : "/rooms?filter={\"building:\": {\"id\": $id}}",
"title" : "Rooms in Building",
"description" : "The rooms located within the building.",
"schema" : {
"type" : "object",
"properties" : {
"building" : {
"type" : "object",
"properties" : {
"id" : {
"type" : "string",
"format" : "guid",
"pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
}
}
}
}
},
"targetSchema" : {
"$ref" : "rooms.json#"
}
}, {
"rel" : "filter",
"encType" : "application/x-www-form-urlencoded",
"method" : "GET",
"href" : "/rooms?filter={\"roomTypes\":[{\"type\":$type}]}",
"title" : "Room Types",
"description" : "The type or style of a room's layout.",
"schema" : {
"type" : "object",
"properties" : {
"roomTypes" : {
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"type" : {
"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"
}
}
}
}
}
},
"targetSchema" : {
"$ref" : "rooms.json#"
}
} ]
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy