{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Bin Locations",
"description": "Bin locations are the smallest storage units within a warehouse. They help optimize operations with effective tracking and labeling, make items easier to locate, and support multiple storage levels for precise inventory tracking.",
"definitions": {
"storage_zone_id": {
"description": "Unique ID generated by the server for the zone.",
"type": "string",
"example": "130426000000798001"
},
"zone_name": {
"description": "Name of the zone.",
"type": "string",
"example": "Zone A"
},
"storage_id": {
"description": "Unique ID generated by the server for the bin location.",
"type": "string",
"example": "130426000000801001"
},
"storage_location_name": {
"description": "Name of the bin location.",
"type": "string",
"maxLength": 50,
"example": "A-R1-B01"
},
"storage_location_description": {
"description": "Description of the bin location.",
"type": "string",
"maxLength": 1000,
"example": "Row 1, Bin 01 in Zone A"
},
"warehouse_id": {
"description": "Unique identifier of the warehouse.",
"type": "string",
"example": "130426000000664020"
},
"location_id": {
"description": "Unique identifier of the location.",
"type": "string",
"example": "130426000000054001"
},
"storage_zone_status": {
"description": "Status of the zone. Allowed Values: active, inactive",
"type": "string",
"example": "active"
},
"storage_location_status": {
"description": "Status of the bin location. Allowed Values: active, inactive",
"type": "string",
"example": "active"
},
"location_structure": {
"description": "Defines a single level in the zone hierarchy used to generate bin locations.",
"type": "object",
"properties": {
"location_structure_id": {
"description": "Unique ID of the location structure level.",
"type": "string",
"example": "130426000000798011"
},
"location_name": {
"description": "Name of this hierarchy level (e.g. Row, Rack, Bin).",
"type": "string",
"maxLength": 50,
"example": "Row"
},
"delimiter": {
"description": "Single character used to separate levels in the bin location name.",
"type": "string",
"maxLength": 1,
"example": "-"
},
"alias_name": {
"description": "Abbreviation used as prefix in the auto-generated location name for this level.",
"type": "string",
"maxLength": 50,
"example": "R"
},
"level": {
"description": "Position of this level in the hierarchy (1 to 10).",
"type": "integer",
"minimum": 1,
"maximum": 10,
"example": 1
},
"count": {
"description": "Number of units at this level (1 to 200000).",
"type": "integer",
"minimum": 1,
"maximum": 200000,
"example": 10
}
}
},
"storage_zone": {
"description": "Details of a zone that contains multiple bin locations.",
"type": "object",
"properties": {
"storage_zone_id": {
"$ref": "#/components/schemas/storage_zone_id"
},
"zone_name": {
"$ref": "#/components/schemas/zone_name"
},
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"status": {
"$ref": "#/components/schemas/storage_zone_status"
},
"location_structures": {
"description": "Ordered list of hierarchy levels that define how bin locations are generated in this zone.",
"type": "array",
"items": {
"$ref": "#/components/schemas/location_structure"
}
}
}
},
"storage_location": {
"description": "Details of a bin location.",
"type": "object",
"properties": {
"storage_id": {
"$ref": "#/components/schemas/storage_id"
},
"name": {
"$ref": "#/components/schemas/storage_location_name"
},
"description": {
"$ref": "#/components/schemas/storage_location_description"
},
"status": {
"$ref": "#/components/schemas/storage_location_status"
},
"zone_id": {
"$ref": "#/components/schemas/storage_zone_id"
},
"zone_name": {
"$ref": "#/components/schemas/zone_name"
},
"storage_zone_id": {
"$ref": "#/components/schemas/storage_zone_id"
},
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"balance_quantity": {
"description": "Current available quantity in the bin.",
"type": "number",
"format": "double",
"example": 120.5
},
"batches": {
"description": "Batch details available in this bin (returned when show_batches=true).",
"type": "array",
"items": {
"$ref": "#/components/schemas/bin_batch"
}
}
}
},
"bin_batch": {
"type": "object",
"properties": {
"batch_id": {
"description": "Unique identifier of the batch.",
"type": "string",
"example": "130426000000812001"
},
"batch_number": {
"description": "Display number of the batch.",
"type": "string",
"example": "BATCH-001"
}
}
},
"enable-storage-locations-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "The bin locations have been enabled.",
"readOnly": true
}
}
},
"disable-storage-locations-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "The bin locations have been disabled.",
"readOnly": true
}
}
},
"create-a-storage-zone-request": {
"required": [
"zone_name"
],
"type": "object",
"properties": {
"zone_name": {
"$ref": "#/components/schemas/zone_name"
},
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"location_structures": {
"description": "Ordered list of hierarchy levels that define the naming pattern for bin locations in this zone. Maximum 50 levels.",
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"required": [
"location_name",
"alias_name",
"level",
"count"
],
"properties": {
"location_name": {
"description": "Name of this hierarchy level (e.g. Row, Rack, Bin).",
"type": "string",
"maxLength": 50,
"example": "Row"
},
"delimiter": {
"description": "Single character used to separate levels in the bin location name.",
"type": "string",
"maxLength": 1,
"example": "-"
},
"alias_name": {
"description": "Abbreviation used as prefix in the auto-generated location name for this level.",
"type": "string",
"maxLength": 50,
"example": "R"
},
"level": {
"description": "Position of this level in the hierarchy (1 to 10).",
"type": "integer",
"minimum": 1,
"maximum": 10,
"example": 1
},
"count": {
"description": "Number of units at this level (1 to 200000).",
"type": "integer",
"minimum": 1,
"maximum": 200000,
"example": 10
}
}
}
}
}
},
"create-a-storage-zone-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin location has been Created.",
"readOnly": true
},
"storage_zone": {
"$ref": "#/components/schemas/storage_zone"
}
}
},
"list-all-storage-zones-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "success",
"readOnly": true
},
"storage_zones": {
"type": "array",
"items": {
"$ref": "#/components/schemas/storage_zone"
}
}
}
},
"get-a-storage-zone-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "success",
"readOnly": true
},
"storage_zone": {
"$ref": "#/components/schemas/storage_zone"
}
}
},
"update-a-storage-zone-request": {
"required": [
"zone_name"
],
"type": "object",
"properties": {
"zone_name": {
"$ref": "#/components/schemas/zone_name"
},
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"location_structures": {
"description": "Ordered list of hierarchy levels that define the naming pattern for bin locations in this zone. Maximum 50 levels.",
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "object",
"required": [
"location_name",
"alias_name",
"level",
"count"
],
"properties": {
"location_structure_id": {
"description": "Unique ID of the location structure level. Required when updating an existing level.",
"type": "string",
"example": "130426000000798011"
},
"location_name": {
"description": "Name of this hierarchy level (e.g. Row, Rack, Bin).",
"type": "string",
"maxLength": 50,
"example": "Row"
},
"delimiter": {
"description": "Single character used to separate levels in the bin location name.",
"type": "string",
"maxLength": 1,
"example": "-"
},
"alias_name": {
"description": "Abbreviation used as prefix in the auto-generated location name for this level.",
"type": "string",
"maxLength": 50,
"example": "R"
},
"level": {
"description": "Position of this level in the hierarchy (1 to 10).",
"type": "integer",
"minimum": 1,
"maximum": 10,
"example": 1
},
"count": {
"description": "Number of units at this level (1 to 200000).",
"type": "integer",
"minimum": 1,
"maximum": 200000,
"example": 10
}
}
}
}
}
},
"update-a-storage-zone-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin location has been Updated.",
"readOnly": true
},
"storage_zone": {
"$ref": "#/components/schemas/storage_zone"
}
}
},
"delete-a-storage-zone-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin Location Structure deleted successfully.",
"readOnly": true
}
}
},
"mark-storage-zones-as-active-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Storage Zones updated successfully.",
"readOnly": true
}
}
},
"mark-storage-zones-as-inactive-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Storage Zones updated successfully.",
"readOnly": true
}
}
},
"create-a-storage-location-request": {
"required": [
"storage_zone_id",
"name"
],
"type": "object",
"properties": {
"storage_zone_id": {
"$ref": "#/components/schemas/storage_zone_id"
},
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"name": {
"$ref": "#/components/schemas/storage_location_name"
},
"description": {
"$ref": "#/components/schemas/storage_location_description"
}
}
},
"create-a-storage-location-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin location has been Created.",
"readOnly": true
},
"storage_location": {
"$ref": "#/components/schemas/storage_location"
}
}
},
"list-all-storage-locations-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "success",
"readOnly": true
},
"storage_locations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/storage_location"
}
},
"page_context": {
"type": "object",
"properties": {
"page": {
"type": "integer",
"example": 1
},
"per_page": {
"type": "integer",
"example": 200
},
"has_more_page": {
"type": "boolean",
"example": false
},
"report_name": {
"type": "string",
"example": "StorageListQuery"
}
}
}
}
},
"get-a-storage-location-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "success",
"readOnly": true
},
"storage_location": {
"$ref": "#/components/schemas/storage_location"
}
}
},
"update-a-storage-location-request": {
"required": [
"storage_zone_id",
"name"
],
"type": "object",
"properties": {
"storage_zone_id": {
"$ref": "#/components/schemas/storage_zone_id"
},
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"name": {
"$ref": "#/components/schemas/storage_location_name"
},
"description": {
"$ref": "#/components/schemas/storage_location_description"
}
}
},
"update-a-storage-location-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin location updated.",
"readOnly": true
},
"storage_location": {
"$ref": "#/components/schemas/storage_location"
}
}
},
"delete-a-storage-location-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin Location Structure deleted successfully.",
"readOnly": true
}
}
},
"bulk-delete-storage-locations-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin locations deleted.",
"readOnly": true
}
}
},
"mark-storage-locations-as-active-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin locations updated.",
"readOnly": true
}
}
},
"mark-storage-locations-as-inactive-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin locations updated.",
"readOnly": true
}
}
},
"storage_location_product_mapping": {
"description": "A mapping between a product and a bin location.",
"type": "object",
"properties": {
"product_id": {
"description": "Unique identifier of the product (item).",
"type": "string",
"example": "130426000000056001"
},
"storage_id": {
"$ref": "#/components/schemas/storage_id"
},
"location_id": {
"$ref": "#/components/schemas/location_id"
}
}
},
"map-storage-locations-to-item-request": {
"type": "object",
"properties": {
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"storage_locations_product_mapping": {
"description": "List of bin location mappings for the item. Maximum 10000 entries.",
"type": "array",
"maxItems": 10000,
"items": {
"type": "object",
"required": [
"product_id",
"storage_id"
],
"properties": {
"product_id": {
"description": "Unique identifier of the product (item).",
"type": "string",
"example": "130426000000056001"
},
"storage_id": {
"$ref": "#/components/schemas/storage_id"
}
}
}
}
}
},
"get-item-storage-location-mappings-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "success",
"readOnly": true
},
"storage_locations_product_mapping": {
"type": "array",
"items": {
"$ref": "#/components/schemas/storage_location_product_mapping"
}
}
}
},
"update-item-storage-location-mappings-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Bin location mapped with item.",
"readOnly": true
}
}
},
"default_storage_location_mapping": {
"description": "Default bin location assignment for a product per location.",
"type": "object",
"properties": {
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"storage_id": {
"$ref": "#/components/schemas/storage_id"
}
}
},
"get-item-default-storage-location-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "success",
"readOnly": true
},
"default_storage_location_mapping": {
"type": "array",
"items": {
"$ref": "#/components/schemas/default_storage_location_mapping"
}
}
}
},
"configure-item-default-storage-location-request": {
"type": "object",
"properties": {
"default_storage_location_mapping": {
"description": "List of default bin location assignments per location for the item.",
"type": "array",
"items": {
"type": "object",
"required": [
"storage_id"
],
"properties": {
"location_id": {
"$ref": "#/components/schemas/location_id"
},
"storage_id": {
"$ref": "#/components/schemas/storage_id"
}
}
}
}
}
},
"configure-item-default-storage-location-response": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"example": 0,
"readOnly": true
},
"message": {
"type": "string",
"example": "Default Preferred Bin Location Mapping configured for the item.",
"readOnly": true
}
}
}
}
}