# Models

## The AvailabilityDto object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"AvailabilityDto":{"type":"object","properties":{"stockLevel":{"type":"number","description":"Stock level of the product, expressed as a number."},"available":{"type":"boolean","description":"Flag indicating whether the product is available."},"popularity":{"type":"integer","description":"Popularity of the product, expressed as a number."},"distributionChannel":{"$ref":"#/components/schemas/DistributionChannel"},"mixins":{"type":"object","description":"The field contains mixins values.","additionalProperties":true},"metadata":{"type":"object","properties":{"mixins":{"type":"object","description":"Links to the mixin schemas.","additionalProperties":{"type":"string"}}}}}},"DistributionChannel":{"type":"string","description":"Name of the product distribution channel.","enum":["ASSORTMENT","HOME_DELIVERY","PICKUP"]}}}}
```

## The AvailabilityBulkDto object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"AvailabilityBulkDto":{"type":"object","properties":{"productId":{"type":"string","description":"Unique identifier of the product."},"site":{"type":"string","description":"Unique identifier of the site."},"stockLevel":{"type":"number","description":"Stock level of the product, expressed as a number."},"available":{"type":"boolean","description":"Flag indicating whether the product is available."},"popularity":{"type":"integer","description":"Popularity of the product, expressed as a number."},"distributionChannel":{"$ref":"#/components/schemas/DistributionChannel"},"mixins":{"type":"object","description":"The field contains mixins values.","additionalProperties":true},"metadata":{"type":"object","properties":{"mixins":{"type":"object","description":"Links to the mixin schemas.","additionalProperties":{"type":"string"}}}}}},"DistributionChannel":{"type":"string","description":"Name of the product distribution channel.","enum":["ASSORTMENT","HOME_DELIVERY","PICKUP"]}}}}
```

## The AvailabilityDeleteBulkDto object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"AvailabilityDeleteBulkDto":{"type":"object","properties":{"productId":{"type":"string","description":"Unique identifier of the product."},"site":{"type":"string","description":"Unique identifier of the site."}}}}}}
```

## The Availability object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"Availability":{"description":"Availability details.","type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the availability.\n\n**Note**: The value should be provided in the `site`:`productId` format."},"site":{"type":"string","description":"Site code, defined when the site is created. The value should match the `site` query/path parameter value."},"stockLevel":{"type":"number","description":"Stock level of the product, expressed as a number."},"available":{"type":"boolean","description":"Flag indicating whether the product is available."},"productId":{"type":"string","description":"Unique identifier of the product, generated when the product is created through the Product Service."},"vendorId":{"type":"string","description":"Id of a vendor to which the availability belongs."},"popularity":{"type":"integer","description":"Popularity of the product, expressed as a number."},"distributionChannel":{"$ref":"#/components/schemas/DistributionChannel"},"mixins":{"type":"object","description":"The field contains mixins values.","additionalProperties":true},"metadata":{"type":"object","properties":{"mixins":{"type":"object","description":"Links to the mixin schemas.","additionalProperties":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"Date and time when the availability was created."},"modifiedAt":{"type":"string","format":"date-time","description":"Date and time when the availability was last updated."}}}}},"DistributionChannel":{"type":"string","description":"Name of the product distribution channel.","enum":["ASSORTMENT","HOME_DELIVERY","PICKUP"]}}}}
```

