NeTEx icon indicating copy to clipboard operation
NeTEx copied to clipboard

Priority seating

Open Robbendebiene opened this issue 8 months ago • 0 comments

[!NOTE]
This proposal is part of a series of proposals focusing on accessibility around vehicle types. It is motivated by the development of a NeTEx based vehicle registry as well as the German handbook of accessible travel chains. We are happy to contribute the necessary XSD changes via a pull request on approval.

Rationale

In some vehicles certain seats or spaces are designated to certain groups of people or accessories. The most common example is priority seating which targets persons with reduced mobility (PRM) to offer them an equal degree of access and comfort as other people. Priority seating as defined by EN 16585-2:2022 is not just about precedence. The seats are also designed to account for special needs of PRM similar to wheelchair spaces.

Sources:

Use cases

Knowing in advance which seats are priority seats or otherwise designated spaces helps all passengers. Those who rely on them can more easily find the seats while those who don't, have an increased awareness and can more easily avoid them.

  • Automatic seat map generation from deck plan data with symbols that shows which seats are priority seats.
  • Text or icon in travel information describing that the vehicle has priority seats. This could only be shown if the user is part of a prioritised group.
  • Describing the location of priority seats to blind people.

The features are part of the German handbook of public transport accessibility from the DELFI association. (see DEFLI 3050 and DELFI 3051)

Status quo

There are multiple enumeration values and properties based on the term "special place" like specialSeating from AccommodationFacilityEnumeration and specialSpace from TypeOfLocatableSpotEnumeration. These values may describe priority seats as they are sometimes called seats for people with special needs, but it remains unclear due to the lack of documentation.

The documentation of SpecialPlaceCapacity from CapacityGroup states:

The number of special places on vehicles of the type, e.g. seats for the disabled. [...]

This sounds like it includes priority seats, but "seats for the disabled" only serves as an example here.

The documentation of SpecialPlacesOccupied from OccupancyValuesGroup states:

Total number of special places, e.g. seats for the disabled or lounge seats, [...]

It becomes more clear that "special places" seems to function more like an "other" keyword, describing multiple unrelated places.

There is also PublicUseEnumeration which contains disabledPublicOnly but it is only used in the context of PathLink and not for passenger spaces or seats.

Proposal

This proposal focuses on adding a way to model that certain spots are designated to certain people or accessories, especially wheelchair spaces and priority seats. The second part focuses specifically on the availability of priority seats.

Specific priority use

Add new priority enumeration

The name "PriorityUse" was chosen to be similar to "priority seating" while also being applicable for spaces that are prioritised for e.g. wheelchair users. Since the same concept also applies to e.g. spaces for bicycles and prams, multiple values from the existing UserTypeEnumeration have been included to make the enumeration more reusable for other areas. The order of the listed items does not describe any priority among the items.

<xsd:element name="PriorityUse" type="PriorityUseListOfEnumerations" default="none">
  <xsd:annotation>
    <xsd:documentation>Whether a place is designated for a certain group of people or accessories e.g. a priority seat for PRM or a compartment for wheelchair users and prams.</xsd:documentation>
  </xsd:annotation>
</xsd:element>

<xsd:simpleType name="PriorityUseListOfEnumerations">
  <xsd:list itemType="PriorityUseEnumeration"/>
</xsd:simpleType>

<xsd:simpleType name="PriorityUseEnumeration">
  <xsd:restriction base="xsd:NMTOKEN">
    <!-- usually for seats: -->
    <xsd:enumeration value="personWithReducedMobility">
      <xsd:annotation>
        <xsd:documentation>On a PASSENGER SPOT this depicts a priority seat as defined in EN 16585-2:2022.</xsd:documentation>
      </xsd:annotation>
    </xsd:enumeration>
    <xsd:enumeration value="senior"/>
    <xsd:enumeration value="disabled"/>
    <xsd:enumeration value="injured"/>
    <xsd:enumeration value="pregnantWoman"/>
    <xsd:enumeration value="infantCarryingPerson"/>
    <xsd:enumeration value="child"/>
    <xsd:enumeration value="woman"/>
    <!-- usually for spaces: -->
    <xsd:enumeration value="guideDog"/>
    <xsd:enumeration value="wheelchairUser">
      <xsd:annotation>
        <xsd:documentation>On a PASSENGER SPOT this depicts a wheelchair space as defined in EN 16585-2:2022.</xsd:documentation>
      </xsd:annotation>
    </xsd:enumeration>
    <xsd:enumeration value="walkingChair"/>
    <xsd:enumeration value="pram"/>
    <xsd:enumeration value="bicycle"/>
    <!-- no prioritisation -->
    <xsd:enumeration value="none"/>
  </xsd:restriction>
