{
  "title": "G6 Supplier Schema",
  "$schema": "http://json-schema.org/schema#",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "contactInformation": {
      "type": "array",
      "items": {
        "$ref": "file:json_schemas/contact-information.json"
      },
      "minItems": 1
    },
    "dunsNumber": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "eSourcingId": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "clients": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 0
    }
  },
  "required": [
    "id",
    "name",
    "contactInformation"
  ]
}

{
  "title": "G6 Supplier Schema",
  "$schema": "http://json-schema.org/schema#",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "integer"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "contactInformation": {
      "type": "array",
      "items": {
        "$ref": "file:json_schemas/contact-information.json"
      },
      "minItems": 1
    },
    "dunsNumber": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "eSourcingId": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "clients": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 0
    }
  },
  "required": [
    "id",
    "name"
  ]
}

Make supplier.contactInformation an optional JSON field
Make supplier.contactInformation an optional JSON field

'contactInformation' is dropped in supplier update requests
since the contact details are updated by a separate endpoint.

Since contact details can be created separately it should also
be possible to create a supplier without any contact details.
