first commit

This commit is contained in:
2025-09-19 15:19:32 +05:00
commit d160410cd9
305 changed files with 9509 additions and 0 deletions

View File

@@ -0,0 +1,298 @@
# 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'),
),
]