# Generated by Django 5.1.2 on 2025-01-19 10:59

import django.contrib.gis.db.models.fields
import django.db.models.deletion
import geo_location.models
import main.fields
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='City',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(db_index=True, max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, unique=True, verbose_name='Slug')),
                ('code', models.CharField(blank=True, db_index=True, max_length=255, null=True, verbose_name='code')),
                ('similar_name', models.TextField(blank=True, db_index=True, null=True, verbose_name='similar name')),
                ('coordinates', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('translated', models.BooleanField(choices=[(True, 'yes'), (False, 'no')], default=False, verbose_name='translated')),
                ('is_featured', models.BooleanField(choices=[(True, 'yes'), (False, 'no')], default=False, verbose_name='Featured')),
                ('icon', models.FileField(blank=True, null=True, upload_to='cities/icons/', verbose_name='icon')),
                ('data', models.JSONField(blank=True, null=True, verbose_name='data')),
                ('data_check', models.BooleanField(choices=[(True, 'submitted'), (False, 'ignored')], default=False, verbose_name='data check')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'City',
                'verbose_name_plural': 'Cities',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Country',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(db_index=True, max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, unique=True, verbose_name='Slug')),
                ('code', models.CharField(db_index=True, max_length=255, verbose_name='code')),
                ('similar_name', models.TextField(blank=True, db_index=True, null=True, verbose_name='similar name')),
                ('coordinates', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('is_featured', models.BooleanField(choices=[(True, 'yes'), (False, 'no')], default=False, verbose_name='Featured')),
                ('translated', models.BooleanField(choices=[(True, 'yes'), (False, 'no')], default=False, verbose_name='translated')),
                ('icon', models.FileField(blank=True, db_index=True, null=True, upload_to='country/icons/', verbose_name='icon')),
                ('data', models.JSONField(blank=True, null=True, verbose_name='data')),
                ('data_check', models.BooleanField(choices=[(True, 'submitted'), (False, 'ignored')], default=False, verbose_name='data check')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'Country',
                'verbose_name_plural': 'Countries',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='CountryTranslate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(db_index=True, max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('similar_name', models.TextField(blank=True, db_index=True, null=True, verbose_name='similar name')),
                ('description', models.TextField(blank=True, null=True, verbose_name='description')),
                ('filter_text', models.TextField(blank=True, null=True, verbose_name='filter text')),
            ],
            options={
                'verbose_name': 'Country Translate',
                'verbose_name_plural': 'Countries Translates',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Demographic',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('postcode', models.CharField(blank=True, max_length=255, null=True, verbose_name='Postcode')),
                ('postcode_type', models.CharField(blank=True, max_length=255, null=True, verbose_name='Postcode Type')),
                ('deprivation', models.FloatField(blank=True, null=True, verbose_name='Deprivation')),
                ('health', models.FloatField(blank=True, null=True, verbose_name='Health')),
                ('social_grade', models.JSONField(blank=True, null=True, verbose_name='Social Grade')),
                ('age', models.JSONField(blank=True, null=True, verbose_name='Age')),
                ('politics', models.JSONField(blank=True, null=True, verbose_name='Politics')),
                ('proportion_with_degree', models.FloatField(blank=True, null=True, verbose_name='Proportion with Degree')),
                ('vehicles_per_household', models.FloatField(blank=True, null=True, verbose_name='Vehicles per Household')),
                ('commute_method', models.JSONField(blank=True, null=True, verbose_name='Commute Method')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'Demographic',
                'verbose_name_plural': 'Demographic',
                'ordering': ['postcode', '-id'],
            },
        ),
        migrations.CreateModel(
            name='District',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('code', models.CharField(blank=True, max_length=255, null=True, verbose_name='code')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('coordinates', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'District',
                'verbose_name_plural': 'District',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Iso31662',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('code', models.CharField(blank=True, max_length=255, null=True, verbose_name='code')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('type', models.CharField(blank=True, max_length=255, null=True, verbose_name='type')),
                ('coordinates', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('level', models.IntegerField(default=0, verbose_name='level')),
                ('gid', models.CharField(blank=True, max_length=255, null=True, unique=True, verbose_name='gid')),
                ('gid_0', models.CharField(blank=True, max_length=255, null=True, verbose_name='GID 0')),
                ('gid_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='GID 1')),
                ('gid_2', models.CharField(blank=True, max_length=255, null=True, verbose_name='GID 2')),
                ('gid_3', models.CharField(blank=True, max_length=255, null=True, verbose_name='GID 3')),
                ('gid_4', models.CharField(blank=True, max_length=255, null=True, verbose_name='GID 4')),
                ('name_0', models.CharField(blank=True, max_length=255, null=True, verbose_name='name 0')),
                ('name_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='name 1')),
                ('name_2', models.CharField(blank=True, max_length=255, null=True, verbose_name='name 2')),
                ('name_3', models.CharField(blank=True, max_length=255, null=True, verbose_name='name 3')),
                ('name_4', models.CharField(blank=True, max_length=255, null=True, verbose_name='name 4')),
                ('nl_name_0', models.CharField(blank=True, max_length=255, null=True, verbose_name='national name 0')),
                ('nl_name_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='national name 1')),
                ('nl_name_2', models.CharField(blank=True, max_length=255, null=True, verbose_name='national name 2')),
                ('nl_name_3', models.CharField(blank=True, max_length=255, null=True, verbose_name='national name 3')),
                ('nl_name_4', models.CharField(blank=True, max_length=255, null=True, verbose_name='national name 4')),
                ('var_name_0', models.CharField(blank=True, max_length=255, null=True, verbose_name='var_name 0')),
                ('var_name_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='var_name 1')),
                ('var_name_2', models.CharField(blank=True, max_length=255, null=True, verbose_name='var_name 2')),
                ('var_name_3', models.CharField(blank=True, max_length=255, null=True, verbose_name='var_name 3')),
                ('var_name_4', models.CharField(blank=True, max_length=255, null=True, verbose_name='var_name 4')),
                ('type_0', models.CharField(blank=True, max_length=255, null=True, verbose_name='type 0')),
                ('type_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='type 1')),
                ('type_2', models.CharField(blank=True, max_length=255, null=True, verbose_name='type 2')),
                ('type_3', models.CharField(blank=True, max_length=255, null=True, verbose_name='type 3')),
                ('type_4', models.CharField(blank=True, max_length=255, null=True, verbose_name='type 4')),
                ('eng_type_0', models.CharField(blank=True, max_length=255, null=True, verbose_name='english type 0')),
                ('eng_type_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='english type 1')),
                ('eng_type_2', models.CharField(blank=True, max_length=255, null=True, verbose_name='english type 2')),
                ('eng_type_3', models.CharField(blank=True, max_length=255, null=True, verbose_name='english type 3')),
                ('eng_type_4', models.CharField(blank=True, max_length=255, null=True, verbose_name='english type 4')),
                ('cc_0', models.CharField(blank=True, max_length=255, null=True, verbose_name='cc 0')),
                ('cc_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='cc 1')),
                ('cc_2', models.CharField(blank=True, max_length=255, null=True, verbose_name='cc 2')),
                ('cc_3', models.CharField(blank=True, max_length=255, null=True, verbose_name='cc 3')),
                ('cc_4', models.CharField(blank=True, max_length=255, null=True, verbose_name='cc 4')),
                ('hasc_0', models.CharField(blank=True, max_length=255, null=True, verbose_name='hasc 0')),
                ('hasc_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='hasc 1')),
                ('hasc_2', models.CharField(blank=True, max_length=255, null=True, verbose_name='hasc 2')),
                ('hasc_3', models.CharField(blank=True, max_length=255, null=True, verbose_name='hasc 3')),
                ('hasc_4', models.CharField(blank=True, max_length=255, null=True, verbose_name='hasc 4')),
                ('iso_1', models.CharField(blank=True, max_length=255, null=True, verbose_name='iso 1')),
                ('country_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='country name')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'ISO 3166 V2',
                'verbose_name_plural': 'ISO 3166 V2',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Iso31662Translate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('description', models.TextField(blank=True, null=True, verbose_name='description')),
            ],
            options={
                'verbose_name': 'ISO 3166 V2 Translate',
                'verbose_name_plural': 'ISO 3166 V2 Translates',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Iso31662Type',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('code', models.CharField(blank=True, max_length=255, null=True, verbose_name='code')),
                ('level', models.IntegerField(default=0, verbose_name='level')),
            ],
            options={
                'verbose_name': 'Iso31662 Type',
                'verbose_name_plural': 'Iso31662 Types',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Location',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('coordinates', django.contrib.gis.db.models.fields.PointField(srid=4326, verbose_name='coordinates')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('code', models.CharField(blank=True, max_length=255, null=True, verbose_name='code')),
                ('point_type', models.CharField(blank=True, max_length=255, null=True, verbose_name='type')),
                ('point_class', models.CharField(blank=True, max_length=255, null=True, verbose_name='class')),
                ('street', models.CharField(blank=True, max_length=255, null=True, verbose_name='street')),
                ('street_number', models.CharField(blank=True, max_length=255, null=True, verbose_name='street')),
                ('address_type', models.CharField(blank=True, max_length=255, null=True, verbose_name='address type')),
                ('address', models.TextField(blank=True, null=True, verbose_name='address')),
                ('place_id', models.CharField(blank=True, max_length=255, null=True, verbose_name='place id')),
                ('zip_code', models.CharField(blank=True, max_length=255, null=True, verbose_name='zip code')),
                ('rank', models.IntegerField(blank=True, null=True, verbose_name='rank')),
                ('display_name', models.TextField(blank=True, null=True, verbose_name='display name')),
                ('raw', models.JSONField(blank=True, null=True, verbose_name='raw')),
                ('raw_check', models.BooleanField(default=False, verbose_name='raw check')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'Location',
                'verbose_name_plural': 'Locations',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='LocationTranslate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('display_name', models.CharField(blank=True, max_length=255, null=True, verbose_name='display name')),
                ('name', models.CharField(blank=True, max_length=255, null=True, verbose_name='name')),
                ('address', models.TextField(blank=True, null=True, verbose_name='address')),
                ('street', models.CharField(blank=True, max_length=255, null=True, verbose_name='street')),
                ('building', models.CharField(blank=True, max_length=255, null=True, verbose_name='building')),
                ('zip_code', models.CharField(blank=True, max_length=255, null=True, verbose_name='zip code')),
                ('street_number', models.CharField(blank=True, max_length=255, null=True, verbose_name='street number')),
                ('raw', models.JSONField(blank=True, null=True, verbose_name='raw')),
                ('raw_check', models.BooleanField(default=False, verbose_name='raw check')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'Location Translate',
                'verbose_name_plural': 'Location Translates',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='LondonArea',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('code', models.CharField(blank=True, max_length=255, null=True, verbose_name='code')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('coordinates', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'London Area',
                'verbose_name_plural': 'London Areas',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='LondonZipState',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('code', models.CharField(blank=True, max_length=255, null=True, verbose_name='code')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('coordinates', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'London Zip State',
                'verbose_name_plural': 'London Zip States',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='LondonZone',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('code', models.CharField(blank=True, max_length=255, null=True, verbose_name='code')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('coordinates', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'London Zone',
                'verbose_name_plural': 'London Zones',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='PostCode',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('out_code', models.CharField(blank=True, max_length=255, null=True, verbose_name='Out code')),
                ('avg_price', models.FloatField(blank=True, null=True, verbose_name='Average Price')),
                ('avg_price_psf', models.FloatField(blank=True, null=True, verbose_name='Average Price per Square Foot')),
                ('avg_rent', models.FloatField(blank=True, null=True, verbose_name='Average Rent')),
                ('avg_yield', models.FloatField(blank=True, null=True, verbose_name='Average Yield')),
                ('growth_1y', models.FloatField(blank=True, null=True, verbose_name='Growth 1 Year')),
                ('growth_3y', models.FloatField(blank=True, null=True, verbose_name='Growth 3 Year')),
                ('growth_5y', models.FloatField(blank=True, null=True, verbose_name='Growth 5 Year')),
                ('sales_per_month', models.IntegerField(blank=True, null=True, verbose_name='Sales per Month')),
                ('turnover', models.IntegerField(blank=True, null=True, verbose_name='Turnover')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
        ),
        migrations.CreateModel(
            name='PriceGrowth',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('date', models.DateField(blank=True, null=True, verbose_name='Date')),
                ('postcode', models.CharField(blank=True, max_length=255, null=True, verbose_name='Postcode')),
                ('postcode_type', models.CharField(blank=True, max_length=255, null=True, verbose_name='Postcode Type')),
                ('price', models.FloatField(blank=True, null=True, verbose_name='Price')),
                ('price_change', models.FloatField(blank=True, null=True, verbose_name='Price Change')),
                ('change_percent', models.FloatField(blank=True, null=True, verbose_name='Change Percent')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'Price Growth',
                'verbose_name_plural': 'Price Growth',
                'ordering': ['postcode', 'date', '-id'],
            },
        ),
        migrations.CreateModel(
            name='PropertyDataRaw',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('type', models.SmallIntegerField(choices=[(0, 'growth'), (1, 'price'), (2, 'postcode'), (3, 'demographics')], default=0, verbose_name='Type')),
                ('data', models.JSONField(blank=True, null=True, verbose_name='Data')),
                ('checked', models.BooleanField(default=False, verbose_name='Checked')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
        ),
        migrations.CreateModel(
            name='PublicFacility',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=500, null=True, verbose_name='Name')),
                ('slug', models.SlugField(blank=True, max_length=500, null=True, verbose_name='Slug')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('is_active', models.BooleanField(default=False, verbose_name='active')),
                ('coordinates', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('rank', models.PositiveSmallIntegerField(default=10, verbose_name='Rank')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'Public Facility',
                'verbose_name_plural': 'Public Facilities',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='PublicFacilityType',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=500, verbose_name='Name')),
                ('slug', models.SlugField(blank=True, max_length=500, null=True, unique=True, verbose_name='Slug')),
                ('icon', models.FileField(blank=True, null=True, upload_to='icons/', verbose_name='Icon')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'Public Facility type',
                'verbose_name_plural': 'Public Facilities Types',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='PublicFacilityTypeTranslate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(blank=True, max_length=500, null=True, verbose_name='Name')),
                ('slug', models.SlugField(blank=True, max_length=500, null=True, verbose_name='Slug')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'Public Facility type Translate',
                'verbose_name_plural': 'Public Facilities Types Translates',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='Region',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='Name')),
                ('slug', models.SlugField(max_length=255, unique=True, verbose_name='Slug')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
        ),
        migrations.CreateModel(
            name='State',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, unique=True, verbose_name='Slug')),
                ('code', models.CharField(max_length=255, verbose_name='code')),
                ('coordinates', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='coordinates')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('translated', models.BooleanField(choices=[(True, 'yes'), (False, 'no')], default=False, verbose_name='translated')),
                ('is_featured', models.BooleanField(choices=[(True, 'yes'), (False, 'no')], default=False, verbose_name='Featured')),
                ('icon', models.FileField(blank=True, null=True, upload_to='state/icons/', verbose_name='icon')),
                ('data', models.JSONField(blank=True, null=True, verbose_name='data')),
                ('data_check', models.BooleanField(choices=[(True, 'submitted'), (False, 'ignored')], default=False, verbose_name='data check')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
            options={
                'verbose_name': 'State',
                'verbose_name_plural': 'States',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='StateTranslate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('description', models.TextField(blank=True, null=True, verbose_name='description')),
                ('filter_text', models.TextField(blank=True, null=True, verbose_name='filter text')),
            ],
            options={
                'verbose_name': 'State Translate',
                'verbose_name_plural': 'States Translates',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='StreetView',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('image', main.fields.WEBPField(blank=True, null=True, upload_to=geo_location.models.image_street_view_folder, verbose_name='Image')),
                ('panorama_id', models.CharField(blank=True, max_length=50, null=True, unique=True, verbose_name='Panorama ID')),
                ('lat', models.FloatField(blank=True, null=True, verbose_name='Latitude')),
                ('lon', models.FloatField(blank=True, null=True, verbose_name='Longitude')),
                ('heading', models.FloatField(blank=True, null=True, verbose_name='Heading')),
                ('pitch', models.FloatField(blank=True, null=True, verbose_name='Pitch')),
                ('roll', models.FloatField(blank=True, null=True, verbose_name='Roll')),
                ('date', models.CharField(blank=True, max_length=50, null=True, verbose_name='Date of image')),
                ('elevation', models.FloatField(blank=True, null=True, verbose_name='Elevation')),
                ('image_downloaded', models.BooleanField(default=False, verbose_name='Image downloaded')),
                ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='created at')),
                ('updated_at', models.DateTimeField(auto_now=True, verbose_name='updated at')),
            ],
        ),
        migrations.CreateModel(
            name='CityTranslate',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(db_index=True, max_length=255, verbose_name='name')),
                ('slug', models.SlugField(blank=True, max_length=250, null=True, verbose_name='Slug')),
                ('similar_name', models.TextField(blank=True, null=True, verbose_name='similar name')),
                ('description', models.TextField(blank=True, null=True, verbose_name='description')),
                ('filter_text', models.TextField(blank=True, null=True, verbose_name='filter text')),
                ('city', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='geo_location.city', verbose_name='city')),
            ],
            options={
                'verbose_name': 'City Translate',
                'verbose_name_plural': 'Cities Translates',
                'ordering': ['name'],
            },
        ),
    ]
