{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/AttachmentRequest",
  "title": "AttachmentRequest",
  "type": "object",
  "required": [
    "Name",
    "IsRequired",
    "IsActive",
    "Domains"
  ],
  "properties": {
    "Name": {
      "type": "string",
      "description": "Attachment name.",
      "example": "Shirt customization"
    },
    "IsRequired": {
      "type": "boolean",
      "description": "Defines if the attachment is required or not.",
      "example": false
    },
    "IsActive": {
      "type": "boolean",
      "description": "Defines if the attachment is active or not.",
      "example": false
    },
    "Domains": {
      "type": "array",
      "description": "List of characteristics related to the attachment.",
      "items": {
        "type": "object",
        "properties": {
          "FieldName": {
            "type": "string",
            "description": "Attachment key name.",
            "example": "Number"
          },
          "MaxCaracters": {
            "type": "string",
            "description": "Maximum number of characters in the attachment key.",
            "example": "1"
          },
          "DomainValues": {
            "type": "string",
            "description": "Allowed key values.",
            "example": "7,9,10"
          }
        }
      }
    }
  },
  "example": {
    "Name": "Ingredients",
    "IsRequired": true,
    "IsActive": true,
    "Domains": [
      {
        "FieldName": "Sauce",
        "MaxCaracters": "",
        "DomainValues": "[1-2]#9[1-1][1]basic;#11[0-1][1]basic"
      },
      {
        "FieldName": "Toppings",
        "MaxCaracters": "",
        "DomainValues": "[0-10]#8[0-3][0]medium;#9[0-3][0]medium;#10[0-3][0]medium;#11[0-3][0]medium;#36[0-3][0]medium;#37[0-3][0]medium;#38[0-3][0]medium"
      }
    ]
  }
}