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

from __future__ import annotations
import dataclasses
from .customstaxidentification import CustomsTaxIdentification
from dataclasses_json import Undefined, dataclass_json
from shippo import utils
from typing import Optional


@dataclass_json(undefined=Undefined.EXCLUDE)
@dataclasses.dataclass
class CustomsExporterIdentification:
    r"""Additional exporter identification that may be required to ship in certain countries"""
    eori_number: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('eori_number'), 'exclude': lambda f: f is None }})
    r"""Economic Operators' Registration and Identification (EORI) number. Must start with a 2 character
    country code followed by a 6-17 character alphanumeric identifier (e.g. PL1234567890ABCDE).
    <a href=\"https://ec.europa.eu/taxation_customs/business/customs-procedures/general-overview/economic-operators-registration-identification-number-eori_en\">More information on EORI.</a>
    """
    tax_id: Optional[CustomsTaxIdentification] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tax_id'), 'exclude': lambda f: f is None }})
    r"""Tax identification that may be required to ship in certain countries. Typically used to assess duties on
    goods that are crossing a border.
    """
    

