# Generated by Django 5.2.3 on 2026-04-28 import django.core.validators import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ("shows", "0001_initial"), ] operations = [ migrations.CreateModel( name="Reservation", 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)), ( "status", models.CharField( choices=[ ("pending", "Pending"), ("confirmed", "Confirmed"), ("cancelled", "Cancelled"), ("expired", "Expired"), ], db_index=True, default="pending", max_length=20, ), ), ("name", models.CharField(max_length=200)), ("email", models.EmailField(db_index=True, max_length=254)), ("phone", models.CharField(blank=True, max_length=40)), ("party_size", models.PositiveIntegerField(validators=[django.core.validators.MinValueValidator(1)])), ("notes", models.TextField(blank=True)), ("confirmed_at", models.DateTimeField(blank=True, null=True)), ("qr_code_generated_at", models.DateTimeField(blank=True, null=True)), ( "performance", models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, related_name="reservations", to="shows.performance", ), ), ], options={ "ordering": ["-created_at"], "indexes": [ models.Index(fields=["performance", "status"], name="bookings_re_perform_730504_idx"), models.Index(fields=["email"], name="bookings_re_email_924b70_idx"), models.Index(fields=["created_at"], name="bookings_re_created_823f26_idx"), ], }, ), migrations.CreateModel( name="ReservationToken", fields=[ ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")), ( "purpose", models.CharField( choices=[("confirmation", "Confirmation"), ("check_in", "Check-in")], db_index=True, max_length=20, ), ), ("token_hash", models.CharField(max_length=64, unique=True)), ("expires_at", models.DateTimeField()), ("used_at", models.DateTimeField(blank=True, null=True)), ("created_at", models.DateTimeField(auto_now_add=True)), ( "reservation", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="tokens", to="bookings.reservation", ), ), ], options={ "ordering": ["-created_at"], "indexes": [ models.Index(fields=["reservation", "purpose"], name="bookings_re_reserva_017db4_idx"), models.Index(fields=["purpose", "expires_at"], name="bookings_re_purpose_36fca5_idx"), models.Index(fields=["used_at"], name="bookings_re_used_at_ae1c4d_idx"), ], }, ), ]