PICKUP
(погрузка), DROP
(выгрузка)DROP_FROM_BOX
(выгрузка груза, который уже находится в кузове), PICKUP_TO_BOX
(забор груза в кузов без последующей выгрузки), WORK
(работа на локации без перемещения груза)Ограничения на исполнителя:
Ограничения на транспорт:
Ограничения на заказ:
Сущности являются совместимыми, если список свойств одной сущности полностью покрывает список требований другой сущности (наоборот для performer_blacklist
- списки не должны пересекаться).
Поддерживаемые совместимости:
Название | Требования | Свойства |
---|---|---|
Заказ - Исполнитель | order.performer_restrictions | performer.performer_features |
Заказ - Не Исполнитель | order.performer_blacklist | performer.performer_features |
Груз - Отсек | order.cargo.box_restrictions | transport.box.box_features |
Локация - Транспорт | location.transport_restrictions | transport.transport_features |
Транспорт - Исполнитель | transport.performer_restrictions | performer.performer_features |
Исполнитель - Транспорт | performer.transport_restrictions | transport.transport_features |
Заказ - Заказ | order.order_restrictions | order.order_features |
Груз - Груз | cargo.cargo_restrictions | cargo.cargo_features |
Примеры бизнес правил:
Название | Пример бизнес-правила |
---|---|
Заказ - Исполнитель | Для выполнения заказа водитель должен иметь особое разрешение |
Заказ - Не Исполнитель | Водитель в черном списке |
Груз - Отсек | Для перевозки замороженной продукции необходим отсек с особым температурным режимом |
Локация - Транспорт | Ограничения на высоту транспорта |
Транспорт - Исполнитель | Для грузового транспорта водитель должен иметь категорию C |
Исполнитель - Транспорт | Водителю разрешено работать только на определенном транспорте |
Заказ - Заказ | Нельзя перевозить рыбу и фрукты в одном отсеке |
Груз - Груз | Два груза нельзя одновременно размещать в одном отсеке транспорта, по очереди - можно |
Механизм назначений (hardlinks
) необходим для указания требований по нахождению заказов, исполнителя и транспорта в одном рейсе.
Назначение гарантирует нахождения сущностей в одном рейсе и не гарантирует факт планирования сущности.
Например, если исполнитель не успевает выполнить заказ, то он не запланируется, но назначится на рейс (попадет в waitlist
).
Также назначение не отменяет указанные совместимости (и штрафы за нарушение совместимостей).
Например, если заказ не может быть выполнен исполнителем, он не запланируется, но назначится на рейс (попадет в waitlist
).
Список способностей объекта вращаться (с шагом в 90 градусов):
ALL
- можно поворачивать по любой оси любое количество разYAW
- можно повернуть один раз по вертикальной оси (вокруг своей оси)PITCH
- можно повернуть один раз по поперечной оси (поставить вертикально)ROLL
- можно повернуть один раз по продольной оси (положить на бок)