и в каком же?
1. Создаётся событие/сообщение, что пользователь хочет вот это, мы сразу ему помечаем ордер как закрытый или переводим в какой-то промежуточный статус.
Тогда надо ещё подумать над архитектурой кода.
И только для быстрого изменения/создания запускайте транзакцию в Serialization и как можно скорее ее закрывайте.
Готовьте заранее все данные, что нужны для сохрания в read commited изоляции.
Можешь чуть подробнее, как задеваются другие таблицы? Без этого сложно дать полезный совет.