# Generated by Django 6.0.3 on 2026-03-29 15:00

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('people', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='Route',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('route_name', models.CharField(max_length=100)),
                ('start_location', models.CharField(max_length=150)),
                ('destination', models.CharField(max_length=150)),
                ('distance_km', models.DecimalField(blank=True, decimal_places=2, max_digits=6, null=True)),
            ],
        ),
        migrations.CreateModel(
            name='TransportType',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50, unique=True)),
            ],
        ),
        migrations.CreateModel(
            name='Stop',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('stop_name', models.CharField(max_length=100)),
                ('stop_order', models.PositiveIntegerField()),
                ('arrival_time', models.TimeField(blank=True, null=True)),
                ('route', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='stops', to='transport.route')),
            ],
            options={
                'ordering': ['stop_order'],
                'unique_together': {('route', 'stop_order')},
            },
        ),
        migrations.CreateModel(
            name='TransportVehicle',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('vehicle_number', models.CharField(max_length=50, unique=True)),
                ('bus_number', models.CharField(max_length=20, unique=True)),
                ('driver_name', models.CharField(max_length=100)),
                ('driver_phone', models.CharField(max_length=15)),
                ('capacity', models.PositiveIntegerField()),
                ('transport_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='transport.transporttype')),
            ],
        ),
        migrations.CreateModel(
            name='TeacherTransport',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('pickup_point', models.CharField(blank=True, max_length=150, null=True)),
                ('is_active', models.BooleanField(default=True)),
                ('route', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='transport.route')),
                ('stop', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='transport.stop')),
                ('teacher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='people.teacher')),
                ('vehicle', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='transport.transportvehicle')),
            ],
        ),
        migrations.CreateModel(
            name='StudentTransport',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('pickup_point', models.CharField(blank=True, max_length=150, null=True)),
                ('fee_amount', models.DecimalField(decimal_places=2, default=0, max_digits=8)),
                ('is_active', models.BooleanField(default=True)),
                ('route', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='transport.route')),
                ('stop', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='transport.stop')),
                ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='people.student')),
                ('vehicle', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='transport.transportvehicle')),
            ],
        ),
        migrations.AddField(
            model_name='route',
            name='vehicle',
            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='transport.transportvehicle'),
        ),
    ]
