Я отдыхаю, что получает между прочим свидание и вместе с ним делает заказ. Проблема возникает, когда 2 человека «в одно и то же время» пытаются забронировать номер в один и тот же день в одно и то же время.
Очевидно, что первый, кто сделает запрос, сможет записаться на прием, поэтому я верну статус 200. С другой стороны, тот, кто придет позже, сделает тот же запрос, но сервер выкинет ошибка, потому что он не может зарезервировать ту же встречу (уже зарезервирован). В этом случае, какой код состояния http должен быть выбран?
Семейный код 500 не кажется правильным, потому что выбрасываемое исключение вызвано самой логикой бизнеса.
С другой стороны, государственный код семьи 400 тоже не кажется правильным, потому что запрос хорошо сформулирован.
Спасибо!