{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/dhl/json-schema/dhl-feature-search-rep-schema.json",
  "title": "FeatureSearchRep",
  "description": "Request with multiple options",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/dhl-deutsche-post-print-mailing-targeting-post-parcel-germany-openapi.yml#/components/schemas/FeatureSearchRep",
  "type": "object",
  "properties": {
    "cities": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CityRep"
      }
    },
    "neighbourhoods": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9]+$"
      }
    },
    "districtCodes": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9]{5}-[0-9]{2}$"
      }
    },
    "postalCodes": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9]{5}$"
      }
    },
    "regions": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9]{2}$"
      }
    },
    "zones": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9]$"
      }
    },
    "coordinates": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CoordinateRep"
      }
    },
    "ags": {
      "type": "array",
      "description": "Amtlicher Gemeindeschlüssel",
      "items": {
        "type": "string",
        "pattern": "^[0-9]{8}$"
      }
    }
  },
  "$defs": {
    "CityRep": {
      "type": "object",
      "description": "City and/or neighbourhood required.",
      "properties": {
        "city": {
          "type": "string"
        },
        "neighbourhood": {
          "type": "string"
        },
        "latitude": {
          "type": "number",
          "format": "double"
        },
        "longitude": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "CoordinateRep": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number",
          "format": "double"
        },
        "longitude": {
          "type": "number",
          "format": "double"
        },
        "distance": {
          "type": "integer",
          "format": "int32",
          "description": "search radius in kilometres around the given coordinates"
        }
      },
      "required": [
        "latitude",
        "longitude"
      ]
    }
  }
}