# Generated by Django 5.0.2 on 2025-09-11 14:14

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


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('tenants', '0001_initial'),
    ]

    operations = [
        migrations.CreateModel(
            name='ContactSubmission',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=255)),
                ('email', models.EmailField(max_length=254)),
                ('message', models.TextField()),
                ('ip_address', models.GenericIPAddressField()),
                ('user_agent', models.TextField()),
                ('is_processed', models.BooleanField(default=False)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
            ],
            options={
                'db_table': 'analytics_contact_submission',
                'ordering': ['-timestamp'],
            },
        ),
        migrations.CreateModel(
            name='VisitorLog',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('ip_address', models.GenericIPAddressField()),
                ('user_agent', models.TextField()),
                ('page_visited', models.CharField(max_length=500)),
                ('referrer', models.CharField(blank=True, max_length=500, null=True)),
                ('session_key', models.CharField(blank=True, max_length=40, null=True)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('is_bot', models.BooleanField(default=False)),
                ('country', models.CharField(blank=True, max_length=100, null=True)),
                ('city', models.CharField(blank=True, max_length=100, null=True)),
            ],
            options={
                'db_table': 'analytics_visitor_log',
                'ordering': ['-timestamp'],
            },
        ),
        migrations.CreateModel(
            name='PageView',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('page_path', models.CharField(max_length=500)),
                ('page_title', models.CharField(blank=True, max_length=255, null=True)),
                ('views_count', models.IntegerField(default=0)),
                ('unique_views', models.IntegerField(default=0)),
                ('last_viewed', models.DateTimeField(auto_now=True)),
                ('date', models.DateField(auto_now_add=True)),
            ],
            options={
                'db_table': 'analytics_page_view',
                'ordering': ['-last_viewed'],
                'unique_together': {('page_path', 'date')},
            },
        ),
        migrations.CreateModel(
            name='SignupAttempt',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('business_name', models.CharField(max_length=255)),
                ('email', models.EmailField(max_length=254)),
                ('phone', models.CharField(max_length=15)),
                ('owner_name', models.CharField(max_length=255)),
                ('ip_address', models.GenericIPAddressField()),
                ('user_agent', models.TextField()),
                ('status', models.CharField(choices=[('success', 'Success'), ('failed', 'Failed'), ('pending', 'Pending')], max_length=20)),
                ('error_message', models.TextField(blank=True, null=True)),
                ('timestamp', models.DateTimeField(auto_now_add=True)),
                ('tenant', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='tenants.tenant')),
            ],
            options={
                'db_table': 'analytics_signup_attempt',
                'ordering': ['-timestamp'],
            },
        ),
    ]
