"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
import dataclasses
from dataclasses_json import Undefined, dataclass_json
from shippo import utils


@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class TrackingStatusSubstatus:
    r"""A finer-grained classification of the tracking event."""
    code: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code') }})
    r"""A code that represents the substatus of the shipment. See the <a href=\\"https://docs.goshippo.com/docs/tracking/tracking/#event-definitions\\">Event Definitions</a> for more information."""
    text: str = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('text') }})
    r"""A human-readable description of the substatus. See the <a href=\\"https://docs.goshippo.com/docs/tracking/tracking/#event-definitions\\">Event Definitions</a> for more information."""
    action_required: bool = dataclasses.field(metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('action_required') }})
    r"""Indicates whether the substatus requires action from the shipper or recipient to complete delivery."""
    

