{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bol-com/json-schema/bol-com-update-offer-request-schema.json",
  "title": "UpdateOfferRequest",
  "x-generated": "2026-10-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bol-com-openapi.json#/components/schemas/UpdateOfferRequest",
  "required": [
    "fulfilment"
  ],
  "type": "object",
  "properties": {
    "economicOperatorId": {
      "type": [
        "string",
        "null"
      ],
      "description": "An identifier referring to the Economic operator entity (manufacturer, authorized party, importer, distributor or other natural person or legal entity for whom the obligations apply with regards to the manufacturing, or making available on the market of the product in line with the applicable EU laws)."
    },
    "reference": {
      "maxLength": 100,
      "minLength": 0,
      "type": [
        "string",
        "null"
      ],
      "description": "A user-defined reference that helps you identify this particular offer when receiving data from us. This element can optionally be left empty and has a maximum amount of 100 characters."
    },
    "onHoldByRetailer": {
      "type": "boolean",
      "description": "This field specifies whether the retailer has temporarily suspended the listing of this offer on the bol.com website. When set to true, the offer becomes invisible to customers and is not available for purchase. The default setting, false, indicates that the offer is active and visible on the website. This feature is useful for managing inventory or making updates to the offer without permanently removing it from the site.",
      "default": false
    },
    "unknownProductTitle": {
      "maxLength": 500,
      "minLength": 0,
      "type": [
        "string",
        "null"
      ],
      "description": "In case the item is not known to bol.com you can use this field to identify this particular product. Note: in case the product is known to bol.com, the unknown product title will not be stored."
    },
    "fulfilment": {
      "nullable": true,
      "allOf": [
        {
          "$ref": "#/$defs/Fulfilment"
        }
      ]
    }
  },
  "$defs": {
    "Fulfilment": {
      "required": [
        "method"
      ],
      "type": "object",
      "properties": {
        "method": {
          "minLength": 1,
          "type": [
            "string",
            "null"
          ],
          "description": "The fulfilment method. Fulfilled by the retailer (FBR) or fulfilled by bol.com (FBB).",
          "enum": [
            "FBR",
            "FBB"
          ]
        },
        "deliveryCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "The delivery promise that applies to this offer. This value will only be used in combination with fulfilmentMethod 'FBR'.",
          "enum": [
            "24uurs-23",
            "24uurs-22",
            "24uurs-21",
            "24uurs-20",
            "24uurs-19",
            "24uurs-18",
            "24uurs-17",
            "24uurs-16",
            "24uurs-15",
            "24uurs-14",
            "24uurs-13",
            "24uurs-12",
            "1-2d",
            "2-3d",
            "3-5d",
            "4-8d",
            "1-8d",
            "MijnLeverbelofte",
            "VVB"
          ]
        },
        "profileId": {
          "type": [
            "string",
            "null"
          ],
          "description": "Profile ID reference used for custom fulfillment options."
        }
      }
    }
  }
}