schemaorg / suggestions-questions-brainstorming

Suggestions, questions, and brainstorming
19 stars 15 forks source link

Types to describe sanitary facility accessibility #40

Open opyh opened 4 years ago

opyh commented 4 years ago

For physical accessibility, we need types to describe sanitary equipment.

So what do you think about adding a Toilet or ToiletFixture entity to describe the single toilet fixture (separate from PublicToilet)? A PublicToilet or HotelRoom could contain multiple separate ToiletFixtures with details that describe exactly one fixture, without mixing properties of more than one installation. Surveys would yield the same results because if you wanted to have those details, the model would nudge you to define them in separate instances.

Existing data producers: OpenStreetMap, open datasets of public toilets by public administrations, tourism / hotel industry. Wheelmap would publish its available data set as linked data if there is a technical way for this. Existing consumers: there are many toilet apps, and Wheelmap.org uses this information for displaying toilets around venues like restaurants, hotels, and other places.

The new types could be helpful for accessibility in hotel booking platforms, architects, facility managers, for humanitarian crisis management, and to let users with disabilities find sanitary facilities.

These types contain only more complex aspects of accessibility, https://github.com/schemaorg/suggestions-questions-brainstorming/issues/41 contains an idea to describe the simple existence/non-existence of defined general accessibility features.

Rough idea for a start of the discussion:

Thing > Toilet

A new type that does not describe a toilet room, but the fixture itself (Wikipedia). Can be combined with Place to describe that it is inside a Room or PublicToilet as partOf, for example. Note that a PublicToilet can contain multiple Toilets.

Attribute Type Description
isPortable Boolean Denotes a more specific type of Toilet, e.g. used on festivals and construction sites (see https://en.wikipedia.org/wiki/Portable_toilet).
hasWaterSeal Boolean True if the toilet has a water seal, False if not.
spaceOnUsersLeftSide QuantitativeValue How much space is on the left side of the user. This is relevant for people with mobility impairments.
spaceOnUsersRightSide QuantitativeValue How much space is on the right side of the user. This is relevant for people with mobility impairments.
spaceInFront QuantitativeValue How much space is on the right side of the user. This is relevant for people with mobility impairments.
usageHeight QuantitativeValue Indicates the distance of the toilet bowl opening or sitting height to the floor, if applicable. - This is relevant for people with mobility impairments.
hasGrabRails Boolean True if the toilet has a pair of grab rails, or a single grab rail on one side, False if there is no grab rail.

Thing > Toilet > SeatedToilet

A more specific type of Toilet for seated use.

Thing > Toilet > Urinal

A more specific type of Toilet for standing use.

Thing > Toilet > SquatToilet

A more specific type of Toilet for squatting use.

Thing > WashBasin

Attribute Type Description
topHeight QuantitativeValue Defines at which height is the wash basin's top
bottomClearance QuantitativeValue How high is the space below the basin? This is relevant for people using a wheelchair.

Thing > Shower

Attribute Type Description
hasShowerSeat Boolean True if the shower has a seat, False if not.
showerSeatIsFolding Boolean True if the shower seat can be folded, False if not.
showerSeatIsRemovable Boolean True if the shower seat can be removed from the shower easily, False if not.

I'm unsure about adding empty types to differentiate between toilet fixture types, what do you think? Would an enum property make more sense for this?

RichardWallis commented 4 years ago

See issue #7 for the context of the move from the main Schema.org issue tracker to this repository.

westurner commented 4 years ago

Maybe also:

There's probably better wording and/or specificity for these?

westurner commented 4 years ago

What are the next steps here? To create a PR:

https://github.com/schemaorg/schemaorg/tree/main/data/ext/pending