ДоставимВсе

Служба выполняет заказы по доставке заказов клиентам. Доставка заказа осуществляется по маршруту, состоящему из последовательно соединенных плеч (leg). Каждое плечо маршрута может быть одним из следующих типов: морским транспортом автотраспортом, ж/д транспортом, авиатранспортом. Отслеживание местонахождения заказа по его номеру: для каждого заказа известно, на каком плече он находится. Начальное плечо - передача заказа в доставку, конечное - получение. Служба ведет историю заказов для каждого клиента, в том числе историю прохождения заказа по маршруту.

Заказ может включать несколько товаров. Каждый товар обладает заявленной стоимостью и весом. Для каждого типа плеча известны ограничения по весу, время и стоимость пересылки, последняя зависит от веса и заявленной стоимости всех товаров в заказе.

Служба хранит граф, объединяющий возможные плечи доставки, ограничения и доступные типы на каждом плече. Опреатор составляет маршрут для заказа.

Варианты усложнения: 1) автоматическое построение маршрутов, оптимизация доставки по скорости, стоимости 2) автоматическое построение маршрутов, выбор следующего плеча происходит на после завершения предыдущего, так как некоторые плечи становятся недоступными (из-за метеоусловий например)