from __future__ import annotations
from dataclasses import dataclass, field
from .entity_in_version_structure import DataManagedObjectStructure
from .fare_class_enumeration import FareClassEnumeration

__NAMESPACE__ = "http://www.netex.org.uk/netex"


@dataclass(slots=True, kw_only=True)
class PassengerCapacityStructure(DataManagedObjectStructure):
    fare_class: None | FareClassEnumeration = field(
        default=None,
        metadata={
            "name": "FareClass",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    total_capacity: None | int = field(
        default=None,
        metadata={
            "name": "TotalCapacity",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    seating_capacity: None | int = field(
        default=None,
        metadata={
            "name": "SeatingCapacity",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    standing_capacity: None | int = field(
        default=None,
        metadata={
            "name": "StandingCapacity",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    special_place_capacity: None | int = field(
        default=None,
        metadata={
            "name": "SpecialPlaceCapacity",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    pushchair_capacity: None | int = field(
        default=None,
        metadata={
            "name": "PushchairCapacity",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    wheelchair_place_capacity: None | int = field(
        default=None,
        metadata={
            "name": "WheelchairPlaceCapacity",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    pram_place_capacity: None | int = field(
        default=None,
        metadata={
            "name": "PramPlaceCapacity",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    bicycle_rack_capacity: None | int = field(
        default=None,
        metadata={
            "name": "BicycleRackCapacity",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )