Version 8.0.0

A11yJSON

A11yJSON: A harmonized data schema for describing the accessibility of physical places

This repository contains a unified data format that describes the accessibility of places, facilities and services.

It’s the result of looking at accessibility datasets that we got from organizations all over the world. Our aim is to allow any other accessibility API data format to be convertible to this harmonized format in a way that makes the result easier to consume.

Our goal is to make the world more accessible for everybody — which is easier if everybody uses the same (or at least similar) language when sharing accessibility data.

This is the successor of the data schema we use for accessibility.cloud, one of the biggest data exchange providers for accessibility data, by Wheelmap.org, and other organizations. Some international sources already provide consumable data in this schema. You can find them–in most cases as open data–on https://www.accessibility.cloud.

The specification

The format is based on the GeoJSON format (RFC 7946).

We have an overview of interfaces and types, and a more extensive TypeDoc-based documentation.

Some examples:

Even if you cannot adapt the whole format as part of your own indoor mapping specs, it’s a good idea to adapt single interfaces where you see fit.

Using A11yJSON as a TypeScript library

We wrote the definitions in TypeScript for compile-time validation and web compatibility. The code supports validating data records at runtime using SimpleSchema. SimpleSchema is convertible to other schemes (e.g. GraphQL, JSON LD, JSON Schema, …), if necessary.

You can integrate the library into your web or backend projects as @sozialhelden/a11yjson npm module.

Installing the npm module

  npm install --save @sozialhelden/a11yjson

Usage

// This imports only one schema interface, `PlaceInfoSchema`, from A11yJSON.
// See the documentation below for all available interfaces.

import { PlaceInfoSchema } from '@sozialhelden/ac-format';

// This could be your GeoJSON feature.
const myGeoJSONFeature = {
  geometry: { … }
  properties: { … }
};

// See https://github.com/aldeed/simple-schema-js for the full documentation of how validation works.
const validationContext = PlaceInfoSchema.newContext();

// Sanitizes the input object.
// Converts types automatically if possible, e.g. convert string values to numbers where the schema demands numbers.
const sanitizedGeoJSONFeature = PlaceInfoSchema.clean(myGeoJSONFeature);

// Validate the GeoJSON feature against A11yJSON’s `PlaceInfo` schema.
validationContext.validate(sanitizedGeoJSONFeature);

if (!validationContext.isValid()) {
  const errors = validationContext.validationErrors();
  // `errors` is a JSON object with detailled validation infos about each field in the input object.
  console.log(errors);
}

Physical quantities, rating scales and personal profiles

We found a lot of datasets claiming that places are (not) accessible for arbitrary categories of people. As an example, a data source might claim that a place is not accessible for wheelchair users, but does not mention that this is because the entrance has a step. For wheelchair users that can climb a step as long as it’s not too high, a data point like this is misleading.

A solution for better data quality is to let each individual make their own decision about the accessibility of something—if you collect or share data, measure physical attributes of places instead of target group-based data. If possible, also avoid rating scales, as their interpretation is difficult.

Internationalization (I18n)

You can localize all human-readable strings using JSON objects with IETF language tags as property names and the translations as property values:

{
  "en": "Accessibility",
  "de": "Zugänglichkeit",
  "zh-Hans": "无障碍",
  "ase": "https://www.handspeak.com/word/search/index.php?id=1643"
}

This is optional - the specification allows to simply use a string, too.

We encourage you to localize your strings—If available, you can even use IETF sign language tags (like ase for American Sign Language) for adding sign language localization using video, image or website URLs.

Bad examples with better solutions

Examples of helpful, measurable data points

While we need datasets and UIs that have a simple design and are easy to understand, the data itself should define measurable properties of a place only. Interpretation should always be a separated step. Describe places, not people!

Quantities

While analyzing accessibility data sets, we often encountered unclear definitions of quantities. Should we define a length in imperial or metric units, and which prefix should we use – centimeters or meters, for example? a11yjson allows us to use any quantity+unit strings that js-quantities supports as input.

As the measurement data is SI-unit based, you can use them with any code that supports SI units:

Each attribute definition contains a preferred unit. When saving quantities, you have to specify them with a unit. You can provide measures as fixed quantities, but also with constraints and uncertainty or variance. This allows for fuzzy quantities when the measurement method is imprecise, for example when a person guesses the width of a door, or when you want to transform a data source that has averaged data calculated from measurements of more than one object.

Besides value and unit, you can save the original data value as string representation to debug conversion errors.

What if I want to make my data available, but my infrastructure does not support JavaScript/SimpleSchema/your nesting…?

If you want to make your data available on accessibility.cloud, it’s enough if your own data format is as close as possible to the attribute names / nesting described here. The more platforms use the same format, the easier it gets to share accessibility data. With accessibility.cloud, it’s possible to import data delivered in different schemas and formats.

We encourage you to implement as many attributes as possible in your project!

Contributing

This project is not complete and will never be. We're open to your suggestions and comments, no matter if you share data yourself or want to consume them from accessibility.cloudsend an email to us or create an issue or pull request!

Builds

Build Status

Interfaces

You can use the following interfaces in your own structured data formats to simplify sharing accessibility data with others.

Accessibility

Describes the physical (and sometimes human rated) accessibility of a place.
accessibleWithPersonalProfile
animalPolicyAnimalPolicyObject describing the owner's policy regarding visitors bringing animals with them.
entrancesEntrance[] | nullDescribes the accessibility of entrances to the place.
groundGround | nullObject describing the place's ground condition. If there are very different ground conditions, you can create multiple places and nest them.
hasInductionLoopfalse | truetrue if the venue has induction loops installed in its functional units where this is relevant.
hasTactileGuideStripsfalse | truetrue if the venue has tactile guide strips on the floor or at the walls, false if not. undefined or missing property indicates unknown.
isQuietfalse | trueDetermines if the venue is quiet (subjectively, by the assessor). Will be replaced by a measurable ambient noise level in the future.
isWellLitfalse | trueDetermines if the venue is well lit (subjectively, by the assessor). Will be replaced by a measurable lumen value in the future.
mediaMedia[] | nullInformation about media. null indicates there is no media, undefined or missing property indicates unknown.
offersActivitiesForPeopleWithPersonalProfile
parkingParking | nullInformation about parking facilities at/around the venue. null indicates there is no parking, undefined or missing property indicates unknown.
partiallyAccessibleWithPersonalProfile
pathwaysPathways | nullDescribes the accessibility of pathways to the place or inside the place’s boundaries.
paymentPayment | nullInformation about payment at the place. null indicates there is no payment possible/required, undefined or missing property indicates unknown.
restroomsRestroom[] | nullDescribes the accessibility of restrooms in the place.
serviceContactLocalizedString
smokingPolicySmokingPolicyObject describing the owner's smoking policy.
staffStaff | nullInformation about the service staff. null indicates there is no staff, undefined or missing property indicates unknown.
tablesTables | nullInformation about tables. null indicates there are no tables, undefined or missing property indicates unknown.
wheelchairPlacesWheelchairPlaces | nullInformation about wheelchair places. null indicates there are no places, undefined or missing property indicates unknown.

AnimalPolicy

allowsAnyAnimalsfalse | truetrue if the place allows bringing any kind of animal, false or undefined if not or if there are exceptions.
allowsDogsfalse | truetrue if the place allows visitors to bring dogs in general, false if bringing them is explicitly prohibited (with exception of dogs specified by allowsGuideDogs and allowsTherapyAnimals), undefined if the policy is unknown.
allowsGuideDogsfalse | truetrue if the place allows visitors to bring guide dogs, false if bringing them is explicitly prohibited, undefined if the policy is unknown.
dogsNeedMuzzlefalse | truetrue if the place denies entry to visitors bringing a dogs without muzzles, false if dogs without muzzles are explicitly allowed.
suppliesWaterForPetsfalse | truetrue if the place supplies water for accompanying animals, false if explicitly not, or undefined if unknown.

Door

Describes the door of a place's entrance or to one of its facilities (e.g. to a shower, or to an elevator)
doorOpensToOutsidefalse | truetrue if the door opens to the outside, false if it opens to the inside, undefined if unknown.
hasClearMarkingOnGlassDoorfalse | truetrue if the door is a glass door, but is marked, false if the door is an unmarked glass door, undefined if it is no glass door or it is unknown.
hasErgonomicDoorHandlefalse | truetrue if the door's handle is easy to use (subjectively by the assessor), false if not, undefined if unknown.
isAutomaticOrAlwaysOpenfalse | truetrue if the door is always open or automatic, false if it has to be opened manually, undefined if unknown.
isEasyToHoldOpenfalse | truetrue if the door is easy to hold open (subjectively by the assessor), false if not, undefined if unknown.
isRevolvingfalse | truetrue if the door is revolving, false if not, undefined if unknown.
needsEuroKeyfalse | truetrue if you need a Euro key to open the door, false if it's in Europe outside UK and works without a key, undefined if it is unknown or needs a different key.
needsRadarKeyfalse | truetrue if you need a RADAR key to open the door, false if it's in the UK but you need no key, undefined if it is unknown or needs a different key.
turningSpaceInFrontLengthTurning space in front of the door.
widthLengthWidth of the door.

Entrance

Describes an entrance to a place.
doorDoor | nullObject that describes the entrance’s door. null if there is no doof, undefined if it is unknown.
elevatorEquipmentIdstringreference to the equipment id if this entrance is an elevator (on accessibility.cloud)
hasFixedRampfalse | truetrue if this entrance has a fixed ramp, false if not, undefined if unknown.
hasRemovableRampfalse | truetrue if there is a removable ramp, false if not, undefined if unknown. If there is a fixed ramp, this property MUST be undefined.
intercomEquipmentIdstringreference to the equipment id of the intercom of this entrance (on accessibility.cloud)
isLevelfalse | truetrue if this entrance has no steps and needs no ramp, false if there are steps or a ramp, undefined if unknown.
isMainEntrancefalse | truetrue if this is the main entrance, false if not, undefined if unknown. If there is only one entrance, this attribute SHOULD be undefined.
nameLocalizedStringName of the entrance (helpful if there are multiple entrances).
slopeAnglenumbergrade in percent as calculated by 100 * rise / run or the tangent of the angle of inclination times 100, or undefined if there is no slope.
stairsStairsObject that describes stairs that you have to take to use the entrance.

EquipmentInfo

Describes a facility equipment that is part of a place, like an elevator, an escalator, or a sitemap. Can contain attributes that are realtime updated to indicate operational status.
formatVersionstringThe format version this place info document was created with (Uses the npm module version from package.json) Not used right now, but added for future compatibility.
geometryPointGeometryThe physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.
propertiesEquipmentProperties

EquipmentProperties

alternativeRouteInstructionsLocalizedStringShort alternative routing instructions for travelers when they cannot use this facility.
cabinLengthLengthLength / depth of the cabin when facing the equipment’s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.
cabinWidthLengthWidth of the cabin when facing the equipment’s entrance, or undefined if the equipment has no cabin. For a hoist, this refers to the hoist platform itself.
categoryEquipmentTypesType of the equipment or facility.
descriptionLocalizedStringDescribes where the equipment is located. If only one description string is technically possible to maintain, it MUST not contain any abbreviations to allow being readable aloud by screen readers or voice assistants.
disruptionSourceImportIdstringData source ID of a secondary source used for realtime status info on accessibility.cloud
doorDoorObject describing the door to the equipment, or undefined if there is no door.
hasBrailleTextfalse | truetrue if the equipment’s controls or signs are printed in braille letters, false if not, or undefined if this is unknown.
hasDoorsInBothDirectionsfalse | truetrue if the equipment has doors in two directions, so wheelchair, rollator, bike or pushchair users do not have to move backwards to exit.
hasHeadPhoneJackfalse | truetrue if the equipment has a headphone jack for speech output (common for ATMs), false if not, or undefined if this is unknown.
hasLargePrintfalse | truetrue if the equipment’s controls or signs do not use small fonts, false if they do, or undefined if this is unknown.
hasRaisedTextfalse | truetrue if the equipment’s controls or signs have raised letters, false if not, or undefined if this is unknown.
hasSpeechfalse | truetrue if the equipment has speech output, false if not, or undefined if this is unknown.
heightOfControlsLengthHeight of the lowest working controls that are needed to operate this equipment. undefined if the equipment needs no controls.
idsExternalId[]IDs of this equipment in external data sources, for example in GTFS, IMDF or other sources.
isEasyToUnderstandfalse | truetrue if the equipment is easy to operate, false if people might face difficulties trying to understand how the equipment works, or undefined if this is unknown or irrelevant.
isHighContrastfalse | truetrue if the equipment’s controls or signs have high contrast, false if not, or undefined if this is unknown.
isIndoorsfalse | truetrue if the equipment is indoors, false if it’s fully or partially outdoors, or undefined if this is unknown.
isVoiceActivatedfalse | truetrue if the equipment needs to be activated by voice, false if not, or undefined if this is unknown.
isWorkingfalse | trueLive status update.
languagesIetfLanguageTagOrSignLanguageCode[]Languages of the equipment’s visible controls and/or voice output.
longDescriptionLocalizedStringContains the same information as description, but in a longer form which can be read out by a screen reader or voice assistant.
manufacturerNameLocalizedStringOfficial name of the company that manufactured the equipment.
manufacturerSerialNumberstringManufacturer serial number of the equipment / facility.
originalDatastringOriginal source data for this equipment (for easier debugging)
originalIdstringID of this equipment in the original data source. To simplify communication with the operator, it’s a good idea to use the operator facility management system ID here.
originalPlaceInfoIdstringID of the place that this equipment belongs to (unique in the original data source)
outOfOrderReasonLocalizedStringLive status update.
placeInfoIdstringPlace info ID that this equipment belongs to (accessibility.cloud ID)
placeSourceIdstringID of the place data source that this equipment belongs to (accessibility.cloud ID)
plannedCompletionDateDateLive status update.
servicePhoneNumberLocalizedStringPhone number where a service operator can be reached for help using this facility.
serviceWebsiteUrlLocalizedStringURL pointing to a website that describes the equipnent or it's current operational status.
shortDescriptionLocalizedStringContains the same information as description, but in a shorter form, to save space on the screen. This CAN contain Unicode characters such as ⟷ or ↘︎ as well as abbreviations (e.g. ‘pl.’ instead of ‘platform’, ‘dir.’ instead of ‘direction’).
sourceIdstringData source ID on accessibility.cloud
sourceImportIdstringData import ID on accessibility.cloud
stateExplanationLocalizedStringLive status update.
stateLastUpdateDateLive status update.

ExternalId

idstring
providerstring
schemaNamestring

FoldingHandles

distanceBetweenHandlesLengthIndicates how far the handles are apart.
onUsersLeftSidefalse | truetrue if there is a folding handle on left side (from the perspective of somebody using the toilet), false if not, undefined if condition is unknown.
onUsersRightSidefalse | truetrue if there is a folding handle on right side (from the perspective of somebody using the toilet), false if not, undefined if condition is unknown.
topHeightFromFloorLengthIndicates how high the folding handles are (top edge, measured from the floor).

Ground

distanceToDroppedCurbLengthSpecifies the distance between the main entrance and the next dropped curb if the place is reachable from a street.
evenPavementfalse | truetrue if the pavement is even and not plastered, false if not. undefined if this condition is unknown.
isLevelfalse | truetrue if the ground is level, false if not, undefined if the condition is unknown.
sidewalkConditionsnumberRating value (range [0..1]) with subjective sidewalk conditions.
slopeAnglenumberAngle of the slope that this ground has, if applicable. undefined if the slope is unknown.
turningSpaceLengthTurning space that this ground provides to people.

Media