## The AvailabilityWithBundle object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"AvailabilityWithBundle":{"description":"Availability details.","type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the availability.\n\n**Note**: The value should be provided in the `site`:`productId` format."},"site":{"type":"string","description":"Site code, defined when the site is created. The value should match the `site` query/path parameter value."},"stockLevel":{"type":"number","description":"Stock level of the product, expressed as a number."},"available":{"type":"boolean","description":"Flag indicating whether the product is available."},"productId":{"type":"string","description":"Unique identifier of the product, generated when the product is created through the Product Service."},"vendorId":{"type":"string","description":"Id of a vendor to which the availability belongs."},"popularity":{"type":"integer","description":"Popularity of the product, expressed as a number."},"distributionChannel":{"$ref":"#/components/schemas/DistributionChannel"},"bundleAvailabilities":{"$ref":"#/components/schemas/AvailabilityList"},"mixins":{"type":"object","description":"The field contains mixins values.","additionalProperties":true},"metadata":{"type":"object","properties":{"mixins":{"type":"object","description":"Links to the mixin schemas.","additionalProperties":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"Date and time when the availability was created."},"modifiedAt":{"type":"string","format":"date-time","description":"Date and time when the availability was last updated."}}}}},"DistributionChannel":{"type":"string","description":"Name of the product distribution channel.","enum":["ASSORTMENT","HOME_DELIVERY","PICKUP"]},"AvailabilityList":{"type":"array","items":{"$ref":"#/components/schemas/Availability"}},"Availability":{"description":"Availability details.","type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the availability.\n\n**Note**: The value should be provided in the `site`:`productId` format."},"site":{"type":"string","description":"Site code, defined when the site is created. The value should match the `site` query/path parameter value."},"stockLevel":{"type":"number","description":"Stock level of the product, expressed as a number."},"available":{"type":"boolean","description":"Flag indicating whether the product is available."},"productId":{"type":"string","description":"Unique identifier of the product, generated when the product is created through the Product Service."},"vendorId":{"type":"string","description":"Id of a vendor to which the availability belongs."},"popularity":{"type":"integer","description":"Popularity of the product, expressed as a number."},"distributionChannel":{"$ref":"#/components/schemas/DistributionChannel"},"mixins":{"type":"object","description":"The field contains mixins values.","additionalProperties":true},"metadata":{"type":"object","properties":{"mixins":{"type":"object","description":"Links to the mixin schemas.","additionalProperties":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"Date and time when the availability was created."},"modifiedAt":{"type":"string","format":"date-time","description":"Date and time when the availability was last updated."}}}}}}}}
```

## The AvailabilityList object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"AvailabilityList":{"type":"array","items":{"$ref":"#/components/schemas/Availability"}},"Availability":{"description":"Availability details.","type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the availability.\n\n**Note**: The value should be provided in the `site`:`productId` format."},"site":{"type":"string","description":"Site code, defined when the site is created. The value should match the `site` query/path parameter value."},"stockLevel":{"type":"number","description":"Stock level of the product, expressed as a number."},"available":{"type":"boolean","description":"Flag indicating whether the product is available."},"productId":{"type":"string","description":"Unique identifier of the product, generated when the product is created through the Product Service."},"vendorId":{"type":"string","description":"Id of a vendor to which the availability belongs."},"popularity":{"type":"integer","description":"Popularity of the product, expressed as a number."},"distributionChannel":{"$ref":"#/components/schemas/DistributionChannel"},"mixins":{"type":"object","description":"The field contains mixins values.","additionalProperties":true},"metadata":{"type":"object","properties":{"mixins":{"type":"object","description":"Links to the mixin schemas.","additionalProperties":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"Date and time when the availability was created."},"modifiedAt":{"type":"string","format":"date-time","description":"Date and time when the availability was last updated."}}}}},"DistributionChannel":{"type":"string","description":"Name of the product distribution channel.","enum":["ASSORTMENT","HOME_DELIVERY","PICKUP"]}}}}
```

