bot upgraded

This commit is contained in:
2024-12-07 11:17:31 +09:00
parent e1c2ddbdb9
commit 66cf6ae940
8 changed files with 381 additions and 36 deletions

View File

@@ -30,7 +30,8 @@ class APIConfiguration(models.Model):
class Meta:
verbose_name = "Конфигурация API"
verbose_name_plural = "Конфигурации API"
class Hotel(models.Model):
name = models.CharField(max_length=255, verbose_name="Название отеля")
api = models.OneToOneField(
@@ -50,14 +51,17 @@ class Hotel(models.Model):
class Meta:
verbose_name = "Отель"
verbose_name_plural = "Отели"
class PMSIntegrationLog(models.Model):
hotel = models.ForeignKey(Hotel, on_delete=models.CASCADE, verbose_name="Отель")
checked_at = models.DateTimeField(auto_now_add=True, verbose_name="Время проверки")
status = models.CharField(max_length=50, verbose_name="Статус", choices=[('success', 'Успех'), ('error', 'Ошибка')])
message = models.TextField(verbose_name="Сообщение", blank=True, null=True)
def __str__(self):
return f"{self.hotel.name} - {self.status} - {self.checked_at}"
class Meta:
verbose_name = "Журнал интеграции PMS"
verbose_name_plural = "Журналы интеграции PMS"
@@ -66,21 +70,18 @@ class PMSIntegrationLog(models.Model):
models.Index(fields=['checked_at']),
models.Index(fields=['status']),
]
class UserHotel(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="Пользователь")
hotel = models.ForeignKey(Hotel, on_delete=models.CASCADE, verbose_name="Отель")
def __str__(self):
return f"{self.user.username} - {self.hotel.name}"
class Meta:
verbose_name = "Пользователь отеля"
verbose_name_plural = "Пользователи отелей"
from django.db import models
class APIRequestLog(models.Model):
@@ -91,6 +92,7 @@ class APIRequestLog(models.Model):
def __str__(self):
return f"{self.api.name} - {self.request_time}"
class Meta:
verbose_name = "Журнал запросов API"
verbose_name_plural = "Журналы запросов API"
@@ -98,6 +100,37 @@ class APIRequestLog(models.Model):
models.Index(fields=['api']),
models.Index(fields=['request_time']),
]
from django.db import models
class Reservation(models.Model):
hotel = models.ForeignKey(Hotel, on_delete=models.CASCADE, verbose_name="Отель")
reservation_id = models.BigIntegerField(unique=True, verbose_name="ID бронирования")
room_number = models.CharField(max_length=50, verbose_name="Номер комнаты")
room_type = models.CharField(max_length=255, verbose_name="Тип комнаты")
check_in = models.DateTimeField(verbose_name="Дата заезда")
check_out = models.DateTimeField(verbose_name="Дата выезда")
status = models.CharField(max_length=50, verbose_name="Статус")
price = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name="Цена")
discount = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True, verbose_name="Скидка")
def __str__(self):
return f"Бронирование {self.reservation_id} - {self.hotel.name}"
class Meta:
verbose_name = "Бронирование"
verbose_name_plural = "Бронирования"
class Guest(models.Model):
reservation = models.ForeignKey(Reservation, on_delete=models.CASCADE, related_name="guests", verbose_name="Бронирование")
name = models.CharField(max_length=255, verbose_name="Имя гостя")
birthdate = models.DateField(null=True, blank=True, verbose_name="Дата рождения")
phone = models.CharField(max_length=50, null=True, blank=True, verbose_name="Телефон")
email = models.EmailField(null=True, blank=True, verbose_name="Email")
def __str__(self):
return self.name
class Meta:
verbose_name = "Гость"
verbose_name_plural = "Гости"