299 lines
17 KiB
Python
299 lines
17 KiB
Python
# Generated by Django 5.1.3 on 2025-09-19 10:19
|
|
|
|
import django.db.models.deletion
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('accounts', '0001_initial'),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='ExtraServicesModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('name', models.CharField(max_length=255, verbose_name='name')),
|
|
],
|
|
options={
|
|
'verbose_name': 'ExtraServicesModel',
|
|
'verbose_name_plural': 'ExtraServicesModels',
|
|
'db_table': 'extra_services',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='HotelModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(max_length=255, verbose_name='name')),
|
|
('address', models.TextField(verbose_name='address')),
|
|
('city', models.CharField(max_length=100, verbose_name='city')),
|
|
('country', models.CharField(max_length=100, verbose_name='city')),
|
|
('desc', models.TextField(blank=True, null=True, verbose_name='description')),
|
|
('phone', models.CharField(blank=True, max_length=50, null=True, verbose_name='phone number')),
|
|
('website', models.URLField(blank=True, null=True, verbose_name='hotel website')),
|
|
('rating', models.FloatField(blank=True, null=True, verbose_name='rating')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
],
|
|
options={
|
|
'verbose_name': 'HotelModel',
|
|
'verbose_name_plural': 'HotelModels',
|
|
'db_table': 'hotel',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='PaidServicesModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('name', models.CharField(max_length=255, verbose_name='name')),
|
|
('price', models.IntegerField(verbose_name='price')),
|
|
],
|
|
options={
|
|
'verbose_name': 'PaidServicesModel',
|
|
'verbose_name_plural': 'PaidServicesModels',
|
|
'db_table': 'paid_services',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TariffModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('name', models.CharField(choices=[('3', 'Standart'), ('4', 'Comfort'), ('5', 'Luxury')], default=('3', 'Standart'), max_length=255)),
|
|
],
|
|
options={
|
|
'verbose_name': 'TariffModel',
|
|
'verbose_name_plural': 'TariffModels',
|
|
'db_table': 'tariff',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsItineraryModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('title', models.CharField(max_length=255, verbose_name='title')),
|
|
('duration', models.IntegerField(verbose_name='duration')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsItineraryModel',
|
|
'verbose_name_plural': 'TicketsItineraryModel',
|
|
'db_table': 'tickets_itinerary',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='HotelImagesModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('image', models.ImageField(upload_to='hotel_images/', verbose_name='image')),
|
|
('hotel', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tickets.hotelmodel', verbose_name='hotel')),
|
|
],
|
|
options={
|
|
'verbose_name': 'HotelImagesModel',
|
|
'verbose_name_plural': 'HotelImagesModels',
|
|
'db_table': 'hotel_images',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsItineraryImagesModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('image', models.ImageField(upload_to='ticket-included-services-images/', verbose_name='image')),
|
|
('tickets_itinerary', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_itinerary_image', to='tickets.ticketsitinerarymodel', verbose_name='tickets_itinerary')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsItineraryImagesModel',
|
|
'verbose_name_plural': 'TicketsItineraryImagesModel',
|
|
'db_table': 'tickets_itinerary_images',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsItineraryDestinationsModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('name', models.CharField(max_length=255, verbose_name='name')),
|
|
('tickets_itinerary', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_itinerary_destinations', to='tickets.ticketsitinerarymodel', verbose_name='tickets_itinerary')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsItineraryDestinationsModel',
|
|
'verbose_name_plural': 'TicketsItineraryDestinationsModel',
|
|
'db_table': 'tickets_itinerary_destinations',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('title', models.CharField(max_length=255, verbose_name='title')),
|
|
('price', models.BigIntegerField(verbose_name='price')),
|
|
('departure_date', models.DateField(verbose_name='departure date')),
|
|
('departure', models.CharField(max_length=255, verbose_name='departure')),
|
|
('destination', models.CharField(max_length=255, verbose_name='destination')),
|
|
('departure_time', models.DateTimeField(verbose_name='departure time')),
|
|
('travel_time', models.DateTimeField(verbose_name='travel time')),
|
|
('passenger_count', models.IntegerField(verbose_name='passenger count')),
|
|
('languages', models.CharField(max_length=255, verbose_name='languages')),
|
|
('rating', models.FloatField(verbose_name='rating')),
|
|
('hotel_info', models.TextField(verbose_name='hotel info')),
|
|
('duration_days', models.IntegerField(verbose_name='duration days')),
|
|
('hotel_meals', models.TextField(blank=True, null=True, verbose_name='hotel meals')),
|
|
('slug', models.SlugField(max_length=255, unique=True, verbose_name='slug')),
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
|
|
('tariff', models.ManyToManyField(related_name='ticket_tariffs', to='tickets.tariffmodel', verbose_name='tariff')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsModel',
|
|
'verbose_name_plural': 'TicketsModels',
|
|
'db_table': 'tickets',
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name='ticketsitinerarymodel',
|
|
name='ticket',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_itinerary', to='tickets.ticketsmodel', verbose_name='ticket'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsIncludedServicesModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('image', models.ImageField(upload_to='ticket-included-services-images/', verbose_name='image')),
|
|
('title', models.CharField(max_length=255, verbose_name='title')),
|
|
('desc', models.TextField(verbose_name='description')),
|
|
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_included_services', to='tickets.ticketsmodel', verbose_name='ticket')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsIncludedServicesModel',
|
|
'verbose_name_plural': 'TicketsIncludedServicesModel',
|
|
'db_table': 'tickets_included_services',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsImagesModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('image', models.ImageField(upload_to='ticket-images/', verbose_name='image')),
|
|
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_images', to='tickets.ticketsmodel', verbose_name='ticket')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsImagesModel',
|
|
'verbose_name_plural': 'TicketsImagesModel',
|
|
'db_table': 'tickets_images',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsHotelMealsModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('image', models.ImageField(upload_to='ticket-hotel-meals/', verbose_name='image')),
|
|
('name', models.CharField(max_length=255, verbose_name='name')),
|
|
('desc', models.TextField(verbose_name='description')),
|
|
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_hotel_meals', to='tickets.ticketsmodel', verbose_name='ticket')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsHotelMealsModel',
|
|
'verbose_name_plural': 'TicketsHotelMealsModel',
|
|
'db_table': 'tickets_hotel_meals',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsCommentsModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('text', models.TextField(verbose_name='text')),
|
|
('rating', models.FloatField(verbose_name='rating')),
|
|
('created', models.DateTimeField(auto_now_add=True, verbose_name='created')),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='user')),
|
|
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_comments', to='tickets.ticketsmodel', verbose_name='ticket')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsCommentsModel',
|
|
'verbose_name_plural': 'TicketsCommentsModel',
|
|
'db_table': 'tickets_comments',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketsAmenitiesModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('name', models.CharField(max_length=255, verbose_name='name')),
|
|
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_amenities', to='tickets.ticketsmodel', verbose_name='ticket')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketsAmenitiesModel',
|
|
'verbose_name_plural': 'TicketsAmenitiesModel',
|
|
'db_table': 'tickets_amenities',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TicketorderModel',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('departure', models.CharField(max_length=255, verbose_name='departure')),
|
|
('destination', models.CharField(max_length=255, verbose_name='destination')),
|
|
('departure_date', models.DateField(verbose_name='departure date')),
|
|
('arrival_time', models.DateField(verbose_name='arrival time')),
|
|
('tariff', models.CharField(max_length=255, verbose_name='tariff')),
|
|
('transport', models.CharField(max_length=255, verbose_name='transport')),
|
|
('order_status', models.CharField(choices=[('pending_payment', 'Pending Payment'), ('pending_confirmation', 'Pending Confirmation'), ('cancelled', 'Cancelled'), ('confirmed', 'Confirmed'), ('completed', 'Completed')], default='pending_payment', max_length=255, verbose_name='order status')),
|
|
('total_price', models.BigIntegerField(verbose_name='total price')),
|
|
('extra_paid_service', models.ManyToManyField(to='tickets.paidservicesmodel', verbose_name='extra paid services')),
|
|
('extra_service', models.ManyToManyField(to='tickets.extraservicesmodel', verbose_name='extra services')),
|
|
('participant', models.ManyToManyField(blank=True, null=True, to='accounts.participantmodel', verbose_name='participant')),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='user')),
|
|
('ticket', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='tickets.ticketsmodel', verbose_name='ticket')),
|
|
],
|
|
options={
|
|
'verbose_name': 'TicketorderModel',
|
|
'verbose_name_plural': 'TicketorderModels',
|
|
'db_table': 'ticketorder',
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name='paidservicesmodel',
|
|
name='ticket',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_extra_paid_service', to='tickets.ticketsmodel', verbose_name='ticket'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='hotelmodel',
|
|
name='ticket',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_hotel', to='tickets.ticketsmodel', verbose_name='ticket'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='extraservicesmodel',
|
|
name='ticket',
|
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='ticket_extra_service', to='tickets.ticketsmodel', verbose_name='ticket'),
|
|
),
|
|
]
|