## The AvailabilityWithBundleList object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"AvailabilityWithBundleList":{"type":"array","items":{"$ref":"#/components/schemas/AvailabilityWithBundle"}},"AvailabilityWithBundle":{"description":"Availability details.","type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the availability.\n\n**Note**: The value should be provided in the `site`:`productId` format."},"site":{"type":"string","description":"Site code, defined when the site is created. The value should match the `site` query/path parameter value."},"stockLevel":{"type":"number","description":"Stock level of the product, expressed as a number."},"available":{"type":"boolean","description":"Flag indicating whether the product is available."},"productId":{"type":"string","description":"Unique identifier of the product, generated when the product is created through the Product Service."},"vendorId":{"type":"string","description":"Id of a vendor to which the availability belongs."},"popularity":{"type":"integer","description":"Popularity of the product, expressed as a number."},"distributionChannel":{"$ref":"#/components/schemas/DistributionChannel"},"bundleAvailabilities":{"$ref":"#/components/schemas/AvailabilityList"},"mixins":{"type":"object","description":"The field contains mixins values.","additionalProperties":true},"metadata":{"type":"object","properties":{"mixins":{"type":"object","description":"Links to the mixin schemas.","additionalProperties":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"Date and time when the availability was created."},"modifiedAt":{"type":"string","format":"date-time","description":"Date and time when the availability was last updated."}}}}},"DistributionChannel":{"type":"string","description":"Name of the product distribution channel.","enum":["ASSORTMENT","HOME_DELIVERY","PICKUP"]},"AvailabilityList":{"type":"array","items":{"$ref":"#/components/schemas/Availability"}},"Availability":{"description":"Availability details.","type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the availability.\n\n**Note**: The value should be provided in the `site`:`productId` format."},"site":{"type":"string","description":"Site code, defined when the site is created. The value should match the `site` query/path parameter value."},"stockLevel":{"type":"number","description":"Stock level of the product, expressed as a number."},"available":{"type":"boolean","description":"Flag indicating whether the product is available."},"productId":{"type":"string","description":"Unique identifier of the product, generated when the product is created through the Product Service."},"vendorId":{"type":"string","description":"Id of a vendor to which the availability belongs."},"popularity":{"type":"integer","description":"Popularity of the product, expressed as a number."},"distributionChannel":{"$ref":"#/components/schemas/DistributionChannel"},"mixins":{"type":"object","description":"The field contains mixins values.","additionalProperties":true},"metadata":{"type":"object","properties":{"mixins":{"type":"object","description":"Links to the mixin schemas.","additionalProperties":{"type":"string"}},"createdAt":{"type":"string","format":"date-time","description":"Date and time when the availability was created."},"modifiedAt":{"type":"string","format":"date-time","description":"Date and time when the availability was last updated."}}}}}}}}
```

## The BulkResponse object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"BulkResponse":{"type":"object","properties":{"id":{"type":"string","description":"ID of the affected availability (in the format <site>:&lt;<productId>)."},"index":{"type":"integer","description":"Index of the processed item, matching the item position in request body."},"code":{"type":"integer","description":"HTTP Status Code."},"status":{"type":"string","description":"HTTP Status description."},"message":{"type":"string","description":"Error message. Present only when an error occurs (HTTP status code from groups `4xx` or `5xx`)"}}}}}}
```

## The DistributionChannel object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"DistributionChannel":{"type":"string","description":"Name of the product distribution channel.","enum":["ASSORTMENT","HOME_DELIVERY","PICKUP"]}}}}
```

## The Location object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"Location":{"description":"Physical location of the product.","type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the location. \n\n**Note**: The value should be provided in the `site`:`rack` format."},"site":{"type":"string","description":"Site code, defined when the site is created. The value should match the `site` query/path parameter value."},"rack":{"type":"string","description":"Rack number."},"rackName":{"type":"string","description":"Name of the rack."},"order":{"type":"number","description":"Order of the location, expressed as a number.","minimum":0}},"required":["id","site","order"]}}}}
```

## The LocationList object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"LocationList":{"type":"array","items":{"$ref":"#/components/schemas/Location"}},"Location":{"description":"Physical location of the product.","type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the location. \n\n**Note**: The value should be provided in the `site`:`rack` format."},"site":{"type":"string","description":"Site code, defined when the site is created. The value should match the `site` query/path parameter value."},"rack":{"type":"string","description":"Rack number."},"rackName":{"type":"string","description":"Name of the rack."},"order":{"type":"number","description":"Order of the location, expressed as a number.","minimum":0}},"required":["id","site","order"]}}}}
```

## The LocationOrder object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"LocationOrder":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the location."},"order":{"type":"number","description":"Order of the location, expressed as a number."}}}}}}
```

## The LocationOrderList object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"LocationOrderList":{"type":"array","items":{"$ref":"#/components/schemas/LocationOrder"}},"LocationOrder":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the location."},"order":{"type":"number","description":"Order of the location, expressed as a number."}}}}}}
```

## The LocationSearch object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"LocationSearch":{"type":"object","properties":{"site":{"type":"string","description":"Site code, defined when the site is created."},"productIds":{"type":"array","description":"List of product IDs. A product IDs is generated when the product is created through the Product Service.","items":{"type":"string"}}}}}}}
```

