Metadata-Version: 2.2
Name: vrt_lss_packer
Version: 7.34.3275
Summary: VRt.Packer [PC]
Home-page: 
Author: Veeroute Support Team
Author-email: Veeroute Support Team <support@veeroute.com>
License: Proprietary
Project-URL: Repository, https://github.com/GIT_USER_ID/GIT_REPO_ID
Keywords: OpenAPI,VRt.Packer [PC]
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: urllib3<3.0.0,>=2.1.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author

# vrt_lss_packer
Software interface for Veeroute Packer.

# Description

This service is designed to calculate the placement of goods within specified packages.

## Package Types

### Slot

![slot](../images/packer_slot.svg)

Loaded pallets are stacked on top of each other; a slot is the location where the pallet stack is placed.

A slot has no physical body, so the dimensions of its `body` are zero.

### Pallet

![pallet](../images/packer_pallet.svg)

If a pallet is completely filled with identical goods, it is called a **mono-pallet**.
Such a pallet has the following loading rules:

1. The maximum permissible height of the pallet with the goods placed on it is taken into account.
1. The maximum permissible weight of the loaded pallet is taken into account. 1. Product packages may only be stacked parallel to the pallet walls.
1. Rotating packages around the vertical Z axis is permitted, but only at right angles.
1. To equalize the height between positions (to accommodate another pallet on top), empty spaces may be added to the stacking layer.

After forming a single-panel pallet, the remaining products of the same SKU are placed on the next pallet.
Such a pallet is divided into zones using a cardboard divider so that each zone contains only one product SKU.
The zones have the following restrictions:

1. The zones are rectangular.
1. The ratio between the sides of the zones may be any.
1. One side of any zone always touches the edge of the pallet.
1. The permitted number of zones on a pallet is from 2 to 6.
1. Each zone is filled according to the rules for filling a single-panel pallet.
1. The stacking height of all products must not exceed 50 mm, allowing for another pallet to be placed on top of the pallet.
1. Pallets with different stacking heights for different items (height differences greater than 50 mm) are permitted, provided they are the top pallets in the stack.

### Mixbox

![mixbox](../images/packer_mixbox.svg)

If the steps described above do not allow the product to be stacked so that the pallet reaches the required height or weight, mixboxes are used:

1. Mixboxes can only be stacked in a single layer.
1. A single mixbox can contain different products; in this case, it is divided by dividers similar to a pallet (the only difference is that the height of the packed product is not aligned).
1. Mixboxes can be mixed with product items on the same pallet.
1. The same product can be packed in different mixboxes.

## Coordinate System

![coordinates](../images/packer_coordinates.svg)

A local coordinate system is used to indicate the location of packages and products.

In this system, the coordinates of a specific object are specified relative to the lower-left corner of the parent object, as follows:

* Horizontal plane - X, Y axes
* Vertical plane - Z axis

Product and package axes ratio:

* Width - X axis
* Length - Y axis
* Height - Z axis

## Entity Diagram

![erd](../uml/packer.svg)


This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 7.34.3275
- Package version: 7.34.3275
- Generator version: 7.17.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.9+

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)

Then import the package:
```python
import vrt_lss_packer
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import vrt_lss_packer
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import vrt_lss_packer
from vrt_lss_packer.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.edge7.veeroute.cloud
# See configuration.py for a list of all supported configuration parameters.
configuration = vrt_lss_packer.Configuration(
    host = "https://api.edge7.veeroute.cloud"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization (JWT): ApiKeyAuth
configuration = vrt_lss_packer.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with vrt_lss_packer.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = vrt_lss_packer.PackApi(api_client)
    process_code = 'process_code_example' # str | Unique process identifier.

    try:
        # Cancel calculation
        api_instance.cancel_pack_calculation(process_code)
    except ApiException as e:
        print("Exception when calling PackApi->cancel_pack_calculation: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.edge7.veeroute.cloud*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*PackApi* | [**cancel_pack_calculation**](docs/PackApi.md#cancel_pack_calculation) | **DELETE** /packer/pack/calculation-async/{process_code} | Cancel calculation
*PackApi* | [**delete_pack_result**](docs/PackApi.md#delete_pack_result) | **DELETE** /packer/pack/result/{process_code} | Result removal
*PackApi* | [**read_pack_result**](docs/PackApi.md#read_pack_result) | **GET** /packer/pack/result/{process_code} | Getting the result
*PackApi* | [**read_pack_state**](docs/PackApi.md#read_pack_state) | **GET** /packer/pack/state/{process_code} | Calculation state
*PackApi* | [**run_pack_calculation**](docs/PackApi.md#run_pack_calculation) | **POST** /packer/pack/calculation | Packing (SYNC)
*PackApi* | [**run_pack_calculation_async**](docs/PackApi.md#run_pack_calculation_async) | **POST** /packer/pack/calculation-async | Packing (ASYNC)
*PackApi* | [**run_pack_validation**](docs/PackApi.md#run_pack_validation) | **POST** /packer/pack/validation | Data validation
*SystemApi* | [**check**](docs/SystemApi.md#check) | **GET** /packer/system/check | Checking the availability
*SystemApi* | [**file**](docs/SystemApi.md#file) | **GET** /packer/file/{filename} | Getting the documentation
*SystemApi* | [**version**](docs/SystemApi.md#version) | **GET** /packer/system/version | Getting the service version


## Documentation For Models

 - [Attribute](docs/Attribute.md)
 - [CalculationAsyncResult](docs/CalculationAsyncResult.md)
 - [CalculationInfo](docs/CalculationInfo.md)
 - [CalculationSettings](docs/CalculationSettings.md)
 - [CalculationState](docs/CalculationState.md)
 - [CalculationStatus](docs/CalculationStatus.md)
 - [CheckResult](docs/CheckResult.md)
 - [Coordinates](docs/Coordinates.md)
 - [Dimensions](docs/Dimensions.md)
 - [General402](docs/General402.md)
 - [General404](docs/General404.md)
 - [General404Detail](docs/General404Detail.md)
 - [General429](docs/General429.md)
 - [General500](docs/General500.md)
 - [PackResult](docs/PackResult.md)
 - [PackSettings](docs/PackSettings.md)
 - [PackStatistics](docs/PackStatistics.md)
 - [PackTask](docs/PackTask.md)
 - [Package](docs/Package.md)
 - [PackageLayout](docs/PackageLayout.md)
 - [PackageStatistics](docs/PackageStatistics.md)
 - [PackageType](docs/PackageType.md)
 - [Packer400WithErrorsAndWarnings](docs/Packer400WithErrorsAndWarnings.md)
 - [PackerEntityError](docs/PackerEntityError.md)
 - [PackerEntityErrorType](docs/PackerEntityErrorType.md)
 - [PackerEntityPath](docs/PackerEntityPath.md)
 - [PackerEntityType](docs/PackerEntityType.md)
 - [PackerEntityWarning](docs/PackerEntityWarning.md)
 - [PackerEntityWarningType](docs/PackerEntityWarningType.md)
 - [PackerValidateResult](docs/PackerValidateResult.md)
 - [Product](docs/Product.md)
 - [ProductGroupLayout](docs/ProductGroupLayout.md)
 - [ProductLayout](docs/ProductLayout.md)
 - [SchemaError](docs/SchemaError.md)
 - [Service](docs/Service.md)
 - [Tracedata](docs/Tracedata.md)
 - [UnpackedItems](docs/UnpackedItems.md)
 - [VersionResult](docs/VersionResult.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="ApiKeyAuth"></a>
### ApiKeyAuth

- **Type**: Bearer authentication (JWT)


## Author

support@veeroute.com