Describes a media unit provided at this place, for example an exhibit at a museum or a movie in a cinema.
hasContrastingBackgroundfalse | trueIf the media unit is printed or on a screen, does it have high contrast between background and foreground?
hasDedicatedScreenForSubtitlesfalse | trueRelevant for movies, screens and presentations: Is there a dedicated screen where subtitles can be read?
hasPlainLanguageOptionfalse | trueIs the media unit provided in a Plain Language option?
hasRealTimeCaptioningfalse | trueDoes the media unit have real time captioning?
hasSubtitlesfalse | trueIs the media unit provided with subtitles?
isAudiofalse | trueIs the media unit consumable as audio-only option?
isBraillefalse | trueIs the media unit consumable or described for Braille readers?
isLargePrintfalse | trueIf the media unit is printed, is the print large?
languagesIetfLanguageTagOrSignLanguageCode[]Specifies which languages (including sign languages) in which the media unit is provided
nameLocalizedStringName of the media unit (relevant if there are multiple units of the same kind)
turningSpaceInFrontLengthIf the media is consumed while the consumer is directly in front of it, this property specifies how much turning space there is in front of it.
type"document" | "menu" | "guide" | "presentation" | "exhibit" | "movie" | "play" | "screen"Type of the media unit

Mirror

heightFromGroundLengthHow far is the mirror's bottom from the ground?
isAccessibleWhileSeatedbooleantrue if the mirror is accessible while sitting in a wheelchair, false if not, undefined if condition is unknown.
isLocatedInsideRestroomfalse | truetrue if the mirror is located inside the restroom, false if not, undefined if condition is unknown.

Parking

forWheelchairUsersWheelchairParking | null

Pathways

Describes pathways inside a place.
maxLateralSlopenumberMaximal lateral slope, in percent as calculated by 100 * rise / run or the tangent of the angle of inclination, multiplied by 100
maxLongitudinalSlopenumberMaximal longitudinal slope, in percent as calculated by 100 * rise / run or the tangent of the angle of inclination, multiplied by 100
widthLengthWidth constraints of all pathways inside a place relevant for consumers.
widthAtObstaclesLengthWidth constraints of all pathways inside a place relevant for consumers.

Payment

acceptsBillsfalse | true
acceptsCoinsfalse | true
acceptsCreditCardsfalse | true
acceptsDebitCardsfalse | true
acceptsPaymentByMobilePhonefalse | true
customPaymentMetaInfoLocalizedString[]
hasPortablePaymentSystemfalse | true

PersonalProfile

Describes a person. This exists only to transform data from sources where no physical attributes of places have been captured as data directly. It's better to describe physical attributes of places and let people decide themselves which facilities they need or which place condition works for them.
blindnessfalse | truetrue for a person that has is blind.
guideDogfalse | truetrue for a person that has a guide dog.
hearingImpairmentfalse | truetrue for a person that has a hearing impairment.
learningImpairmentfalse | truetrue for a person that has a learning impairment.
mobilityImpairmentfalse | truetrue for a person that has a mobility impairment.
mutenessfalse | truetrue for a person that is inable to speak.
visualImpairmentfalse | truetrue for a person that has a visual impairment.
wheelchairfalse | truetrue for a person that uses a wheelchair.

PlaceInfo

The PlaceInfo interface describes a physical location with added accessibility properties.
formatVersionstringThe format version this place info document was created with (Uses the npm module version from package.json) Not used right now, but added for future compatibility.
geometryGeometryThe physical location of the place in WGS84 coordinates. Currently only a GeoJSON PointGeometry is supported.
propertiesPlacePropertiesHolds additional place properties such as name and category and accessibility information

PlaceProperties

accessibilityAccessibility | nullThe accessibility of this place. null indicates that this place has no data, undefined or missing property indicates unknown.
addressAddress | nullThe address of this place. null indicates that this place has no address, undefined or missing property indicates unknown.
categorystringCategory name of the place
creatorIdstring
descriptionLocalizedStringText description containing helpful information for people with disabilities.
editPageUrlLocalizedStringURL of the original data source’s website on a subpage that allows to edit the original data.
emailAddressLocalizedStringEmail address of the place's operator where you can get accessibility relevant information.
eventIdstring
idsExternalId[]
infoPageUrlLocalizedStringURL of the original data source’s website describing this place.
nameLocalizedStringThe official name of this place.
originalDataany
originalIdstring
parentPlaceIdstring
phoneNumberLocalizedStringPhone number to call a representant of the place's operator.
placeWebsiteUrlLocalizedStringURL of the place’s own website.
sourceIdstring
sourceImportIdstring

PointGeometry

GeoJSON Point object.
coordinates[numbernumber]
type"Point"

Quantity

Describes a quantity of a unit type.
accuracynumber± in given units, uniform error
operatorOperatorthe operator, indicating the value is not an absolute value
rawValuestringraw, imported value, eg. '90 .. 120cm' - only required when importing
unitstringone of the length units in js-quantities
valuenumberthe value in the specified unit

Restroom

entranceEntranceObject describing the entrance to this restroom.
hasBathTubfalse | truetrue if there is a bath tub in this room, false if not, undefined if condition is unknown.
hasMirrorfalse | truetrue if the restroom has a mirror, false if not, undefined if condition is unknown.
hasShowerfalse | truetrue if the restroom has a shower, false if not, undefined if condition is unknown.
hasSupportRailsfalse | truetrue if there support rails on the walls
heightOfDrierLengthAt which height from the floor is the drier or towel?
heightOfSoapLengthAt which height from the floor is the soap?
isAccessibleWithWheelchairfalse | truetrue if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.
mirrorMirrorDescribes a mirror, if existing.
showerShowerObject describing a shower inside this restroom, if existing.
signIconsRestroomSignIcon[]Visible icons on the restroom’s sign
toiletToiletObject describing a toilet inside the restroom, if existing.
turningSpaceInsideLengthHow wide is the space inside that is usable for turning?
washBasinWashBasinObject describing a wash basin belonging to this restroom. It can be outside of the restroom.

Room

isAccessibleWithWheelchairfalse | truetrue if the room's relevant facilities are completely accessible while using a wheelchair, false if not, undefined if the condition is unknown or difficult to assess.

Shower

hasErgonomicHandlefalse | truetrue if the shower has an ergonomic handle, false if not, undefined if condition is unknown.
hasShowerSeatfalse | truetrue if the shower has a seat, false if not, undefined if condition is unknown..
hasSupportRailsfalse | truetrue if the shower has support rails, false if not, undefined if condition is unknown.
isLevelfalse | truetrue if the shower is step-free and level with the space in front of it, false if not, undefined if condition is unknown.
showerSeatIsFoldingfalse | truetrue if the shower seat can be folded, false if not, undefined if condition is unknown.
showerSeatIsRemovablefalse | truetrue if the shower seat can be removed from the shower easily, false if not, undefined if condition is unknown.
stepLength
supportRailsAreAboveAndBelowControlsfalse | truetrue if the support rails are above and below the controls, false if not, undefined if condition is unknown.
supportRailsHeightLengthAt which height are the support rails? Measured from the top.

Staff

Describes the presence of staff and their qualifications and/or provided services.
canSeeVisitorsFromInsidefalse | truetrue if the staff has means to see visitors from the inside at all times when the place is open (for example a window or CCTV system), false if not, undefined if unknown.
hasFreeAssistantForVisitorsfalse | truetrue if there is an assistant for the duration of the visit that is free of charge, false if not, undefined if unknown.
spokenLanguagesIetfLanguageTagOrSignLanguageCode[]Languages that the staff speaks, including sign language variants.

Stairs

The Stairs interface describes one or more walkable stairs.
alternativeMobileEquipmentIdsstring[]You SHOULD reference alternative equipment IDs with this field, for example elevators, escalators, or hoists.
countnumberNumber of steps.
hasAntiSlipNosingfalse | truetrue if all relevant steps are made with anti-slip material.
hasBrailleNavigationfalse | truetrue if there is braille navigation for this staircase, false if not, undefined if condition is unknown.
hasHandRailfalse | truetrue if there is a handrail covering all relevant steps, false if not, undefined if condition is unknown.
hasHighContrastNosingfalse | truetrue if all relevant steps have a high contrast nosing.
hasTactileSafetyStripsfalse | truetrue if all relevant steps have tactile safety surfaces, used as warnings, implying textures detectable with the touch of a foot or sweep of a cane.
nameLocalizedStringIf there are multiple staircase, you SHOULD indicate a name for this staircase here.
stepHeightLengthIndicates how high the steps if these stairs are (can be a range).

StructuredAddress

The address of a places as Address as a series of structured attributes.
areasLocalizedString[]An array of named areas below the district and above street. In some regions such areas might also contain street names, when individual street segments have names separate from the name of the whole road.
buildingLocalizedStringBuilding name
cityLocalizedStringThe name of the primary locality of the place.
countryCodeLocalizedStringA three-letter country code in ISO 3166-1 alpha-3, see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3
countyLocalizedStringA division of a state; typically a secondary-level administrative division of a country or equivalent.
districtLocalizedStringA division of city; typically an administrative unit within a larger city or a customary name of a city's neighborhood.
houseLocalizedStringHouse or street number.
levelLocalizedStringContains level of place inside of a venue
postalCodeLocalizedStringAn alphanumeric string included in a postal address to facilitate mail sorting (a.k.a. post code, postcode, or ZIP code).
regionsLocalizedString[]For address conventions where more than to levels of named areas above the city level are in use, the regions attribute provides an array with all additional area names, ordered by decreasing size (starting with the highest subdivision below state)
roomLocalizedStringRoom name
stateLocalizedStringA division of a country; typically a first-level administrative division of a country and/or a geographical region.
stateCodeLocalizedStringA code/abbreviation for the state division of a country.
streetLocalizedStringStreet name (in practice may also contain street number).
textLocalizedStringA displayable, formatted address as rich text.

Tables

heightLengthHeight or heights of the tables at this place, measured from the top of the table surface.
spaceBelowDepthLengthIndicates how deep the space below a table is for each user.
spaceBelowHeightLengthIndicates how high the space below a table is.
spaceBelowWidthLengthIndicates how wide the space below a table is for each user.

Toilet

foldingHandlesFoldingHandlesObject describing the folding handles.
hasFoldingHandlesfalse | trueDoes the toilet have folding handles?
heightOfBaseLengthIndicates the height of the toilet’s base.
spaceInFrontLengthHow much space is in front of the toilet?
spaceOnUsersLeftSideLengthHow much space is on the left side of the toilet? (from the perspective of somebody using the toilet)
spaceOnUsersRightSideLengthHow much space is on the right side of the toilet? (from the perspective of somebody using the toilet)

WashBasin

accessibleWithWheelchairfalse | truetrue if the wash basin is accessible with wheelchairs, false if not, undefined if condition is unknown.
heightLengthDefines at which height is the wash basin's top
isLocatedInsideRestroomfalse | truetrue if the restroom's wash basin is inside the cabin, false if not, undefined if condition is unknown.
spaceBelowDepthLengthHow deep is the space below the wash basin?
spaceBelowHeightLengthHow high is the space below the wash basin?

WheelchairParking

Describes one or more wheelchair parking lots.
countnumberDefines many wheelchair accessible parking lots are provided
distanceToEntranceLengthHow far away is the parking from the main entrance? If there is a separate wheelchair entrance, the distance to this entrance MUST be used.
hasDedicatedSignagefalse | truetrue if there is dedicated signage at all relevant turning points from the street to the parking, false if not, undefined if this is unknown.
isLocatedInsidefalse | truetrue if the parking is inside a building or under a roof, false if not, undefined if unknown.
lengthLengthLength constraint of the parking lots.
locationLocalizedStringDescribes where the parking is located.
maxVehicleHeightLengthMaximal allowed vehicle height for users of this parking.
neededParkingPermitsLocalizedString[]List of permit names that allow using this parking.
paymentBySpacefalse | truetrue if the parking has to be paid by space, false if not, undefined if unknown.
paymentByZonefalse | truetrue if the parking has to be paid by parking zone, false if not, undefined if unknown.
widthLengthWidth constraint of the parking lots.

WheelchairPlaces

The WheelchairPlaces interface describes the presence of reserved spots for wheelchairs.
countnumberThe amount of places for wheelchairs.
hasSpaceForAssistantfalse | trueIs there additional space for an assistant?

Type Aliases

A11yRating

Definition: "yes" | "no" | "partial" | "unknown"

Address

A union type between StructuredAddress and string
Definition: StructuredAddress | string

AndRule

Definition:
{
  "id": 578,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 579,
      "name": "$and",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 40,
          "character": 6
        }
      ],
      "type": {
        "type": "reference",
        "name": "ReadonlyArray",
        "typeArguments": [
          {
            "type": "reference",
            "name": "Rule",
            "id": 580
          }
        ]
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        579
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 39,
      "character": 14
    }
  ]
}

Comparable

Definition: number | string | Quantity

DefinedValue

Definition:
{
  "id": 549,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 550,
      "name": "$defined",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 11,
          "character": 30
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "true"
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        550
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 11,
      "character": 19
    }
  ]
}

Equals

Definition:
{
  "id": 564,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 565,
      "name": "$eq",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 16,
          "character": 19
        }
      ],
      "type": {
        "type": "reference",
        "name": "Comparable",
        "id": 541
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        565
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 16,
      "character": 13
    }
  ]
}

EquipmentTypes

Definition: "bed" | "wardrobe" | "elevator" | "escalator" | "movingWalkway" | "ramp" | "hoist" | "stairLift" | "switch" | "sitemap" | "vendingMachine" | "intercom" | "powerOutlet"

ExistsValue

Definition:
{
  "id": 543,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 544,
      "name": "$exists",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 7,
          "character": 28
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "boolean"
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        544
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 7,
      "character": 18
    }
  ]
}

ExtendedSchema

Definition: {"type":"intersection","types":[{"type":"reflection","declaration":{"id":70,"name":"__type","kind":65536,"kindString":"Type literal","flags":{},"children":[{"id":71,"name":"__schemaType","kind":32,"kindString":"Variable","flags":{},"sources":[{"fileName":"src/SimpleSchemaExtensions.ts","line":155,"character":14}],"type":{"type":"intrinsic","name":"string"}},{"id":72,"name":"__schemaVersion","kind":32,"kindString":"Variable","flags":{},"sources":[{"fileName":"src/SimpleSchemaExtensions.ts","line":156,"character":17}],"type":{"type":"intrinsic","name":"string"}}],"groups":[{"title":"Variables","kind":32,"children":[71,72]}],"sources":[{"fileName":"src/SimpleSchemaExtensions.ts","line":154,"character":28}]}},{"type":"reference","name":"SimpleSchema"}]}

FieldTypes

Definition: "yesno" | "float" | "int"

Geometry

Definition: PointGeometry

GreaterThan

Definition:
{
  "id": 558,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 559,
      "name": "$gt",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 14,
          "character": 24
        }
      ],
      "type": {
        "type": "reference",
        "name": "Comparable",
        "id": 541
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        559
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 14,
      "character": 18
    }
  ]
}

GreaterThanEquals

Definition:
{
  "id": 561,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 562,
      "name": "$gte",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 15,
          "character": 31
        }
      ],
      "type": {
        "type": "reference",
        "name": "Comparable",
        "id": 541
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        562
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 15,
      "character": 24
    }
  ]
}

IetfLanguageTag

