from __future__ import annotations
from dataclasses import dataclass, field
from .deck_space_version_structure import DeckSpaceVersionStructure
from .luggage_spots_rel_structure import LuggageSpotsRelStructure
from .passenger_space_type_enumeration import PassengerSpaceTypeEnumeration
from .passenger_spots_rel_structure import PassengerSpotsRelStructure
from .passenger_vehicle_spots_rel_structure import PassengerVehicleSpotsRelStructure
from .spot_affinities_rel_structure import SpotAffinitiesRelStructure

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


@dataclass(slots=True, kw_only=True)
class PassengerSpaceVersionStructure(DeckSpaceVersionStructure):
    class Meta:
        name = "PassengerSpace_VersionStructure"

    passenger_space_type: None | PassengerSpaceTypeEnumeration = field(
        default=None,
        metadata={
            "name": "PassengerSpaceType",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    standing_allowed: None | bool = field(
        default=None,
        metadata={
            "name": "StandingAllowed",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    passenger_spots: None | PassengerSpotsRelStructure = field(
        default=None,
        metadata={
            "name": "passengerSpots",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    luggage_spots: None | LuggageSpotsRelStructure = field(
        default=None,
        metadata={
            "name": "luggageSpots",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    passenger_vehicle_spots: None | PassengerVehicleSpotsRelStructure = field(
        default=None,
        metadata={
            "name": "passengerVehicleSpots",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    spot_affinities: None | SpotAffinitiesRelStructure = field(
        default=None,
        metadata={
            "name": "spotAffinities",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )