Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Hotel Booking System

Цель

Научиться реализовывать бизнес-логику в рамках заданной архитектуры. Все классы и методы уже созданы — необходимо только реализовать логику в теле методов. Создавать свои классы и методы запрещено.


Описание архитектуры

model

  • Hotel — представляет отель с именем и списком комнат.
  • Room — описывает номер (номер комнаты, тип, цена за ночь, доступность).
  • Guest — информация о госте (имя и email).

service

  • BookingService — содержит бизнес-логику бронирования.
  • PaymentService — отвечает за расчеты: налоги и скидки.

Что необходимо реализовать

BookingService

  • isRoomAvailable(Room room, LocalDate checkIn, LocalDate checkOut)
    Проверить доступность номера. Сейчас заглушка. Реализовать реальную проверку (например, по флагу isAvailable).

  • bookRoom(Hotel hotel, Room room, Guest guest, LocalDate checkIn, LocalDate checkOut)
    Если номер доступен — выполнить бронирование (установить isAvailable = false). Вернуть true если бронирование успешно, иначе false.

  • calculatePrice(Room room, LocalDate checkIn, LocalDate checkOut)
    Вычислить полную стоимость: цена за ночь * количество ночей.

PaymentService

  • applyTax(double amount)
    Применить налог к сумме. Например, 10%.

  • applyDiscount(double amount, double discountRate)
    Применить скидку в процентах (отнять discountRate% от суммы).


Правила реализации

  • Нельзя добавлять свои классы и методы.
  • Можно использовать любые стандартные классы Java (включая LocalDate, ChronoUnit, List и т.д.).
  • Следует придерживаться ООП и чистой архитектуры.
  • Обработка ошибок и форматирование приветствуются.
  • Цель — научиться реализовывать логику в рамках готовой структуры, не нарушая ее.

Дополнительные задачи (по желанию)

  • (*) Реализовать хранение истории бронирований.
  • (*) Добавить проверку, что бронируемые даты не пересекаются с уже занятыми.

About

Hotel Booking System

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages