{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/artashippinginc/json-schema/artashippinginc-self-ship-collection-availability-check-create-schema.json",
  "title": "SelfShipCollectionAvailabilityCheckCreate",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/artashippinginc-self-ship-collections-api-openapi.yml#/components/schemas/SelfShipCollectionAvailabilityCheckCreate",
  "additionalProperties": false,
  "properties": {
    "self_ship_collection_availability_check": {
      "properties": {
        "collection_date": {
          "description": "Date to check availability for in ISO 8601 format (`YYYY-MM-DD`)",
          "format": "date",
          "type": "string",
          "x-struct": null,
          "x-validate": null
        },
        "location": {
          "description": "Pickup location to check availability for",
          "properties": {
            "address_line_1": {
              "description": "Street address",
              "minLength": 1,
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            "address_line_2": {
              "description": "Additional address info",
              "type": [
                "string",
                "null"
              ],
              "x-struct": null,
              "x-validate": null
            },
            "city": {
              "description": "City",
              "minLength": 1,
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            "close_time": {
              "description": "Location closing time in ISO 8601 format (`HH:MM:SS`)",
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            "country": {
              "description": "Two-letter country code. Currently `US` and `GB` are supported.",
              "maxLength": 2,
              "minLength": 2,
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            "postal_code": {
              "description": "Postal code",
              "minLength": 1,
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            "region": {
              "description": "State or territory code. Required for `US` addresses and must be a valid US state or territory code; may be omitted for `GB` addresses.",
              "type": "string",
              "x-struct": null,
              "x-validate": null
            }
          },
          "required": [
            "address_line_1",
            "city",
            "country",
            "postal_code",
            "close_time"
          ],
          "type": "object",
          "x-struct": null,
          "x-validate": null
        },
        "service": {
          "description": "Carrier service to check availability for",
          "properties": {
            "carrier": {
              "description": "Carrier identifier. `fedex` and `dhl` are supported.",
              "enum": [
                "fedex",
                "dhl"
              ],
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            "code": {
              "description": "Service level code",
              "enum": [
                "ground",
                "express"
              ],
              "type": "string",
              "x-struct": null,
              "x-validate": null
            },
            "route": {
              "description": "Route type.",
              "enum": [
                "domestic",
                "international"
              ],
              "type": "string",
              "x-struct": null,
              "x-validate": null
            }
          },
          "required": [
            "carrier",
            "code",
            "route"
          ],
          "type": "object",
          "x-struct": null,
          "x-validate": null
        }
      },
      "required": [
        "location",
        "service",
        "collection_date"
      ],
      "type": "object",
      "x-struct": null,
      "x-validate": null
    }
  },
  "required": [
    "self_ship_collection_availability_check"
  ],
  "type": "object",
  "x-struct": "Elixir.DocsWeb.Schemas.RequestBody.SelfShipCollectionAvailabilityCheckCreate",
  "x-validate": null
}