## The GenericLocation object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"GenericLocation":{"type":"object","properties":{"site":{"type":"string","description":"Site code, defined when the site is created."},"zone":{"type":"string","description":"Unique identifier of the zone."},"rack":{"type":"string","description":"Rack number."},"rackName":{"type":"string","description":"Name of the rack."},"shelf":{"type":"string","description":"Unique identifier of the shelf."},"section":{"type":"string","description":"Unique identifier of the section."},"bin":{"type":"string","description":"Unique identifier of the bin."},"order":{"type":"number","description":"Order of the location, expressed as a number."}}}}}}
```

## The ProductLocation object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"ProductLocation":{"type":"object","properties":{"productId":{"type":"string","description":"Unique identifier of the product, generated when the product is created through the Product Service."},"locations":{"type":"array","description":"List of product physical locations.","items":{"$ref":"#/components/schemas/GenericLocation"}}}},"GenericLocation":{"type":"object","properties":{"site":{"type":"string","description":"Site code, defined when the site is created."},"zone":{"type":"string","description":"Unique identifier of the zone."},"rack":{"type":"string","description":"Rack number."},"rackName":{"type":"string","description":"Name of the rack."},"shelf":{"type":"string","description":"Unique identifier of the shelf."},"section":{"type":"string","description":"Unique identifier of the section."},"bin":{"type":"string","description":"Unique identifier of the bin."},"order":{"type":"number","description":"Order of the location, expressed as a number."}}}}}}
```

## The ProductLocationList object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"ProductLocationList":{"type":"array","items":{"$ref":"#/components/schemas/ProductLocation"},"description":""},"ProductLocation":{"type":"object","properties":{"productId":{"type":"string","description":"Unique identifier of the product, generated when the product is created through the Product Service."},"locations":{"type":"array","description":"List of product physical locations.","items":{"$ref":"#/components/schemas/GenericLocation"}}}},"GenericLocation":{"type":"object","properties":{"site":{"type":"string","description":"Site code, defined when the site is created."},"zone":{"type":"string","description":"Unique identifier of the zone."},"rack":{"type":"string","description":"Rack number."},"rackName":{"type":"string","description":"Name of the rack."},"shelf":{"type":"string","description":"Unique identifier of the shelf."},"section":{"type":"string","description":"Unique identifier of the section."},"bin":{"type":"string","description":"Unique identifier of the bin."},"order":{"type":"number","description":"Order of the location, expressed as a number."}}}}}}
```

## The IdResponse object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"IdResponse":{"type":"object","properties":{"id":{"type":"string","description":"ID of the created resource."}}}}}}
```

## The SuccessResponse object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"SuccessResponse":{"type":"object","properties":{"message":{"type":"string","description":"The response message of the operation."},"code":{"type":"number","description":"The result code of the operation."}}}}}}
```

## The BadRequest400 object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"BadRequest400":{"properties":{"code":{"type":"integer","description":"HTTP Status Code."},"status":{"type":"string","description":"HTTP Status Description."},"message":{"type":"string","description":"Error message."},"_embedded":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"description":"Detailed message of the exception.","type":"string"}}}}}}}}}}}
```

## The Unauthorized401 object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"Unauthorized401":{"properties":{"fault":{"type":"object","properties":{"faultstring":{"type":"string"},"detail":{"type":"object","properties":{"errorcode":{"type":"string"}}}}}}}}}}
```

## The Forbidden403 object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"Forbidden403":{"properties":{"code":{"type":"integer","description":"HTTP Status Code."},"status":{"type":"string","description":"HTTP Status Description."},"message":{"type":"string","description":"Error message."}}}}}}
```

## The NotFound404 object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"NotFound404":{"properties":{"code":{"type":"integer","description":"HTTP Status Code."},"message":{"type":"string","description":"Detailed error message."}}}}}}
```

## The Conflict409 object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"Conflict409":{"properties":{"code":{"type":"integer","description":"HTTP Status Code."},"message":{"type":"string","description":"Detailed error message."}}}}}}
```

## The UnexpectedError object

```json
{"openapi":"3.0.0","info":{"title":"Availability Service","version":"0.0.1"},"components":{"schemas":{"UnexpectedError":{"properties":{"code":{"type":"integer","description":"HTTP Status Code."},"status":{"type":"string","description":"HTTP Status."},"message":{"type":"string","description":"Detailed error message"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.emporix.io/api-references-1/readme/api-reference-2/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