</xsd:simpleType>

Add new property to PassengerSpot

Add the PriorityUse element to PassengerSpotGroup. We consider the property of similar relevance as PublicUse, FareClass or GenderLimitation wherefore it should be possible to model it directly via a specific property where most applicable (PassengerSpot). A verbal location of the spot or other passenger relevant information can be put into the element's Description. Alternative property names: "PrioritisedFor" or "DesignatedFor".

<xsd:group name="PassengerSpotGroup">
  <xsd:sequence>
    <xsd:element ref="PriorityUse" minOccurs="0"/>
    [...]
  </xsd:sequence>
</xsd:group>

Add as facility

Add PriorityUse to CommonFacilityGroup and AllFacilityGroup to allow using the concept in other parts of NeTEx. This is again similar to FareClasses and GenderLimitation.

Priority seating availability

Priority seating describes a seat that is specifically designed for PRMs, therefore it should be treated similar to wheelchair or pushchair spaces. This specifically targets priority seats as defined in EN 16585-2:2022.

New property for CapacityGroup

CapacityGroup can be used to model the number of possible wheelchair-, pram-, pushchair- and bicycle places inside a VehicleType. Adding another element called PrioritySeatingCapacity allows modeling the number of priority seats.

<xsd:group name="CapacityGroup">
  <xsd:sequence>
    [...]
    <xsd:element name="PrioritySeatingCapacity" type="NumberOfPassengers" minOccurs="0"/>
  </xsd:sequence>
</xsd:group>

New value for TypeOfLocatableSpotEnumeration

The TypeOfLocatableSpotEnumeration allows modeling the number of dedicated spots inside a PassengerSpace. Likewise to CapacityGroup a new value is added to the TypeOfLocatableSpotEnumeration.

<xsd:simpleType name="TypeOfLocatableSpotEnumeration">
  <xsd:restriction base="xsd:normalizedString">
    <xsd:enumeration value="seat"/>
    <!-- NEW START -->
    <xsd:enumeration value="prioritySeat"/>
    <!-- NEW END -->
    <xsd:enumeration value="bed"/>
    <xsd:enumeration value="standingSpace"/>
    <xsd:enumeration value="wheelchairSpace"/>
    <xsd:enumeration value="pushchairSpace"/>
    <xsd:enumeration value="luggageSpace"/>
    <xsd:enumeration value="bicycleSpace"/>
    <xsd:enumeration value="vehicleSpace"/>
    <xsd:enumeration value="specialSpace"/>
  </xsd:restriction>
</xsd:simpleType>

New value for AccommodationFacilityEnumeration

A new value to the AccommodationFacilityEnumeration is added. This allows adding the AccommodationFacility as a facility to depict whether a vehicle or compartment provides any priority seats.

<xsd:simpleType name="AccommodationFacilityEnumeration">
  <xsd:restriction base="xsd:NMTOKEN">
    <xsd:enumeration value="unknown"/>
    <xsd:enumeration value="standing"/>
    <xsd:enumeration value="seating"/>
    <!-- NEW START -->
    <xsd:enumeration value="prioritySeating"/>
    <!-- NEW END -->
    <xsd:enumeration value="sleeper"/>
    <xsd:enumeration value="singleSleeper"/>
    <xsd:enumeration value="doubleSleeper"/>
    <xsd:enumeration value="specialSleeper"/>
    <xsd:enumeration value="couchette"/>
    <xsd:enumeration value="singleCouchette"/>
    <xsd:enumeration value="doubleCouchette"/>
    <xsd:enumeration value="specialSeating"/>
    <xsd:enumeration value="recliningSeats"/>
    <xsd:enumeration value="babyCompartment"/>
    <xsd:enumeration value="familyCarriage"/>
    <xsd:enumeration value="recreationArea"/>
    <xsd:enumeration value="panoramaCoach"/>
    <xsd:enumeration value="pullmanCoach"/>
    <xsd:enumeration value="pushchair"/>
    <xsd:enumeration value="wheelchair"/>
  </xsd:restriction>
</xsd:simpleType>

Alternatively it might be added to the AccommodationAccessEnumeration.

Discarded ideas:

Add boolean property to PassengerSpot

Add a boolean property like PrioritySeat=true|false or SpecialNeed=true|false to PassengerSpot. Rationale: There are different kinds of priority spots like an area that is prioritised for wheelchairs or a seat that is prioritised for PRM. The distinction between them cannot be described via a boolean.

Robbendebiene avatar May 14 '25 11:05 Robbendebiene