# Generated by Django 2.2.5 on 2019-09-23 20:11

import django.contrib.gis.db.models.fields
from django.db import migrations, models
import django.db.models.deletion
import taggit.managers


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('taggit', '0003_taggeditem_add_unique_index'),
    ]

    operations = [
        migrations.CreateModel(
            name='Building',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('street', models.CharField(blank=True, max_length=256, null=True, verbose_name='Street')),
                ('house_number', models.CharField(blank=True, max_length=10, null=True, verbose_name='Building or house number')),
                ('postal_code', models.CharField(blank=True, max_length=8, null=True, verbose_name='Postal code')),
                ('municipality', models.CharField(blank=True, max_length=256, null=True, verbose_name='Municipality')),
                ('city', models.CharField(blank=True, max_length=256, null=True, verbose_name='City')),
                ('country', models.CharField(blank=True, max_length=256, null=True, verbose_name='Country')),
                ('name', models.CharField(blank=True, max_length=256, null=True, verbose_name='Name')),
                ('description', models.TextField(blank=True, help_text='Brief description', null=True, verbose_name='Description')),
                ('phone', models.CharField(blank=True, max_length=32, null=True, verbose_name='Phone')),
                ('email', models.EmailField(blank=True, max_length=256, null=True, verbose_name='Email')),
                ('website', models.URLField(blank=True, max_length=256, null=True, verbose_name='Website')),
                ('geom', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, spatial_index=False, srid=3857, verbose_name='Building centroid for small scale maps')),
                ('building_name', models.CharField(blank=True, max_length=128, null=True, verbose_name='Building name')),
                ('building_height', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='Building height in meters')),
                ('fancy_name', models.CharField(blank=True, max_length=256, null=True, verbose_name='Fancy building name')),
                ('num_floors', models.IntegerField(default=0, verbose_name='Number of floors')),
                ('facility_number', models.IntegerField(blank=True, null=True, verbose_name='Unique facility number')),
                ('operation_hrs', models.CharField(blank=True, max_length=60, null=True, verbose_name='Operational hours')),
                ('native_epsg', models.IntegerField(blank=True, null=True, verbose_name='EPSG code original data')),
                ('detail_description', models.CharField(blank=True, max_length=256, null=True, verbose_name='Building description')),
                ('wings', models.CharField(blank=True, max_length=800, null=True, verbose_name='Wing')),
            ],
            options={
                'ordering': ['name'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BuildingFloor',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('short_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='short name eg first floor')),
                ('long_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='long name')),
                ('special_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='special name')),
                ('vertical_order', models.IntegerField(blank=True, null=True, verbose_name='Floor order value')),
                ('base_elevation', models.IntegerField(blank=True, null=True, verbose_name='Elevation value of floor in meters')),
                ('floor_num', models.FloatField(blank=True, null=True, verbose_name='floor number')),
                ('floor_height', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True, verbose_name='height of floor')),
                ('geom', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=3857)),
                ('fk_building', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='buildings.Building')),
            ],
            options={
                'ordering': ['floor_num'],
            },
        ),
        migrations.CreateModel(
            name='LtAccessType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(blank=True, max_length=150, null=True, verbose_name='code value')),
                ('name', models.CharField(blank=True, max_length=256, null=True, verbose_name='name value')),
            ],
            options={
                'ordering': ['code'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='LtCondition',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(blank=True, max_length=150, null=True, verbose_name='code value')),
                ('name', models.CharField(blank=True, max_length=256, null=True, verbose_name='name value')),
            ],
            options={
                'ordering': ['code'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='LtPlanLineType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(blank=True, max_length=150, null=True, verbose_name='code value')),
                ('name', models.CharField(blank=True, max_length=256, null=True, verbose_name='name value')),
            ],
            options={
                'ordering': ['code'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='LtSpaceType',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('code', models.CharField(blank=True, max_length=150, null=True, verbose_name='code value')),
                ('name', models.CharField(blank=True, max_length=256, null=True, verbose_name='name value')),
            ],
            options={
                'ordering': ['code'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Organization',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('street', models.CharField(blank=True, max_length=256, null=True, verbose_name='Street')),
                ('house_number', models.CharField(blank=True, max_length=10, null=True, verbose_name='Building or house number')),
                ('postal_code', models.CharField(blank=True, max_length=8, null=True, verbose_name='Postal code')),
                ('municipality', models.CharField(blank=True, max_length=256, null=True, verbose_name='Municipality')),
                ('city', models.CharField(blank=True, max_length=256, null=True, verbose_name='City')),
                ('country', models.CharField(blank=True, max_length=256, null=True, verbose_name='Country')),
                ('name', models.CharField(blank=True, max_length=256, null=True, verbose_name='Name')),
                ('description', models.TextField(blank=True, help_text='Brief description', null=True, verbose_name='Description')),
                ('phone', models.CharField(blank=True, max_length=32, null=True, verbose_name='Phone')),
                ('email', models.EmailField(blank=True, max_length=256, null=True, verbose_name='Email')),
                ('website', models.URLField(blank=True, max_length=256, null=True, verbose_name='Website')),
                ('geom', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, spatial_index=False, srid=3857, verbose_name='Building centroid for small scale maps')),
                ('owner', models.CharField(blank=True, max_length=128, null=True, verbose_name='Owner name')),
                ('legal_form', models.CharField(blank=True, max_length=128, null=True, verbose_name='Legal entity form')),
                ('num_buildings', models.IntegerField(blank=True, null=True, verbose_name='Number of buildings')),
            ],
            options={
                'ordering': ['name'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='InteriorFloorSection',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('short_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='short name')),
                ('long_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='long name')),
                ('area', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='gis calculated area')),
                ('perimeter', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='gis calculated perimeter')),
                ('floor_num', models.FloatField(blank=True, null=True, verbose_name='floor number')),
                ('geom', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=3857)),
                ('organization', models.CharField(blank=True, max_length=256, null=True, verbose_name='Organization name e.g Engineering')),
                ('department', models.CharField(blank=True, max_length=256, null=True, verbose_name='Department name e.g Engineering')),
                ('division', models.CharField(blank=True, max_length=256, null=True, verbose_name='Division')),
                ('fk_access_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='buildings.LtAccessType')),
                ('fk_building_floor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='buildings.BuildingFloor')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Campus',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('campus_name', models.CharField(blank=True, max_length=128, null=True, verbose_name='Campus name')),
                ('description', models.CharField(blank=True, max_length=256, null=True, verbose_name='Building description')),
                ('geom', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=3857, verbose_name='Campus area of one or more buildings')),
                ('fk_organization', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='buildings.Organization')),
            ],
        ),
        migrations.CreateModel(
            name='BuildingFloorSpace',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('short_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='short name')),
                ('long_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='long name')),
                ('area', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='gis calculated area')),
                ('perimeter', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='gis calculated perimeter')),
                ('floor_num', models.FloatField(blank=True, null=True, verbose_name='floor number')),
                ('geom', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=3857)),
                ('room_external_id', models.CharField(blank=True, max_length=150, null=True, verbose_name='Room id imported from external system')),
                ('room_number', models.CharField(blank=True, max_length=150, null=True, verbose_name='Room number')),
                ('room_number_sign', models.CharField(blank=True, max_length=150, null=True, verbose_name='Room number on door sign')),
                ('room_description', models.CharField(blank=True, max_length=150, null=True, verbose_name='Room description')),
                ('room_code', models.CharField(blank=True, max_length=150, null=True, verbose_name='Room code')),
                ('capacity', models.IntegerField(blank=True, null=True, verbose_name='Total number of occupants allowed in this space')),
                ('tag', models.TextField(blank=True, null=True, verbose_name='Tag values csv')),
                ('fk_access_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='buildings.LtAccessType')),
                ('fk_building_floor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='buildings.BuildingFloor')),
                ('space_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='buildings.LtSpaceType')),
                ('tags', taggit.managers.TaggableManager(help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='BuildingFloorPlanLine',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('short_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='short name')),
                ('long_name', models.CharField(blank=True, max_length=150, null=True, verbose_name='long name')),
                ('length', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True, verbose_name='gis calculated length')),
                ('floor_num', models.FloatField(blank=True, null=True, verbose_name='floor number')),
                ('floor_name', models.CharField(blank=True, max_length=200, null=True, verbose_name='floor name')),
                ('geom', django.contrib.gis.db.models.fields.MultiLineStringField(blank=True, null=True, srid=3857)),
                ('fk_building_floor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='buildings.BuildingFloor')),
                ('fk_line_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='buildings.LtPlanLineType')),
            ],
        ),
        migrations.AddField(
            model_name='building',
            name='fk_campus',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='buildings', to='buildings.Campus'),
        ),
        migrations.AddField(
            model_name='building',
            name='fk_organization',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='buildings.Organization'),
        ),
    ]
