# Generated by Django 5.2.4 on 2026-07-17 16:50

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('api', '0065_esstaff_tt_id_is_invigilator_esinvigilator_staff'),
    ]

    operations = [
        migrations.CreateModel(
            name='TtActivity',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=255)),
                ('desc', models.TextField(null=True)),
                ('activity_template_id', models.BigIntegerField(null=True)),
                ('activity_type_id', models.BigIntegerField(null=True)),
                ('department_id', models.BigIntegerField(null=True)),
                ('zone_id', models.BigIntegerField(null=True)),
                ('module_id', models.BigIntegerField(null=True)),
                ('academic_term_id', models.BigIntegerField(null=True)),
                ('duration', models.IntegerField(db_comment='in minute', null=True)),
                ('slot_required', models.IntegerField(null=True)),
                ('planned_size', models.IntegerField(null=True)),
                ('real_size', models.IntegerField(null=True)),
                ('scheduled_start_time', models.TimeField(null=True)),
                ('scheduled_day', models.SmallIntegerField(db_comment='0 - Monday, 6 - Sunday', null=True)),
                ('scheduled_start_slot', models.IntegerField(null=True)),
                ('scheduled', models.IntegerField(default=0, null=True)),
                ('week_pattern_id', models.BigIntegerField(null=True)),
                ('is_jta', models.IntegerField(default=0, null=True)),
                ('jta_parent_id', models.BigIntegerField(null=True)),
                ('is_variant', models.IntegerField(default=0, null=True)),
                ('variant_parent_id', models.BigIntegerField(null=True)),
                ('status', models.SmallIntegerField()),
            ],
            options={
                'db_table': 'tt_activity',
            },
        ),
        migrations.CreateModel(
            name='TtActivityTemplate',
            fields=[
                ('id', models.BigAutoField(primary_key=True, serialize=False)),
                ('code', models.CharField(max_length=150)),
                ('name', models.CharField(max_length=255)),
                ('desc', models.TextField(null=True)),
                ('duration', models.IntegerField(db_comment='in minute', null=True)),
                ('slot_required', models.IntegerField(null=True)),
                ('planned_size', models.IntegerField(null=True)),
                ('activity_type_id', models.BigIntegerField(null=True)),
                ('department_id', models.BigIntegerField(null=True)),
                ('zone_id', models.BigIntegerField(null=True)),
                ('module_id', models.BigIntegerField(null=True)),
                ('academic_term_id', models.BigIntegerField(null=True)),
                ('week_pattern_id', models.BigIntegerField(null=True)),
                ('status', models.SmallIntegerField()),
            ],
            options={
                'db_table': 'tt_activity_template',
            },
        ),
        migrations.CreateModel(
            name='TtActivityWeek',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttactivity')),
                ('week', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttweek')),
            ],
            options={
                'db_table': 'tt_activity_week',
                'unique_together': {('activity', 'week')},
            },
        ),
        migrations.AddField(
            model_name='ttactivity',
            name='week',
            field=models.ManyToManyField(through='api.TtActivityWeek', to='api.ttweek'),
        ),
        migrations.CreateModel(
            name='TtActivityLocation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('location_tt_id', models.BigIntegerField(db_comment='Timetabler location id')),
                ('activity', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='api.ttactivity')),
            ],
            options={
                'db_table': 'tt_activity_location',
                'unique_together': {('activity', 'location_tt_id')},
            },
        ),
    ]
