{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/eudr-iop-standard-exchange-format-eudr-x/versions/2.0.0.json",
  "title": "EUDR Exchange Format, defined by Initiative Online Print e.V.",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/initiative-online-print/eudr-iop-standard-exchange-format/refs/tags/v2.0.0/json/schema.json",
    "sourceSha256": "b7e569fb75530a1afdf85151485bcfdbcd8bcf7430c5e741729b86fa5a0c73b1",
    "fileMatch": [
      "*eudr-x.json"
    ],
    "parsers": [
      "json"
    ]
  },
  "type": "object",
  "properties": {
    "operator": {
      "type": "object",
      "properties": {
        "company_name": {
          "type": "string"
        },
        "address": {
          "type": "object",
          "properties": {
            "street": {
              "type": "string"
            },
            "postal_code": {
              "type": "string"
            },
            "city": {
              "type": "string"
            },
            "country": {
              "type": "string",
              "minLength": 2,
              "maxLength": 2
            }
          },
          "required": [
            "street",
            "postal_code",
            "city",
            "country"
          ]
        },
        "contact_person": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "email": {
              "type": "string",
              "format": "email"
            },
            "phone": {
              "type": "string"
            }
          },
          "required": [
            "name",
            "email",
            "phone"
          ]
        },
        "eudr_details": {
          "type": "object",
          "properties": {
            "eudr_role": {
              "type": "string",
              "enum": [
                "SME-Operator",
                "SME-Trader",
                "LC-Operator",
                "LC-Trader"
              ]
            },
            "taric_document_code": {
              "type": "string",
              "enum": [
                "C716",
                "C717",
                "Y129",
                "Y132",
                "Y133",
                "Y142",
                "Y144"
              ]
            },
            "hs_code": {
              "type": "string",
              "pattern": "^(\\d{2}|\\d{4}|\\d{6})$"
            }
          },
          "required": [
            "eudr_role",
            "taric_document_code"
          ]
        }
      },
      "required": [
        "company_name",
        "address",
        "contact_person",
        "eudr_details"
      ]
    },
    "order_item": {
      "type": "object",
      "properties": {
        "order_reference": {
          "type": "string"
        },
        "item_reference": {
          "type": "string"
        },
        "production_reference": {
          "type": "string"
        }
      },
      "required": [
        "order_reference",
        "item_reference"
      ]
    },
    "referenced_eudr_statements": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "reference_number": {
            "type": "string"
          },
          "verification_number": {
            "type": "string"
          },
          "serial_shipping_container_reference": {
            "type": "string"
          }
        },
        "required": [
          "reference_number",
          "verification_number"
        ]
      }
    },
    "document_meta": {
      "type": "object",
      "properties": {
        "identifier": {
          "type": "string"
        },
        "submission_date": {
          "type": "string",
          "format": "date-time"
        },
        "version": {
          "type": "string",
          "pattern": "^([1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
        }
      },
      "required": [
        "submission_date",
        "version"
      ]
    }
  },
  "required": [
    "operator",
    "order_item",
    "referenced_eudr_statements",
    "document_meta"
  ]
}
