from __future__ import annotations
from dataclasses import dataclass, field
from .all_public_transport_modes_enumeration import AllPublicTransportModesEnumeration
from .line_section_point_type_enumeration import LineSectionPointTypeEnumeration
from .point_on_section_versioned_child_structure import PointOnSectionVersionedChildStructure

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


@dataclass(slots=True, kw_only=True)
class PointOnLineSectionVersionedChildStructure(PointOnSectionVersionedChildStructure):
    class Meta:
        name = "PointOnLineSection_VersionedChildStructure"

    line_section_point_type: None | LineSectionPointTypeEnumeration = field(
        default=None,
        metadata={
            "name": "LineSectionPointType",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    show_as_accessible: None | bool = field(
        default=None,
        metadata={
            "name": "ShowAsAccessible",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
        }
    )
    connecting_vehicle_modes: list[AllPublicTransportModesEnumeration] = field(
        default_factory=list,
        metadata={
            "name": "ConnectingVehicleModes",
            "type": "Element",
            "namespace": "http://www.netex.org.uk/netex",
            "tokens": True,
        }
    )