# Generated by Django 5.2.17 on 2026-09-27 05:16

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('seekers', '0006_seekerprofile_job_category'),
    ]

    operations = [
        migrations.AddField(
            model_name='seekerprofile',
            name='allow_cv_access',
            field=models.BooleanField(default=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='authorised_countries',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='availability_timeline',
            field=models.CharField(blank=True, choices=[('now', 'Immediately'), ('1w', 'Within 1 week'), ('2w', 'Within 2 weeks'), ('1m', 'Within 1 month'), ('2m', 'Within 2 months'), ('3m+', 'More than 3 months'), ('date', 'Available from a specific date')], max_length=10),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='available_from',
            field=models.DateField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='confirm_accuracy',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='consent_contact',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='consent_matching',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='consent_present',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='contact_employers',
            field=models.BooleanField(default=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='contact_team',
            field=models.BooleanField(default=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='country',
            field=models.CharField(blank=True, default='Zambia', max_length=80),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='current_employer',
            field=models.CharField(blank=True, max_length=150),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='current_job_title',
            field=models.CharField(blank=True, max_length=120),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='employment_types',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='github_url',
            field=models.URLField(blank=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='industry',
            field=models.CharField(blank=True, max_length=100),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='linkedin_url',
            field=models.URLField(blank=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='other_link_url',
            field=models.URLField(blank=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='portfolio_url',
            field=models.URLField(blank=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='preferred_categories',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='preferred_industries',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='preferred_locations',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='products_experience',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='professional_status',
            field=models.CharField(blank=True, choices=[('employed', 'Employed'), ('self_employed', 'Self-Employed'), ('unemployed', 'Unemployed'), ('student', 'Student'), ('graduate', 'Recent Graduate'), ('freelancer', 'Freelancer'), ('consultant', 'Consultant'), ('other', 'Other')], max_length=20),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='relocation_locations',
            field=models.CharField(blank=True, max_length=255),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='salary_currency',
            field=models.CharField(default='ZMW', max_length=5),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='salary_negotiable',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='salary_private',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='show_photo',
            field=models.BooleanField(default=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='sub_industry',
            field=models.CharField(blank=True, max_length=100),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='target_titles',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='visibility',
            field=models.CharField(choices=[('public', 'Public'), ('recruiters', 'Employers & Recruiters Only'), ('private', 'Private')], default='recruiters', max_length=12),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='website_url',
            field=models.URLField(blank=True),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='willing_to_relocate',
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='work_arrangements',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.AddField(
            model_name='seekerprofile',
            name='work_authorisation',
            field=models.TextField(blank=True, help_text='One per line'),
        ),
        migrations.CreateModel(
            name='Achievement',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('position', models.PositiveIntegerField(default=0)),
                ('title', models.CharField(max_length=150)),
                ('organisation', models.CharField(blank=True, max_length=150)),
                ('year', models.PositiveSmallIntegerField(blank=True, null=True)),
                ('description', models.TextField(blank=True)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='achievements', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['-year', '-id'],
            },
        ),
        migrations.CreateModel(
            name='Certification',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('position', models.PositiveIntegerField(default=0)),
                ('name', models.CharField(max_length=150)),
                ('issuer', models.CharField(blank=True, max_length=150)),
                ('date_obtained', models.DateField(blank=True, null=True)),
                ('expiry_date', models.DateField(blank=True, null=True)),
                ('credential_number', models.CharField(blank=True, max_length=100)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='certifications', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['-date_obtained', '-id'],
            },
        ),
        migrations.CreateModel(
            name='Education',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('position', models.PositiveIntegerField(default=0)),
                ('institution', models.CharField(max_length=150)),
                ('qualification', models.CharField(max_length=150)),
                ('field_of_study', models.CharField(blank=True, max_length=150)),
                ('level', models.CharField(blank=True, choices=[('secondary', 'Secondary School'), ('certificate', 'Certificate'), ('diploma', 'Diploma'), ('bachelor', "Bachelor's Degree"), ('master', "Master's Degree"), ('doctorate', 'Doctorate'), ('professional', 'Professional Qualification'), ('other', 'Other')], max_length=15)),
                ('start_year', models.PositiveSmallIntegerField(blank=True, null=True)),
                ('end_year', models.PositiveSmallIntegerField(blank=True, null=True)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='education_items', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['-end_year', '-start_year', '-id'],
            },
        ),
        migrations.CreateModel(
            name='Membership',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('position', models.PositiveIntegerField(default=0)),
                ('organisation', models.CharField(max_length=150)),
                ('membership_type', models.CharField(blank=True, max_length=100)),
                ('membership_number', models.CharField(blank=True, max_length=60)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='memberships', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['position', '-id'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='ProfessionalReference',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=120)),
                ('position', models.CharField(blank=True, max_length=120)),
                ('organisation', models.CharField(blank=True, max_length=150)),
                ('relationship', models.CharField(blank=True, max_length=120)),
                ('email', models.EmailField(blank=True, max_length=254)),
                ('phone', models.CharField(blank=True, max_length=30)),
                ('authorise_contact', models.BooleanField(default=False)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='references', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['position', '-id'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Project',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('position', models.PositiveIntegerField(default=0)),
                ('name', models.CharField(max_length=150)),
                ('role', models.CharField(blank=True, max_length=120)),
                ('organisation', models.CharField(blank=True, max_length=150)),
                ('date', models.CharField(blank=True, max_length=40)),
                ('description', models.TextField(blank=True)),
                ('link', models.URLField(blank=True)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['position', '-id'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='SpokenLanguage',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('position', models.PositiveIntegerField(default=0)),
                ('language', models.CharField(max_length=60)),
                ('proficiency', models.CharField(choices=[('basic', 'Basic'), ('conversational', 'Conversational'), ('professional', 'Professional'), ('fluent', 'Fluent'), ('native', 'Native')], max_length=15)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='languages', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['id'],
            },
        ),
        migrations.CreateModel(
            name='VolunteerExperience',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('position', models.PositiveIntegerField(default=0)),
                ('organisation', models.CharField(max_length=150)),
                ('role', models.CharField(blank=True, max_length=120)),
                ('start_date', models.CharField(blank=True, max_length=40)),
                ('end_date', models.CharField(blank=True, max_length=40)),
                ('description', models.TextField(blank=True)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='volunteering', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['position', '-id'],
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='WorkExperience',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('position', models.PositiveIntegerField(default=0)),
                ('company', models.CharField(max_length=150)),
                ('title', models.CharField(max_length=150)),
                ('job_category', models.CharField(blank=True, max_length=100)),
                ('industry', models.CharField(blank=True, max_length=100)),
                ('sub_industry', models.CharField(blank=True, max_length=100)),
                ('employment_type', models.CharField(blank=True, choices=[('full', 'Full-Time'), ('part', 'Part-Time'), ('contract', 'Contract'), ('temporary', 'Temporary'), ('internship', 'Internship'), ('freelance', 'Freelance'), ('consultancy', 'Consultancy')], max_length=15)),
                ('location', models.CharField(blank=True, max_length=120)),
                ('start_month', models.PositiveSmallIntegerField(blank=True, null=True)),
                ('start_year', models.PositiveSmallIntegerField(blank=True, null=True)),
                ('is_current', models.BooleanField(default=False)),
                ('end_month', models.PositiveSmallIntegerField(blank=True, null=True)),
                ('end_year', models.PositiveSmallIntegerField(blank=True, null=True)),
                ('responsibilities', models.TextField(blank=True)),
                ('achievements', models.TextField(blank=True)),
                ('seeker', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='experiences', to='seekers.seekerprofile')),
            ],
            options={
                'ordering': ['-is_current', '-start_year', '-start_month', '-id'],
            },
        ),
    ]
