{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/kibo-commerce/main/json-schema/kibo-commerce-fulfillment-settings-schema.json",
  "title": "FulfillmentSettings",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/kibo-commerce-settings-openapi.yml#/components/schemas/FulfillmentSettings",
  "properties": {
    "actionOnBOPISReject": {
      "type": [
        "string",
        "null"
      ]
    },
    "auditInfo": {
      "$ref": "#/$defs/AuditInfo"
    },
    "bpmConfiguration": {
      "$ref": "#/$defs/BPMConfiguration"
    },
    "configurableShipmentRelease": {
      "$ref": "#/$defs/ConfigurableShipmentRelease"
    },
    "createShipmentsOnPendingReview": {
      "$ref": "#/$defs/CreateShipmentsOnPendingReview"
    },
    "defaultBackOrderDays": {
      "format": "int32",
      "type": [
        "integer",
        "null"
      ]
    },
    "deliveryConsolidation": {
      "$ref": "#/$defs/DeliveryConsolidation"
    },
    "fulfillerSettings": {
      "$ref": "#/$defs/FulfillerSettings"
    },
    "fulfillmentJobSettings": {
      "$ref": "#/$defs/FulfillmentJobSettings"
    },
    "futureDateLimit": {
      "$ref": "#/$defs/FutureDateLimit"
    },
    "futureInventoryEnabled": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "paymentVoidAndReauth": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "retainFlatRatePerOrder": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "shipToHomeConsolidation": {
      "$ref": "#/$defs/ShipToHomeConsolidation"
    },
    "shipToStore": {
      "$ref": "#/$defs/ShipToStore"
    },
    "shipmentsOnHold": {
      "$ref": "#/$defs/ShipmentsOnHold"
    },
    "substitution": {
      "$ref": "#/$defs/Substitution"
    }
  },
  "type": "object",
  "$defs": {
    "AuditInfo": {
      "properties": {
        "createBy": {
          "type": [
            "string",
            "null"
          ]
        },
        "createDate": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        },
        "updateBy": {
          "type": [
            "string",
            "null"
          ]
        },
        "updateDate": {
          "format": "date-time",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "AutoRelease": {
      "properties": {
        "enabled": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "jobInterval": {
          "$ref": "#/$defs/JobInterval"
        }
      },
      "type": "object"
    },
    "B2BOrderRelease": {
      "properties": {
        "automaticReleaseOffset": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "isEnabled": {
          "type": "boolean"
        },
        "releaseType": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "BPMConfiguration": {
      "properties": {
        "containerId": {
          "type": [
            "string",
            "null"
          ]
        },
        "processId": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Cancellation": {
      "properties": {
        "onParentShipment": {
          "type": "boolean"
        },
        "restrictedSteps": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ConfigurableShipmentRelease": {
      "properties": {
        "b2BOrderRelease": {
          "$ref": "#/$defs/B2BOrderRelease"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "refreshPricingOnOrderEdit": {
          "description": "Indicates whether pricing should be refreshed when orders are edited.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "reserveInventoryOnOrderPendingShipment": {
          "type": "boolean"
        },
        "shipmentCreationOffset": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "CreateShipmentsOnPendingReview": {
      "properties": {
        "isEnabled": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "DeliveryConsolidation": {
      "properties": {
        "allowPartialFulfillment": {
          "description": "AllowPartialFulfillment",
          "type": "boolean"
        },
        "cancellationOnParentShipment": {
          "type": "boolean"
        },
        "forceDeliveryConsolidation": {
          "type": "boolean"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "multipleConsolidation": {
          "description": "MultipleConsolidation",
          "type": "boolean"
        },
        "restrictedCancellationSteps": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "shippingMethodDeliveryConsolidation": {
          "$ref": "#/$defs/ShippingMethod"
        }
      },
      "type": "object"
    },
    "ForceSTHConsolidationOnSplitShipments": {
      "properties": {
        "isEnabled": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "FulfillerSettings": {
      "properties": {
        "editShipment": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "FulfillmentJob": {
      "properties": {
        "interval": {
          "format": "int32",
          "type": "integer"
        },
        "isEnabled": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "FulfillmentJobSettings": {
      "properties": {
        "pickupReminderJob": {
          "$ref": "#/$defs/PickupReminderJob"
        },
        "releaseBackorderJob": {
          "$ref": "#/$defs/ReleaseBackorderJob"
        }
      },
      "type": "object"
    },
    "FutureDateLimit": {
      "properties": {
        "futureDateLimitQuantity": {
          "format": "int32",
          "type": "integer"
        },
        "futureDateLimitUnit": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "JobInterval": {
      "properties": {
        "unit": {
          "type": [
            "string",
            "null"
          ]
        },
        "value": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "MultipleConsolidation": {
      "properties": {
        "isEnabled": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "PickupReminderJob": {
      "allOf": [
        {
          "$ref": "#/$defs/FulfillmentJob"
        },
        {
          "additionalProperties": false,
          "type": "object"
        }
      ]
    },
    "ReleaseBackorderJob": {
      "properties": {
        "interval": {
          "format": "int32",
          "type": "integer"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "partialReleaseEnabled": {
          "type": "boolean"
        },
        "partialReleaseType": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ShipToHomeConsolidation": {
      "properties": {
        "allowPartialFulfillment": {
          "description": "AllowPartialFulfillment",
          "type": "boolean"
        },
        "cancellationSTHC": {
          "$ref": "#/$defs/Cancellation"
        },
        "forceSTHConsolidationOnSplitShipments": {
          "$ref": "#/$defs/ForceSTHConsolidationOnSplitShipments"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "multipleConsolidation": {
          "$ref": "#/$defs/MultipleConsolidation"
        },
        "shippingMethodSTHC": {
          "$ref": "#/$defs/ShippingMethod"
        }
      },
      "type": "object"
    },
    "ShipToStore": {
      "properties": {
        "alwaysCreateTransferShipments": {
          "type": "boolean"
        },
        "cancellation": {
          "$ref": "#/$defs/Cancellation"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "shippingMethod": {
          "$ref": "#/$defs/ShippingMethod"
        }
      },
      "type": "object"
    },
    "ShipmentsOnHold": {
      "properties": {
        "autoRelease": {
          "$ref": "#/$defs/AutoRelease"
        },
        "enabled": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "manualRelease": {
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "ShippingMethod": {
      "properties": {
        "code": {
          "type": [
            "string",
            "null"
          ]
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": "object"
    },
    "Substitution": {
      "properties": {
        "repriceOnSubstitution": {
          "type": "boolean"
        }
      },
      "type": "object"
    }
  }
}