{ "$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 } } } } }