# Models

## The ErrorMessage object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"ErrorMessage":{"title":"Error Message","description":"Schema for API-specific errors.","type":"object","properties":{"status":{"description":"Original HTTP error code. It should be consistent with the HTTP response code.","type":"integer"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the error type.\n\n**Note:** The error type should be written in lowercase and include underscores, for example `validation_failure`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."},"details":{"description":"List of problems causing the error.","type":"array","items":{"title":"errorDetail","description":"Specific error cause.","type":"object","properties":{"field":{"description":"Element in request data which is causing the error, for example `category.name`.\n\nIf the violation was not field-specific, this field will be empty.","type":"string"},"type":{"pattern":"[a-z]+[a-z_]*[a-z]+","description":"Classification of the specific error cause. This value should always be interpreted within the context of the general error type.\n\n**Note:** The error type should be written in lowercase and include underscores, for example `missing_value`.","type":"string"},"message":{"description":"Descriptive error message for debugging purposes.","type":"string"},"moreInfo":{"type":"string","description":"More information (such as a link to the documentation) for investigating further and getting support."}}}}}}}}}
```

## The ItemFeeCreationResponse object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"ItemFeeCreationResponse":{"type":"object","properties":{"id":{"description":"unique identifier of the created resource","type":"string"},"yrn":{"description":"YRN of the created resource","type":"string"}},"required":["id"]}}}}
```

## The Localized object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"Localized":{"description":"The localized value in the form of map (language, value) or string.","oneOf":[{"type":"string","description":"string in the specified language."},{"type":"object","description":"Map of translations in form of language:translation pairs.\nThe keys (languages) should be ISO language codes.\nThe values (in specific languages) should be strings in specified language.","additionalProperties":{"type":"string"}}]}}}}
```

## The Fees object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"Fees":{"type":"array","items":{"$ref":"#/components/schemas/Fee"}},"Fee":{"type":"object","properties":{"id":{"description":"Unique identifier of the fee.","type":"string"},"name":{"description":"The localized fee name.","$ref":"#/components/schemas/Localized"},"description":{"description":"The localized fee description.","$ref":"#/components/schemas/Localized"},"code":{"maxLength":100,"description":"The code-name, unique for the tenant.","type":"string"},"feeType":{"description":"'PERCENT' for relative values, 'ABSOLUTE' for float values or 'ABSOLUTE_MULTIPLY_ITEMQUANTITY' for float values to be multiplied by the quantity of the item.","enum":["PERCENT","ABSOLUTE","ABSOLUTE_MULTIPLY_ITEMQUANTITY"],"type":"string"},"feePercentage":{"minimum":0,"description":"The fee rate in percentage. Required if feeType is 'PERCENT'.","type":"number"},"feeAbsolute":{"description":"The fee as an absolute amount. Required if type is 'ABSOLUTE'.","$ref":"#/components/schemas/monetaryAmount"},"itemType":{"description":"The itemtype the fee can belong to. It could be a product or\npaymenttype. ","enum":["PRODUCT","PAYMENTTYPE"],"type":"string"},"siteCode":{"description":"The SiteCode the fee belongs to.","type":"string"},"active":{"description":"Flag indicating whether the fee is currently active or not.","type":"boolean"},"taxable":{"description":"Flag indicating whether the fee is taxable or not.","type":"boolean"},"taxCode":{"description":"The tax code. When 'taxable' is set to true, the taxCode is mandatory","type":"string"},"activeTimespan":{"$ref":"#/components/schemas/timespan"},"yrn":{"$ref":"#/components/schemas/YRN"}},"required":["name","code","feeType","active","siteCode"]},"Localized":{"description":"The localized value in the form of map (language, value) or string.","oneOf":[{"type":"string","description":"string in the specified language."},{"type":"object","description":"Map of translations in form of language:translation pairs.\nThe keys (languages) should be ISO language codes.\nThe values (in specific languages) should be strings in specified language.","additionalProperties":{"type":"string"}}]},"monetaryAmount":{"title":"Monetary Amount","description":"Schema defining monetary amount in given currency.","type":"object","properties":{"amount":{"description":"The amount in the specified currency","type":"number"},"currency":{"pattern":"^[a-zA-Z]{3}$","description":"ISO 4217 currency code, e.g.: USD, EUR, CHF","type":"string"}},"required":["amount","currency"]},"timespan":{"description":"Restricts the active fees to be only applied in the specified\ntimespan.","title":"Timespan","type":"object","properties":{"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"}},"required":["startDate","endDate"]},"YRN":{"type":"string","title":"YRN","description":"A unique identifier of a global resource, which stores information about the resource, such as its type, ID or name of the tenant.","minLength":1}}}}
```

## The Fee object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"Fee":{"type":"object","properties":{"id":{"description":"Unique identifier of the fee.","type":"string"},"name":{"description":"The localized fee name.","$ref":"#/components/schemas/Localized"},"description":{"description":"The localized fee description.","$ref":"#/components/schemas/Localized"},"code":{"maxLength":100,"description":"The code-name, unique for the tenant.","type":"string"},"feeType":{"description":"'PERCENT' for relative values, 'ABSOLUTE' for float values or 'ABSOLUTE_MULTIPLY_ITEMQUANTITY' for float values to be multiplied by the quantity of the item.","enum":["PERCENT","ABSOLUTE","ABSOLUTE_MULTIPLY_ITEMQUANTITY"],"type":"string"},"feePercentage":{"minimum":0,"description":"The fee rate in percentage. Required if feeType is 'PERCENT'.","type":"number"},"feeAbsolute":{"description":"The fee as an absolute amount. Required if type is 'ABSOLUTE'.","$ref":"#/components/schemas/monetaryAmount"},"itemType":{"description":"The itemtype the fee can belong to. It could be a product or\npaymenttype. ","enum":["PRODUCT","PAYMENTTYPE"],"type":"string"},"siteCode":{"description":"The SiteCode the fee belongs to.","type":"string"},"active":{"description":"Flag indicating whether the fee is currently active or not.","type":"boolean"},"taxable":{"description":"Flag indicating whether the fee is taxable or not.","type":"boolean"},"taxCode":{"description":"The tax code. When 'taxable' is set to true, the taxCode is mandatory","type":"string"},"activeTimespan":{"$ref":"#/components/schemas/timespan"},"yrn":{"$ref":"#/components/schemas/YRN"}},"required":["name","code","feeType","active","siteCode"]},"Localized":{"description":"The localized value in the form of map (language, value) or string.","oneOf":[{"type":"string","description":"string in the specified language."},{"type":"object","description":"Map of translations in form of language:translation pairs.\nThe keys (languages) should be ISO language codes.\nThe values (in specific languages) should be strings in specified language.","additionalProperties":{"type":"string"}}]},"monetaryAmount":{"title":"Monetary Amount","description":"Schema defining monetary amount in given currency.","type":"object","properties":{"amount":{"description":"The amount in the specified currency","type":"number"},"currency":{"pattern":"^[a-zA-Z]{3}$","description":"ISO 4217 currency code, e.g.: USD, EUR, CHF","type":"string"}},"required":["amount","currency"]},"timespan":{"description":"Restricts the active fees to be only applied in the specified\ntimespan.","title":"Timespan","type":"object","properties":{"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"}},"required":["startDate","endDate"]},"YRN":{"type":"string","title":"YRN","description":"A unique identifier of a global resource, which stores information about the resource, such as its type, ID or name of the tenant.","minLength":1}}}}
```

## The monetaryAmount object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"monetaryAmount":{"title":"Monetary Amount","description":"Schema defining monetary amount in given currency.","type":"object","properties":{"amount":{"description":"The amount in the specified currency","type":"number"},"currency":{"pattern":"^[a-zA-Z]{3}$","description":"ISO 4217 currency code, e.g.: USD, EUR, CHF","type":"string"}},"required":["amount","currency"]}}}}
```

## The timespan object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"timespan":{"description":"Restricts the active fees to be only applied in the specified\ntimespan.","title":"Timespan","type":"object","properties":{"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"}},"required":["startDate","endDate"]}}}}
```

## The FeeWithItems object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"FeeWithItems":{"title":"FeeWithItems","type":"object","properties":{"fee":{"$ref":"#/components/schemas/Fee"},"itemYRNs":{"$ref":"#/components/schemas/ItemYRNs"}},"required":["fee"]},"Fee":{"type":"object","properties":{"id":{"description":"Unique identifier of the fee.","type":"string"},"name":{"description":"The localized fee name.","$ref":"#/components/schemas/Localized"},"description":{"description":"The localized fee description.","$ref":"#/components/schemas/Localized"},"code":{"maxLength":100,"description":"The code-name, unique for the tenant.","type":"string"},"feeType":{"description":"'PERCENT' for relative values, 'ABSOLUTE' for float values or 'ABSOLUTE_MULTIPLY_ITEMQUANTITY' for float values to be multiplied by the quantity of the item.","enum":["PERCENT","ABSOLUTE","ABSOLUTE_MULTIPLY_ITEMQUANTITY"],"type":"string"},"feePercentage":{"minimum":0,"description":"The fee rate in percentage. Required if feeType is 'PERCENT'.","type":"number"},"feeAbsolute":{"description":"The fee as an absolute amount. Required if type is 'ABSOLUTE'.","$ref":"#/components/schemas/monetaryAmount"},"itemType":{"description":"The itemtype the fee can belong to. It could be a product or\npaymenttype. ","enum":["PRODUCT","PAYMENTTYPE"],"type":"string"},"siteCode":{"description":"The SiteCode the fee belongs to.","type":"string"},"active":{"description":"Flag indicating whether the fee is currently active or not.","type":"boolean"},"taxable":{"description":"Flag indicating whether the fee is taxable or not.","type":"boolean"},"taxCode":{"description":"The tax code. When 'taxable' is set to true, the taxCode is mandatory","type":"string"},"activeTimespan":{"$ref":"#/components/schemas/timespan"},"yrn":{"$ref":"#/components/schemas/YRN"}},"required":["name","code","feeType","active","siteCode"]},"Localized":{"description":"The localized value in the form of map (language, value) or string.","oneOf":[{"type":"string","description":"string in the specified language."},{"type":"object","description":"Map of translations in form of language:translation pairs.\nThe keys (languages) should be ISO language codes.\nThe values (in specific languages) should be strings in specified language.","additionalProperties":{"type":"string"}}]},"monetaryAmount":{"title":"Monetary Amount","description":"Schema defining monetary amount in given currency.","type":"object","properties":{"amount":{"description":"The amount in the specified currency","type":"number"},"currency":{"pattern":"^[a-zA-Z]{3}$","description":"ISO 4217 currency code, e.g.: USD, EUR, CHF","type":"string"}},"required":["amount","currency"]},"timespan":{"description":"Restricts the active fees to be only applied in the specified\ntimespan.","title":"Timespan","type":"object","properties":{"startDate":{"format":"date-time","type":"string"},"endDate":{"format":"date-time","type":"string"}},"required":["startDate","endDate"]},"YRN":{"type":"string","title":"YRN","description":"A unique identifier of a global resource, which stores information about the resource, such as its type, ID or name of the tenant.","minLength":1},"ItemYRNs":{"description":"the itemYrns this fee is applied to","type":"object","properties":{"itemYrns":{"type":"array","items":{"type":"string"}},"siteCode":{"type":"string"}},"required":["itemYrns","siteCode"]}}}}
```

## The ItemYRNs object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"ItemYRNs":{"description":"the itemYrns this fee is applied to","type":"object","properties":{"itemYrns":{"type":"array","items":{"type":"string"}},"siteCode":{"type":"string"}},"required":["itemYrns","siteCode"]}}}}
```

## The ItemFee object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"ItemFee":{"type":"object","properties":{"id":{"description":"Unique identifier of the item fee.","type":"string"},"siteCode":{"description":"The SiteCode this fee belongs to.","type":"string"},"itemYrn":{"description":"YRN of the item to assign fees to.","type":"string"},"feeIds":{"description":"List of unique identifiers of fees to assign to the item.","type":"array","items":{"type":"string"}}},"required":["itemYrn","feeIds","siteCode"]}}}}
```

## The ItemFees object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"ItemFees":{"type":"array","items":{"$ref":"#/components/schemas/ItemFee"}},"ItemFee":{"type":"object","properties":{"id":{"description":"Unique identifier of the item fee.","type":"string"},"siteCode":{"description":"The SiteCode this fee belongs to.","type":"string"},"itemYrn":{"description":"YRN of the item to assign fees to.","type":"string"},"feeIds":{"description":"List of unique identifiers of fees to assign to the item.","type":"array","items":{"type":"string"}}},"required":["itemYrn","feeIds","siteCode"]}}}}
```

## The FeeIds object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"FeeIds":{"type":"array","items":{"type":"string"}}}}}
```

## The FeeIdsUpdate object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"FeeIdsUpdate":{"type":"object","properties":{"feeIds":{"type":"array","items":{"type":"string"}}},"required":["feeIds"]}}}}
```

## The YRN object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"YRN":{"type":"string","title":"YRN","description":"A unique identifier of a global resource, which stores information about the resource, such as its type, ID or name of the tenant.","minLength":1}}}}
```

## The SearchItemFee object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"SearchItemFee":{"type":"object","description":"Search ItemFee request body.","properties":{"productId":{"type":"string"},"siteCodes":{"type":"array","items":{"type":"string"}},"pageNumber":{"type":"integer","default":1},"pageSize":{"type":"integer","default":16}},"required":["productId","siteCodes"]}}}}
```

## The SearchItemsFee object

```json
{"openapi":"3.0.0","info":{"title":"Fee Service","version":"v1"},"components":{"schemas":{"SearchItemsFee":{"type":"object","description":"Search ItemsFee request body.","properties":{"productIds":{"type":"string"},"siteCode":{"type":"string"},"pageNumber":{"type":"integer","default":1},"pageSize":{"type":"integer","default":16}},"required":["productIds","siteCode"]}}}}
```


---

# 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-16/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.
