from __future__ import annotations
from dataclasses import dataclass, field
from xsdata.models.datatype import XmlDate, XmlDateTime
from .modification_enumeration import ModificationEnumeration
from .name_of_class import NameOfClass

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


@dataclass(slots=True, kw_only=True)
class VersionOfObjectRefStructure:
    value: str = field(
        default=''
    )
    name_of_ref_class: None | NameOfClass = field(
        default=None,
        metadata={
            "name": "nameOfRefClass",
            "type": "Attribute",
        }
    )
    created: None | XmlDateTime = field(
        default=None,
        metadata={
            "type": "Attribute",
        }
    )
    changed: None | XmlDateTime = field(
        default=None,
        metadata={
            "type": "Attribute",
        }
    )
    version: None | str = field(
        default=None,
        metadata={
            "type": "Attribute",
        }
    )
    modification: None | ModificationEnumeration = field(
        default=None,
        metadata={
            "type": "Attribute",
        }
    )
    ref: str = field(
        metadata={
            "type": "Attribute",
        }
    )
    version_ref: None | str = field(
        default=None,
        metadata={
            "name": "versionRef",
            "type": "Attribute",
        }
    )
    uri: None | str = field(
        default=None,
        metadata={
            "type": "Attribute",
        }
    )