Клиент заказывает перевозку, например через сайт, на языке программирования проверяется что выбрана хотябы одна услуга и потом создается счет и к счету привязываем заказ.
START TRANSACTION;
INSERT INTO `bills`(`custom_id`) VALUES ($ид_клиента);
$bill_id = mysqli_последний_вставленный_ид
И добавляем какие услуги нужно предоставить. Проверку выполнена она или нет, сами сделаете.
foreach ($массив с ИД зказанных услуг) {
INSERT INTO `order_service`(`bill_id`,`service_id`) VALUES ($bill_id,$service_id);
};
COMMIT;
Тоесть получаем 1 счет на 1 клиента и хоть ты убей не получится в счет вписать еще 1 клиента. Все услуги будут привязанны именно к этому счету.
После выполнения собираем все выполненные заказанные услуги и выставляем клиенту:
SELECT `service_id`
FROM `order_service`
WHERE `bill_id`=$по счету
Названия и прочее добивать джойнами.