# Models

## The Metadata object

```json
{"openapi":"3.1.1","info":{"title":"Equipment Terminal Loader","version":"2.0"},"components":{"schemas":{"Metadata":{"type":"object","properties":{"exchangeId":{"type":"string"},"timestamp":{"type":"string","description":"yyyy-MM-dd'T'hh:mm:ss.SSS"}},"title":"Metadata"}}}}
```

## The Pageable object

```json
{"openapi":"3.1.1","info":{"title":"Equipment Terminal Loader","version":"2.0"},"components":{"schemas":{"Pageable":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"paged":{"type":"boolean"},"sort":{"$ref":"#/components/schemas/Sort"},"unpaged":{"type":"boolean"}},"title":"Pageable"},"Sort":{"type":"object","properties":{"empty":{"type":"boolean"},"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"}},"title":"Sort"}}}}
```

## The Page«Product» object

```json
{"openapi":"3.1.1","info":{"title":"Equipment Terminal Loader","version":"2.0"},"components":{"schemas":{"Page«Product»":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Product"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/Pageable"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/Sort"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}},"title":"Page«Product»"},"Product":{"type":"object","properties":{"frontends":{"type":"array","description":"List of supported front-end interfaces or applications associated with the product.","items":{"type":"string"}},"manufacturer":{"type":"string","description":"The manufacturer name of the product or terminal."},"metadata":{"description":"Metadata object containing: exchangeId - Unique correlation ID for tracking the request across systems; timestamp - The date and time when the request was generated.","$ref":"#/components/schemas/Metadata"},"modelId":{"type":"integer","format":"int32","description":"Unique numeric identifier of the product model."},"productName":{"type":"string","description":"The display or commercial name of the product."},"productType":{"type":"string","description":"The category of the product. Typically a terminal or device type.","enum":["Terminal","Software"]}},"title":"Product","description":"Represents a product or terminal."},"Metadata":{"type":"object","properties":{"exchangeId":{"type":"string"},"timestamp":{"type":"string","description":"yyyy-MM-dd'T'hh:mm:ss.SSS"}},"title":"Metadata"},"Pageable":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"paged":{"type":"boolean"},"sort":{"$ref":"#/components/schemas/Sort"},"unpaged":{"type":"boolean"}},"title":"Pageable"},"Sort":{"type":"object","properties":{"empty":{"type":"boolean"},"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"}},"title":"Sort"}}}}
```

## The Product object

```json
{"openapi":"3.1.1","info":{"title":"Equipment Terminal Loader","version":"2.0"},"components":{"schemas":{"Product":{"type":"object","properties":{"frontends":{"type":"array","description":"List of supported front-end interfaces or applications associated with the product.","items":{"type":"string"}},"manufacturer":{"type":"string","description":"The manufacturer name of the product or terminal."},"metadata":{"description":"Metadata object containing: exchangeId - Unique correlation ID for tracking the request across systems; timestamp - The date and time when the request was generated.","$ref":"#/components/schemas/Metadata"},"modelId":{"type":"integer","format":"int32","description":"Unique numeric identifier of the product model."},"productName":{"type":"string","description":"The display or commercial name of the product."},"productType":{"type":"string","description":"The category of the product. Typically a terminal or device type.","enum":["Terminal","Software"]}},"title":"Product","description":"Represents a product or terminal."},"Metadata":{"type":"object","properties":{"exchangeId":{"type":"string"},"timestamp":{"type":"string","description":"yyyy-MM-dd'T'hh:mm:ss.SSS"}},"title":"Metadata"}}}}
```

## The Products object

```json
{"openapi":"3.1.1","info":{"title":"Equipment Terminal Loader","version":"2.0"},"components":{"schemas":{"Products":{"type":"object","properties":{"metadata":{"$ref":"#/components/schemas/Metadata"},"products":{"$ref":"#/components/schemas/Page«Product»"}},"title":"Products"},"Metadata":{"type":"object","properties":{"exchangeId":{"type":"string"},"timestamp":{"type":"string","description":"yyyy-MM-dd'T'hh:mm:ss.SSS"}},"title":"Metadata"},"Page«Product»":{"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/Product"}},"empty":{"type":"boolean"},"first":{"type":"boolean"},"last":{"type":"boolean"},"number":{"type":"integer","format":"int32"},"numberOfElements":{"type":"integer","format":"int32"},"pageable":{"$ref":"#/components/schemas/Pageable"},"size":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/Sort"},"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"}},"title":"Page«Product»"},"Product":{"type":"object","properties":{"frontends":{"type":"array","description":"List of supported front-end interfaces or applications associated with the product.","items":{"type":"string"}},"manufacturer":{"type":"string","description":"The manufacturer name of the product or terminal."},"metadata":{"description":"Metadata object containing: exchangeId - Unique correlation ID for tracking the request across systems; timestamp - The date and time when the request was generated.","$ref":"#/components/schemas/Metadata"},"modelId":{"type":"integer","format":"int32","description":"Unique numeric identifier of the product model."},"productName":{"type":"string","description":"The display or commercial name of the product."},"productType":{"type":"string","description":"The category of the product. Typically a terminal or device type.","enum":["Terminal","Software"]}},"title":"Product","description":"Represents a product or terminal."},"Pageable":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"},"paged":{"type":"boolean"},"sort":{"$ref":"#/components/schemas/Sort"},"unpaged":{"type":"boolean"}},"title":"Pageable"},"Sort":{"type":"object","properties":{"empty":{"type":"boolean"},"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"}},"title":"Sort"}}}}
```

## The Sort object

```json
{"openapi":"3.1.1","info":{"title":"Equipment Terminal Loader","version":"2.0"},"components":{"schemas":{"Sort":{"type":"object","properties":{"empty":{"type":"boolean"},"sorted":{"type":"boolean"},"unsorted":{"type":"boolean"}},"title":"Sort"}}}}
```
