Условие
Сервис бронирования места в самолете. Клиент с купленным билетом может за дополнительную плату выбрать конкретное место. Базовая цена мест определяется тарифами (внешним сервисом). Для клиентов с тарифами PREMIUM, ULTRA предусмотрена скидка. При бронировании выставляется инвойс через сторонний сервис.
@Service
public class SeatBookingService {
@Autowired private SeatBookingRepository seatBookingRepository;
@Autowired private TicketRepository ticketRepository;
@Autowired private TariffClient tariffClient;
@Autowired private CustomerClient customerClient;
@Autowired private PaymentClient paymentClient;
public void bookSeat(String seatCode, UUID ticketId) {…