Merge pull request 'zorn-dev' (#9) from zorn-dev into PMSManager_refactor
Reviewed-on: SmartSolTech/touchh_bot#9
This commit is contained in:
8
antifroud/management/commands/fraud_check.py
Normal file
8
antifroud/management/commands/fraud_check.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
from django.core.management.base import BaseCommand
|
||||||
|
from antifroud.check_fraud import run_reservation_check
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
help = "Запуск проверки на несоответствия"
|
||||||
|
|
||||||
|
def handle(self, *args, **options):
|
||||||
|
run_reservation_check()
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2025-02-01 06:34
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('antifroud', '0002_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='roomdiscrepancy',
|
||||||
|
name='booking_id',
|
||||||
|
field=models.CharField(max_length=255, null=True, verbose_name='ID бронирования'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='roomdiscrepancy',
|
||||||
|
name='check_in_date_actual',
|
||||||
|
field=models.DateField(null=True, verbose_name='Фактическая дата заселения'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='roomdiscrepancy',
|
||||||
|
name='check_in_date_expected',
|
||||||
|
field=models.DateField(null=True, verbose_name='Ожидаемая дата заселения'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 5.1.4 on 2025-02-01 06:37
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('antifroud', '0003_alter_roomdiscrepancy_booking_id_and_more'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='roomdiscrepancy',
|
||||||
|
name='discrepancy_type',
|
||||||
|
field=models.CharField(choices=[('early', 'Раннее заселение'), ('late', 'Позднее заселение'), ('missed', 'Неявка'), ('no_booking', 'Без брони')], max_length=50, verbose_name='Тип несоответствия'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -107,12 +107,12 @@ class ExternalDBSettings(models.Model):
|
|||||||
class RoomDiscrepancy(models.Model):
|
class RoomDiscrepancy(models.Model):
|
||||||
hotel = models.ForeignKey(Hotel, on_delete=models.CASCADE, verbose_name="Отель")
|
hotel = models.ForeignKey(Hotel, on_delete=models.CASCADE, verbose_name="Отель")
|
||||||
room_number = models.CharField(max_length=50, verbose_name="Номер комнаты")
|
room_number = models.CharField(max_length=50, verbose_name="Номер комнаты")
|
||||||
booking_id = models.CharField(max_length=255, verbose_name="ID бронирования")
|
booking_id = models.CharField(max_length=255, null=True, verbose_name="ID бронирования")
|
||||||
check_in_date_expected = models.DateField(verbose_name="Ожидаемая дата заселения")
|
check_in_date_expected = models.DateField(null=True, verbose_name="Ожидаемая дата заселения")
|
||||||
check_in_date_actual = models.DateField(verbose_name="Фактическая дата заселения")
|
check_in_date_actual = models.DateField(null=True, verbose_name="Фактическая дата заселения")
|
||||||
discrepancy_type = models.CharField(
|
discrepancy_type = models.CharField(
|
||||||
max_length=50,
|
max_length=50,
|
||||||
choices=[("early", "Раннее заселение"), ("late", "Позднее заселение"), ("missed", "Неявка")],
|
choices=[("early", "Раннее заселение"), ("late", "Позднее заселение"), ("missed", "Неявка"), ("no_booking", "Без брони")],
|
||||||
verbose_name="Тип несоответствия"
|
verbose_name="Тип несоответствия"
|
||||||
)
|
)
|
||||||
created_at = models.DateTimeField(auto_now_add=True, verbose_name="Дата создания")
|
created_at = models.DateTimeField(auto_now_add=True, verbose_name="Дата создания")
|
||||||
|
|||||||
Reference in New Issue
Block a user