Definition: "af" | "af-NA" | "af-ZA" | "agq" | "agq-CM" | "ak" | "ak-GH" | "am" | "am-ET" | "ar" | "ar-001" | "ar-AE" | "ar-BH" | "ar-DJ" | "ar-DZ" | "ar-EG" | "ar-EH" | "ar-ER" | "ar-IL" | "ar-IQ" | "ar-JO" | "ar-KM" | "ar-KW" | "ar-LB" | "ar-LY" | "ar-MA" | "ar-MR" | "ar-OM" | "ar-PS" | "ar-QA" | "ar-SA" | "ar-SD" | "ar-SO" | "ar-SS" | "ar-SY" | "ar-TD" | "ar-TN" | "ar-YE" | "as" | "as-IN" | "asa" | "asa-TZ" | "ast" | "ast-ES" | "az" | "az-Cyrl" | "az-Cyrl-AZ" | "az-Latn" | "az-Latn-AZ" | "bas" | "bas-CM" | "be" | "be-BY" | "bem" | "bem-ZM" | "bez" | "bez-TZ" | "bg" | "bg-BG" | "bm" | "bm-ML" | "bn" | "bn-BD" | "bn-IN" | "bo" | "bo-CN" | "bo-IN" | "br" | "br-FR" | "brx" | "brx-IN" | "bs" | "bs-Cyrl" | "bs-Cyrl-BA" | "bs-Latn" | "bs-Latn-BA" | "ca" | "ca-AD" | "ca-ES" | "ca-ES-VALENCIA" | "ca-FR" | "ca-IT" | "ccp" | "ccp-BD" | "ccp-IN" | "ce" | "ce-RU" | "cgg" | "cgg-UG" | "chr" | "chr-US" | "ckb" | "ckb-IQ" | "ckb-IR" | "cs" | "cs-CZ" | "cu" | "cu-RU" | "cy" | "cy-GB" | "da" | "da-DK" | "da-GL" | "dav" | "dav-KE" | "de" | "de-AT" | "de-BE" | "de-CH" | "de-DE" | "de-IT" | "de-LI" | "de-LU" | "dje" | "dje-NE" | "dsb" | "dsb-DE" | "dua" | "dua-CM" | "dyo" | "dyo-SN" | "dz" | "dz-BT" | "ebu" | "ebu-KE" | "ee" | "ee-GH" | "ee-TG" | "el" | "el-CY" | "el-GR" | "en" | "en-001" | "en-150" | "en-AG" | "en-AI" | "en-AS" | "en-AT" | "en-AU" | "en-BB" | "en-BE" | "en-BI" | "en-BM" | "en-BS" | "en-BW" | "en-BZ" | "en-CA" | "en-CC" | "en-CH" | "en-CK" | "en-CM" | "en-CX" | "en-CY" | "en-DE" | "en-DG" | "en-DK" | "en-DM" | "en-ER" | "en-FI" | "en-FJ" | "en-FK" | "en-FM" | "en-GB" | "en-GD" | "en-GG" | "en-GH" | "en-GI" | "en-GM" | "en-GU" | "en-GY" | "en-HK" | "en-IE" | "en-IL" | "en-IM" | "en-IN" | "en-IO" | "en-JE" | "en-JM" | "en-KE" | "en-KI" | "en-KN" | "en-KY" | "en-LC" | "en-LR" | "en-LS" | "en-MG" | "en-MH" | "en-MO" | "en-MP" | "en-MS" | "en-MT" | "en-MU" | "en-MW" | "en-MY" | "en-NA" | "en-NF" | "en-NG" | "en-NL" | "en-NR" | "en-NU" | "en-NZ" | "en-PG" | "en-PH" | "en-PK" | "en-PN" | "en-PR" | "en-PW" | "en-RW" | "en-SB" | "en-SC" | "en-SD" | "en-SE" | "en-SG" | "en-SH" | "en-SI" | "en-SL" | "en-SS" | "en-SX" | "en-SZ" | "en-TC" | "en-TK" | "en-TO" | "en-TT" | "en-TV" | "en-TZ" | "en-UG" | "en-UM" | "en-US" | "en-US-POSIX" | "en-VC" | "en-VG" | "en-VI" | "en-VU" | "en-WS" | "en-ZA" | "en-ZM" | "en-ZW" | "eo" | "eo-001" | "es" | "es-419" | "es-AR" | "es-BO" | "es-BR" | "es-BZ" | "es-CL" | "es-CO" | "es-CR" | "es-CU" | "es-DO" | "es-EA" | "es-EC" | "es-ES" | "es-GQ" | "es-GT" | "es-HN" | "es-IC" | "es-MX" | "es-NI" | "es-PA" | "es-PE" | "es-PH" | "es-PR" | "es-PY" | "es-SV" | "es-US" | "es-UY" | "es-VE" | "et" | "et-EE" | "eu" | "eu-ES" | "ewo" | "ewo-CM" | "fa" | "fa-AF" | "fa-IR" | "ff" | "ff-Latn" | "ff-Latn-BF" | "ff-Latn-CM" | "ff-Latn-GH" | "ff-Latn-GM" | "ff-Latn-GN" | "ff-Latn-GW" | "ff-Latn-LR" | "ff-Latn-MR" | "ff-Latn-NE" | "ff-Latn-NG" | "ff-Latn-SL" | "ff-Latn-SN" | "fi" | "fi-FI" | "fil" | "fil-PH" | "fo" | "fo-DK" | "fo-FO" | "fr" | "fr-BE" | "fr-BF" | "fr-BI" | "fr-BJ" | "fr-BL" | "fr-CA" | "fr-CD" | "fr-CF" | "fr-CG" | "fr-CH" | "fr-CI" | "fr-CM" | "fr-DJ" | "fr-DZ" | "fr-FR" | "fr-GA" | "fr-GF" | "fr-GN" | "fr-GP" | "fr-GQ" | "fr-HT" | "fr-KM" | "fr-LU" | "fr-MA" | "fr-MC" | "fr-MF" | "fr-MG" | "fr-ML" | "fr-MQ" | "fr-MR" | "fr-MU" | "fr-NC" | "fr-NE" | "fr-PF" | "fr-PM" | "fr-RE" | "fr-RW" | "fr-SC" | "fr-SN" | "fr-SY" | "fr-TD" | "fr-TG" | "fr-TN" | "fr-VU" | "fr-WF" | "fr-YT" | "fur" | "fur-IT" | "fy" | "fy-NL" | "ga" | "ga-IE" | "gd" | "gd-GB" | "gl" | "gl-ES" | "gsw" | "gsw-CH" | "gsw-FR" | "gsw-LI" | "gu" | "gu-IN" | "guz" | "guz-KE" | "gv" | "gv-IM" | "ha" | "ha-GH" | "ha-NE" | "ha-NG" | "haw" | "haw-US" | "he" | "he-IL" | "hi" | "hi-IN" | "hr" | "hr-BA" | "hr-HR" | "hsb" | "hsb-DE" | "hu" | "hu-HU" | "hy" | "hy-AM" | "ia" | "ia-001" | "id" | "id-ID" | "ig" | "ig-NG" | "ii" | "ii-CN" | "is" | "is-IS" | "it" | "it-CH" | "it-IT" | "it-SM" | "it-VA" | "ja" | "ja-JP" | "jgo" | "jgo-CM" | "jmc" | "jmc-TZ" | "jv" | "jv-ID" | "ka" | "ka-GE" | "kab" | "kab-DZ" | "kam" | "kam-KE" | "kde" | "kde-TZ" | "kea" | "kea-CV" | "khq" | "khq-ML" | "ki" | "ki-KE" | "kk" | "kk-KZ" | "kkj" | "kkj-CM" | "kl" | "kl-GL" | "kln" | "kln-KE" | "km" | "km-KH" | "kn" | "kn-IN" | "ko" | "ko-KP" | "ko-KR" | "kok" | "kok-IN" | "ks" | "ks-IN" | "ksb" | "ksb-TZ" | "ksf" | "ksf-CM" | "ksh" | "ksh-DE" | "ku" | "ku-TR" | "kw" | "kw-GB" | "ky" | "ky-KG" | "lag" | "lag-TZ" | "lb" | "lb-LU" | "lg" | "lg-UG" | "lkt" | "lkt-US" | "ln" | "ln-AO" | "ln-CD" | "ln-CF" | "ln-CG" | "lo" | "lo-LA" | "lrc" | "lrc-IQ" | "lrc-IR" | "lt" | "lt-LT" | "lu" | "lu-CD" | "luo" | "luo-KE" | "luy" | "luy-KE" | "lv" | "lv-LV" | "mas" | "mas-KE" | "mas-TZ" | "mer" | "mer-KE" | "mfe" | "mfe-MU" | "mg" | "mg-MG" | "mgh" | "mgh-MZ" | "mgo" | "mgo-CM" | "mi" | "mi-NZ" | "mk" | "mk-MK" | "ml" | "ml-IN" | "mn" | "mn-MN" | "mr" | "mr-IN" | "ms" | "ms-BN" | "ms-MY" | "ms-SG" | "mt" | "mt-MT" | "mua" | "mua-CM" | "my" | "my-MM" | "mzn" | "mzn-IR" | "naq" | "naq-NA" | "nb" | "nb-NO" | "nb-SJ" | "nd" | "nd-ZW" | "nds" | "nds-DE" | "nds-NL" | "ne" | "ne-IN" | "ne-NP" | "nl" | "nl-AW" | "nl-BE" | "nl-BQ" | "nl-CW" | "nl-NL" | "nl-SR" | "nl-SX" | "nmg" | "nmg-CM" | "nn" | "nn-NO" | "nnh" | "nnh-CM" | "nus" | "nus-SS" | "nyn" | "nyn-UG" | "om" | "om-ET" | "om-KE" | "or" | "or-IN" | "os" | "os-GE" | "os-RU" | "pa" | "pa-Arab" | "pa-Arab-PK" | "pa-Guru" | "pa-Guru-IN" | "pl" | "pl-PL" | "prg" | "prg-001" | "ps" | "ps-AF" | "pt" | "pt-AO" | "pt-BR" | "pt-CH" | "pt-CV" | "pt-GQ" | "pt-GW" | "pt-LU" | "pt-MO" | "pt-MZ" | "pt-PT" | "pt-ST" | "pt-TL" | "qu" | "qu-BO" | "qu-EC" | "qu-PE" | "rm" | "rm-CH" | "rn" | "rn-BI" | "ro" | "ro-MD" | "ro-RO" | "rof" | "rof-TZ" | "root" | "ru" | "ru-BY" | "ru-KG" | "ru-KZ" | "ru-MD" | "ru-RU" | "ru-UA" | "rw" | "rw-RW" | "rwk" | "rwk-TZ" | "sah" | "sah-RU" | "saq" | "saq-KE" | "sbp" | "sbp-TZ" | "sd" | "sd-PK" | "se" | "se-FI" | "se-NO" | "se-SE" | "seh" | "seh-MZ" | "ses" | "ses-ML" | "sg" | "sg-CF" | "shi" | "shi-Latn" | "shi-Latn-MA" | "shi-Tfng" | "shi-Tfng-MA" | "si" | "si-LK" | "sk" | "sk-SK" | "sl" | "sl-SI" | "smn" | "smn-FI" | "sn" | "sn-ZW" | "so" | "so-DJ" | "so-ET" | "so-KE" | "so-SO" | "sq" | "sq-AL" | "sq-MK" | "sq-XK" | "sr" | "sr-Cyrl" | "sr-Cyrl-BA" | "sr-Cyrl-ME" | "sr-Cyrl-RS" | "sr-Cyrl-XK" | "sr-Latn" | "sr-Latn-BA" | "sr-Latn-ME" | "sr-Latn-RS" | "sr-Latn-XK" | "sv" | "sv-AX" | "sv-FI" | "sv-SE" | "sw" | "sw-CD" | "sw-KE" | "sw-TZ" | "sw-UG" | "ta" | "ta-IN" | "ta-LK" | "ta-MY" | "ta-SG" | "te" | "te-IN" | "teo" | "teo-KE" | "teo-UG" | "tg" | "tg-TJ" | "th" | "th-TH" | "ti" | "ti-ER" | "ti-ET" | "tk" | "tk-TM" | "to" | "to-TO" | "tr" | "tr-CY" | "tr-TR" | "tt" | "tt-RU" | "twq" | "twq-NE" | "tzm" | "tzm-MA" | "ug" | "ug-CN" | "uk" | "uk-UA" | "ur" | "ur-IN" | "ur-PK" | "uz" | "uz-Arab" | "uz-Arab-AF" | "uz-Cyrl" | "uz-Cyrl-UZ" | "uz-Latn" | "uz-Latn-UZ" | "vai" | "vai-Latn" | "vai-Latn-LR" | "vai-Vaii" | "vai-Vaii-LR" | "vi" | "vi-VN" | "vo" | "vo-001" | "vun" | "vun-TZ" | "wae" | "wae-CH" | "wo" | "wo-SN" | "xh" | "xh-ZA" | "xog" | "xog-UG" | "yav" | "yav-CM" | "yi" | "yi-001" | "yo" | "yo-BJ" | "yo-NG" | "yue" | "yue-Hans" | "yue-Hans-CN" | "yue-Hant" | "yue-Hant-HK" | "zgh" | "zgh-MA" | "zh" | "zh-Hans" | "zh-Hans-CN" | "zh-Hans-HK" | "zh-Hans-MO" | "zh-Hans-SG" | "zh-Hant" | "zh-Hant-HK" | "zh-Hant-MO" | "zh-Hant-TW" | "zu" | "zu-ZA"

