sabrebooking / sabrebackend / sabre / sabreapi / migrations / 0001_initial.py
0001_initial.py
Raw
# Generated by Django 4.2.4 on 2023-09-24 20:28

from django.conf import settings
import django.contrib.auth.models
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ("auth", "0012_alter_user_first_name_max_length"),
    ]

    operations = [
        migrations.CreateModel(
            name="Amenity",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100)),
                ("upon_request", models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name="Catering",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "catering_package",
                    models.CharField(
                        choices=[
                            ("gold", "Gold"),
                            ("silver", "Silver"),
                            ("bronze", "Bronze"),
                        ],
                        default="gold",
                        max_length=10,
                    ),
                ),
                (
                    "meal_time",
                    models.CharField(
                        choices=[
                            ("arrival", "Arrival"),
                            ("mid-morning", "Mid-morning"),
                            ("lunch", "Lunch"),
                            ("afternoon", "Afternoon"),
                            ("evening", "Evening"),
                        ],
                        default="lunch",
                        max_length=25,
                    ),
                ),
                ("special_dietary_requirements", models.TextField()),
                ("bar_requirements", models.TextField()),
            ],
        ),
        migrations.CreateModel(
            name="CustomUser",
            fields=[
                (
                    "user_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                ("is_verified", models.BooleanField(default=False)),
                ("phone_number", models.BigIntegerField(blank=True, default=0)),
                ("address", models.CharField(default=None, max_length=300)),
                ("VAT", models.IntegerField(default=None)),
            ],
            options={
                "verbose_name": "user",
                "verbose_name_plural": "users",
                "abstract": False,
            },
            bases=("auth.user",),
            managers=[("objects", django.contrib.auth.models.UserManager()),],
        ),
        migrations.CreateModel(
            name="Equipment",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=80)),
                ("upon_request", models.BooleanField(default=False)),
            ],
        ),
        migrations.CreateModel(
            name="Room",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100)),
                ("is_booked", models.BooleanField(default=False)),
                ("room_type", models.CharField(max_length=100)),
                ("capacity", models.IntegerField()),
                (
                    "amenity",
                    models.ManyToManyField(
                        blank=True, related_name="rooms", to="sabreapi.amenity"
                    ),
                ),
                (
                    "equipment",
                    models.ManyToManyField(
                        default=None, related_name="equipment", to="sabreapi.equipment"
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="RoomFunction",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("function", models.CharField(max_length=256)),
            ],
        ),
        migrations.CreateModel(
            name="Waitlist",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("timestamp", models.DateTimeField(auto_now_add=True)),
                ("event_start", models.TimeField(default=None)),
                ("event_date", models.DateField(default=None)),
                (
                    "room",
                    models.ForeignKey(
                        blank=True,
                        default=None,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="waitlist",
                        to="sabreapi.room",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        blank=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="waitlist",
                        to="sabreapi.customuser",
                    ),
                ),
            ],
        ),
        migrations.AddField(
            model_name="room",
            name="functions",
            field=models.ManyToManyField(
                default=None, related_name="rooms", to="sabreapi.roomfunction"
            ),
        ),
        migrations.CreateModel(
            name="Image",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("image_url", models.URLField()),
                (
                    "room",
                    models.ForeignKey(
                        blank=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="images",
                        to="sabreapi.room",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Booking",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("is_approved", models.BooleanField(default=False)),
                ("is_recurring", models.BooleanField(default=True)),
                ("is_cancelled", models.BooleanField(default=False)),
                (
                    "event_duration",
                    models.CharField(
                        choices=[
                            ("half-day", "Half-Day"),
                            ("full-day", "Full-day"),
                            ("over-a-day", "Many days"),
                        ],
                        default="half-day",
                        max_length=40,
                    ),
                ),
                ("number_of_attendees", models.IntegerField()),
                (
                    "event_leader_name",
                    models.CharField(
                        blank=True, default=None, max_length=200, null=True
                    ),
                ),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("event_start", models.TimeField(default=None)),
                ("event_end", models.TimeField(default=None)),
                ("event_date", models.DateField(default=None)),
                ("event_type", models.CharField(default=None, max_length=200)),
                ("event_name", models.CharField(default="UNKNOWN", max_length=200)),
                (
                    "catering",
                    models.OneToOneField(
                        default=None,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="sabreapi.catering",
                    ),
                ),
                (
                    "room",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="bookings",
                        to="sabreapi.room",
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        blank=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="bookings",
                        to="sabreapi.customuser",
                    ),
                ),
            ],
        ),
    ]