Я хочу создать сайт, аналогичный веб-сайтам OTA, например (booking.com и agoda.com). Но у меня проблемы при приготовлении стола. Кроме того, отельеры могут закрывать определенные номера в определенные даты, поэтому я должен где-то иметь близкое открытое поле. Я не уверен, правильно ли я сейчас это делаю, поэтому мне нужны дополнительные мозги, чтобы помочь мне сделать это лучше.
Я пробовал искать в Google проекты баз данных, но они не соответствуют моим требованиям, большинство из них только для одной структуры отеля и имеют только фиксированную цену, тогда как мои цены основаны на датах. Цены могут быть выше на PH и в выходные дни и могут быть изменены отельерами.
Что я имею в виду для своих столов:
hotel {
hotelID (INT) PK
hotelName (VARCHAR)
}
rooms {
roomID (INT) PK
roomType (VARCHAR)
}
Я планирую использовать INT при наличии (0 = закрыть и 1 = открыть)
rates {
roomID (INT)
date (datetime)
price (double)
available (INT)
}
bookings {
bookingID (INT) PK
hotelID (INT)
roomID (INT)
checkInDate (datetime)
checkOutDate (datetime)
price (double)
}