IetfLanguageTagOrSignLanguageCode

We assume that IETF language tags will be extended with sign language codes (as proposed by http://www.evertype.com/standards/iso639/sign-language.html) eventually, so our language tags support them already.
Definition: IetfLanguageTag | SignLanguageCode

KoboAttachment

Definition:
{
  "id": 672,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 674,
      "name": "download_url",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 12,
          "character": 14
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 675,
      "name": "filename",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 13,
          "character": 10
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 677,
      "name": "id",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 15,
          "character": 4
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "number"
      }
    },
    {
      "id": 676,
      "name": "instance",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 14,
          "character": 10
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "number"
      }
    },
    {
      "id": 673,
      "name": "mimetype",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 11,
          "character": 10
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 678,
      "name": "xform",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 16,
          "character": 7
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "number"
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        674,
        675,
        677,
        676,
        673,
        678
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/transformers/transformKoboToA11y.ts",
      "line": 10,
      "character": 28
    }
  ]
}

KoboKey

Definition: {"type":"typeOperator","operator":"keyof","target":{"type":"reference","name":"KoboResult"}}

KoboResult

Definition:
{
  "id": 682,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 700,
      "name": "__version__",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 40,
          "character": 13
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 686,
      "name": "_attachments",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 26,
          "character": 14
        }
      ],
      "type": {
        "type": "array",
        "elementType": {
          "type": "reference",
          "name": "KoboAttachment",
          "id": 671
        }
      }
    },
    {
      "id": 690,
      "name": "_bamboo_dataset_id",
      "kind": 32,
      "kindString": "Variable",
      "flags": {
        "isOptional": true
      },
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 30,
          "character": 20
        }
      ],
      "type": {
        "type": "union",
        "types": [
          {
            "type": "intrinsic",
            "name": "undefined"
          },
          {
            "type": "intrinsic",
            "name": "string"
          }
        ]
      }
    },
    {
      "id": 685,
      "name": "_geolocation",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 25,
          "character": 14
        }
      ],
      "type": {
        "type": "tuple",
        "elements": [
          {
            "type": "intrinsic",
            "name": "number"
          },
          {
            "type": "intrinsic",
            "name": "number"
          }
        ]
      }
    },
    {
      "id": 683,
      "name": "_id",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 23,
          "character": 5
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "number"
      }
    },
    {
      "id": 687,
      "name": "_notes",
      "kind": 32,
      "kindString": "Variable",
      "flags": {
        "isOptional": true
      },
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 27,
          "character": 8
        }
      ],
      "type": {
        "type": "array",
        "elementType": {
          "type": "intrinsic",
          "name": "unknown"
        }
      }
    },
    {
      "id": 699,
      "name": "_status",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 39,
          "character": 9
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 703,
      "name": "_submission_time",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 43,
          "character": 18
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "unknown"
      }
    },
    {
      "id": 704,
      "name": "_submitted_by",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 44,
          "character": 15
        }
      ],
      "type": {
        "type": "union",
        "types": [
          {
            "type": "intrinsic",
            "name": "unknown"
          },
          {
            "type": "intrinsic",
            "name": "null"
          }
        ]
      }
    },
    {
      "id": 688,
      "name": "_tags",
      "kind": 32,
      "kindString": "Variable",
      "flags": {
        "isOptional": true
      },
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 28,
          "character": 7
        }
      ],
      "type": {
        "type": "array",
        "elementType": {
          "type": "intrinsic",
          "name": "unknown"
        }
      }
    },
    {
      "id": 684,
      "name": "_uuid",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 24,
          "character": 7
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 702,
      "name": "_validation_status",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 42,
          "character": 20
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "unknown"
      }
    },
    {
      "id": 689,
      "name": "_xform_id_string",
      "kind": 32,
      "kindString": "Variable",
      "flags": {
        "isOptional": true
      },
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 29,
          "character": 18
        }
      ],
      "type": {
        "type": "union",
        "types": [
          {
            "type": "intrinsic",
            "name": "undefined"
          },
          {
            "type": "intrinsic",
            "name": "string"
          }
        ]
      }
    },
    {
      "id": 701,
      "name": "deviceid",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 41,
          "character": 10
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 697,
      "name": "end",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 37,
          "character": 5
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 746,
      "name": "feedback/feedback_matrix/no_interaction_problems",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 87,
          "character": 52
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 745,
      "name": "feedback/feedback_matrix/questions_fits_this_place",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 86,
          "character": 54
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 695,
      "name": "formhub/uuid",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 35,
          "character": 16
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 749,
      "name": "has_phone_number",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 90,
          "character": 18
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 738,
      "name": "inquire/are_service_animals_allowed",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 79,
          "character": 39
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 739,
      "name": "inquire/media/has_audio",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 80,
          "character": 27
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 740,
      "name": "inquire/media/has_braille",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 81,
          "character": 29
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 741,
      "name": "inquire/media/has_large_print",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 82,
          "character": 33
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 742,
      "name": "inquire/staff_can_speak_sign_lang",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 83,
          "character": 37
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 743,
      "name": "inquire/staff_has_disabled_training",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 84,
          "character": 39
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 744,
      "name": "inquire/staff_spoken_sign_langs",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 85,
          "character": 35
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 737,
      "name": "inside/has_wide_aisles",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 78,
          "character": 26
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 723,
      "name": "inside/is_quiet",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 64,
          "character": 19
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 722,
      "name": "inside/is_well_lit",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 63,
          "character": 22
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 726,
      "name": "inside/toilet/basin_inside_cabin",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 67,
          "character": 36
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 724,
      "name": "inside/toilet/basin_wheelchair_fits_belows",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 65,
          "character": 46
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 725,
      "name": "inside/toilet/basin_wheelchair_reachable",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 66,
          "character": 44
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 727,
      "name": "inside/toilet/door_width",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 68,
          "character": 28
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 728,
      "name": "inside/toilet/free_space_front",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 69,
          "character": 34
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 729,
      "name": "inside/toilet/free_space_left",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 70,
          "character": 33
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 730,
      "name": "inside/toilet/free_space_right",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 71,
          "character": 34
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 731,
      "name": "inside/toilet/has_arm_rests",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 72,
          "character": 31
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 732,
      "name": "inside/toilet/has_basin",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 73,
          "character": 27
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 733,
      "name": "inside/toilet/has_toilet",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 74,
          "character": 28
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 734,
      "name": "inside/toilet/seat_height",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 75,
          "character": 29
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 735,
      "name": "inside/toilet/stepless_access",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 76,
          "character": 33
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 736,
      "name": "inside/toilet/toilet_photo",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 77,
          "character": 30
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 747,
      "name": "is_wheelchair_accessible",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 88,
          "character": 26
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoPartiallyResult",
        "id": 680
      }
    },
    {
      "id": 694,
      "name": "meta/instanceID",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 34,
          "character": 19
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 709,
      "name": "outside/category/category_sub",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 50,
          "character": 33
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 710,
      "name": "outside/category/category_top",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 51,
          "character": 33
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 712,
      "name": "outside/entrance/has_automatic_door",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 53,
          "character": 39
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 713,
      "name": "outside/entrance/has_door",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 54,
          "character": 29
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 714,
      "name": "outside/entrance/has_entrance",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 55,
          "character": 33
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 711,
      "name": "outside/entrance/has_fixed_ramp",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 52,
          "character": 35
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 715,
      "name": "outside/entrance/has_mobile_ramp",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 56,
          "character": 36
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 716,
      "name": "outside/entrance/has_steps",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 57,
          "character": 30
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 718,
      "name": "outside/entrance/picture",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 59,
          "character": 28
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 719,
      "name": "outside/entrance/steps_count",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 60,
          "character": 32
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 720,
      "name": "outside/entrance/steps_height",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 61,
          "character": 33
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 717,
      "name": "outside/entrance/steps_low_height",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 58,
          "character": 37
        }
      ],
      "type": {
        "type": "reference",
        "name": "YesNoResult",
        "id": 679
      }
    },
    {
      "id": 706,
      "name": "outside/geometry_point",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 47,
          "character": 26
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 721,
      "name": "outside/name",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 62,
          "character": 16
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 750,
      "name": "phone_number",
      "kind": 32,
      "kindString": "Variable",
      "flags": {
        "isOptional": true
      },
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 91,
          "character": 14
        }
      ],
      "type": {
        "type": "union",
        "types": [
          {
            "type": "intrinsic",
            "name": "undefined"
          },
          {
            "type": "intrinsic",
            "name": "string"
          }
        ]
      }
    },
    {
      "id": 692,
      "name": "phonenumber",
      "kind": 32,
      "kindString": "Variable",
      "flags": {
        "isOptional": true
      },
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 32,
          "character": 13
        }
      ],
      "type": {
        "type": "union",
        "types": [
          {
            "type": "intrinsic",
            "name": "undefined"
          },
          {
            "type": "intrinsic",
            "name": "string"
          }
        ]
      }
    },
    {
      "id": 753,
      "name": "place_email_address",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 94,
          "character": 21
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 751,
      "name": "place_phone_number",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 92,
          "character": 20
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 752,
      "name": "place_website_url",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 93,
          "character": 19
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 691,
      "name": "simserial",
      "kind": 32,
      "kindString": "Variable",
      "flags": {
        "isOptional": true
      },
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 31,
          "character": 11
        }
      ],
      "type": {
        "type": "union",
        "types": [
          {
            "type": "intrinsic",
            "name": "undefined"
          },
          {
            "type": "intrinsic",
            "name": "string"
          }
        ]
      }
    },
    {
      "id": 698,
      "name": "start",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 38,
          "character": 7
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 705,
      "name": "subscriberid",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 45,
          "character": 14
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 696,
      "name": "today",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 36,
          "character": 7
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 707,
      "name": "user/user_measuring",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 48,
          "character": 23
        }
      ],
      "type": {
        "type": "union",
        "types": [
          {
            "type": "stringLiteral",
            "value": "inch"
          },
          {
            "type": "stringLiteral",
            "value": "cm"
          }
        ]
      }
    },
    {
      "id": 708,
      "name": "user/user_record_type",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 49,
          "character": 25
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 693,
      "name": "username",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 33,
          "character": 10
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    },
    {
      "id": 748,
      "name": "wheelchair_comment",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/transformers/transformKoboToA11y.ts",
          "line": 89,
          "character": 20
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        700,
        686,
        690,
        685,
        683,
        687,
        699,
        703,
        704,
        688,
        684,
        702,
        689,
        701,
        697,
        746,
        745,
        695,
        749,
        738,
        739,
        740,
        741,
        742,
        743,
        744,
        737,
        723,
        722,
        726,
        724,
        725,
        727,
        728,
        729,
        730,
        731,
        732,
        733,
        734,
        735,
        736,
        747,
        694,
        709,
        710,
        712,
        713,
        714,
        711,
        715,
        716,
        718,
        719,
        720,
        717,
        706,
        721,
        750,
        692,
        753,
        751,
        752,
        691,
        698,
        705,
        696,
        707,
        708,
        693,
        748
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/transformers/transformKoboToA11y.ts",
      "line": 22,
      "character": 24
    }
  ]
}

Length

Definition: Quantity | string

LessThan

Definition:
{
  "id": 552,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 553,
      "name": "$lt",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 12,
          "character": 21
        }
      ],
      "type": {
        "type": "reference",
        "name": "Comparable",
        "id": 541
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        553
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 12,
      "character": 15
    }
  ]
}

LessThanEquals

Definition:
{
  "id": 555,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 556,
      "name": "$lte",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 13,
          "character": 28
        }
      ],
      "type": {
        "type": "reference",
        "name": "Comparable",
        "id": 541
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        556
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 13,
      "character": 21
    }
  ]
}

LocalizedString

Localized strings can either be just Strings, or be Objects with IETF language tags as property names and localized strings as property values.
Definition: string | 
{
  "id": 159,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "indexSignature": [
    {
      "id": 160,
      "name": "__index",
      "kind": 8192,
      "kindString": "Index signature",
      "flags": {},
      "parameters": [
        {
          "id": 161,
          "name": "key",
          "kind": 32768,
          "kindString": "Parameter",
          "flags": {},
          "type": {
            "type": "intrinsic",
            "name": "string"
          }
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "string"
      }
    }
  ],
  "sources": [
    {
      "fileName": "src/LocalizedString.ts",
      "line": 8,
      "character": 3
    }
  ]
}

MatchRule

Definition:
{
  "id": 571,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "indexSignature": [
    {
      "id": 572,
      "name": "__index",
      "kind": 8192,
      "kindString": "Index signature",
      "flags": {},
      "parameters": [
        {
          "id": 573,
          "name": "key",
          "kind": 32768,
          "kindString": "Parameter",
          "flags": {},
          "type": {
            "type": "intrinsic",
            "name": "string"
          }
        }
      ],
      "type": {
        "type": "reference",
        "name": "MatchValue",
        "id": 569
      }
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 33,
      "character": 16
    }
  ]
}

MatchValue

Definition: string | number | null | boolean | DefinedValue | ExistsValue | UnknownOrValue | LessThan | LessThanEquals | GreaterThan | GreaterThanEquals | Equals | NotEquals

NotEquals

Definition:
{
  "id": 567,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 568,
      "name": "$ne",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 17,
          "character": 22
        }
      ],
      "type": {
        "type": "reference",
        "name": "Comparable",
        "id": 541
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        568
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 17,
      "character": 16
    }
  ]
}

Operator

The allowed operators for comparison quantities
Definition: "<" | "<=" | "==" | ">=" | ">"

Operators

Definition: "$eq" | "$lt" | "$lte" | "$gt" | "$gte" | "$ne"

OrRule

Definition:
{
  "id": 575,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 576,
      "name": "$or",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 37,
          "character": 5
        }
      ],
      "type": {
        "type": "reference",
        "name": "ReadonlyArray",
        "typeArguments": [
          {
            "type": "reference",
            "name": "Rule",
            "id": 580
          }
        ]
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        576
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 36,
      "character": 13
    }
  ]
}

RestroomSignIcon

Definition: "allGender" | "female" | "male" | "personInWheelchair" | "changingTable" | "baby" | "family" | "urinal" | "washBasin" | "toiletBowl"

Rule

Definition: OrRule | AndRule | MatchRule

RuleEvaluationResult

Definition: "true" | "false" | "unknown"

SignLanguageCode

We assume that IETF language tags will be extended with sign language codes (as proposed by http://www.evertype.com/standards/iso639/sign-language.html) eventually, so our language tags support them already.
Definition: "ase" | "sgn-ase" | "sgn-ase-US" | "sgn-GH-EP" | "sgn-DZ" | "sgn-US" | "sgn-AR" | "sgn-AM" | "sgn-AU-NT" | "sgn-AU" | "sgn-AT" | "sgn-ID-BA" | "sgn-BE-VLG" | "sgn-BE-WAL" | "sgn-BO" | "sgn-BR" | "sgn-GB" | "sgn-BG" | "sgn-ES-CT" | "sgn-TD" | "sgn-CL" | "sgn-CN" | "sgn-CO" | "sgn-CR" | "sgn-CZ" | "sgn-DK" | "sgn-NL" | "sgn-EC" | "sgn-SV" | "sgn-CA-NU" | "sgn-ET" | "sgn-FI" | "sgn-CA-QC" | "sgn-FR" | "sgn-DE" | "sgn-GH" | "sgn-GR" | "sgn-GT" | "sgn-US-HI" | "sgn-HK" | "sgn-IS" | "sgn-ID" | "sgn-IN" | "sgn-IE" | "sgn-IL" | "sgn-IT" | "sgn-JM" | "sgn-JP" | "sgn-JO" | "sgn-KE" | "sgn-KR" | "sgn-MY-B" | "sgn-LV" | "sgn-LY" | "sgn-LT" | "sgn-FR-69" | "sgn-MY" | "sgn-MT" | "sgn-US-MA" | "sgn-MX-YUC" | "sgn-MX" | "sgn-VA" | "sgn-MN" | "sgn-MA" | "sgn-NA" | "sgn-NP" | "sgn-NZ" | "sgn-NI" | "sgn-NG" | "sgn-NO" | "sgn-CA-NS" | "sgn-GB-KEN" | "sgn-MY-P" | "sgn-IR" | "sgn-PE" | "sgn-PH" | "sgn-US-SD" | "sgn-PL" | "sgn-PT" | "sgn-CO-SAP" | "sgn-PR" | "sgn-SB" | "sgn-RO" | "sgn-RU" | "sgn-SA" | "sgn-SE-crp" | "sgn-SG" | "sgn-SK" | "sgn-ZA" | "sgn-ES" | "sgn-LK" | "sgn-SE" | "sgn-CH-GE" | "sgn-CH-ZH" | "sgn-CH-TI" | "sgn-TW" | "sgn-TZ" | "sgn-TH" | "sgn-TN" | "sgn-TR" | "sgn-UG" | "sgn-UA" | "sgn-BR-MA" | "sgn-UY" | "sgn-VE" | "sgn-IL-yid" | "sgn-YU" | "sgn-ZM" | "sgn-ZW" | "sgn-afr-ZA" | "sgn-chi-TW" | "sgn-dan-DK" | "sgn-dut-BE" | "sgn-dut-NL" | "sgn-eng-GB" | "sgn-eng-IE" | "sgn-eng-US" | "sgn-fin-FI" | "sgn-fre-BE" | "sgn-fre-CA" | "sgn-fre-FR" | "sgn-jpn-JP" | "sgn-nor-NO" | "sgn-por-PT" | "sgn-swe-SE"

SmokingPolicy

Describes the smoking policy for visitors of a place.
Definition: "dedicatedToSmoking" | "allowedEverywhere" | "inSeparateArea" | "inIsolatedArea" | "prohibited" | "onlyOutside"

UnknownOrValue

Definition:
{
  "id": 546,
  "name": "__type",
  "kind": 65536,
  "kindString": "Type literal",
  "flags": {},
  "children": [
    {
      "id": 547,
      "name": "$unknownOr",
      "kind": 32,
      "kindString": "Variable",
      "flags": {},
      "sources": [
        {
          "fileName": "src/rules/RatingRules.ts",
          "line": 9,
          "character": 34
        }
      ],
      "type": {
        "type": "intrinsic",
        "name": "boolean"
      }
    }
  ],
  "groups": [
    {
      "title": "Variables",
      "kind": 32,
      "children": [
        547
      ]
    }
  ],
  "sources": [
    {
      "fileName": "src/rules/RatingRules.ts",
      "line": 9,
      "character": 21
    }
  ]
}

Volume

Definition: Quantity | string

YesNoPartiallyResult

Definition: "true" | "partially" | "false" | "undefined"

YesNoResult

Definition: "true" | "false" | "undefined"