# Generated by Django 5.2.8 on 2025-12-02 06:10

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('core', '0012_tenant_can_use_sms_reminders'),
    ]

    operations = [
        migrations.AddField(
            model_name='tenant',
            name='payment_mode',
            field=models.CharField(choices=[('none', 'Not Configured'), ('direct_api', 'Direct API Keys (Free Tier)'), ('connect', 'Stripe Connect (Paid Tiers)')], default='none', help_text='How this business accepts payments', max_length=20),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_api_key_account_id',
            field=models.CharField(blank=True, default='', help_text='Stripe Account ID from validated keys', max_length=50),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_api_key_account_name',
            field=models.CharField(blank=True, default='', help_text='Stripe Account name from validated keys', max_length=255),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_api_key_error',
            field=models.TextField(blank=True, default='', help_text='Validation error message if keys are invalid'),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_api_key_status',
            field=models.CharField(blank=True, choices=[('active', 'Active'), ('invalid', 'Invalid'), ('deprecated', 'Deprecated')], default='active', help_text='Status of stored API keys', max_length=20),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_api_key_validated_at',
            field=models.DateTimeField(blank=True, help_text='When the API keys were last validated', null=True),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_charges_enabled',
            field=models.BooleanField(default=False, help_text='Whether Stripe account can accept charges'),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_connect_id',
            field=models.CharField(blank=True, default='', help_text='Stripe Connected Account ID (acct_xxx)', max_length=50),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_connect_status',
            field=models.CharField(choices=[('pending', 'Pending'), ('onboarding', 'Onboarding'), ('active', 'Active'), ('restricted', 'Restricted'), ('rejected', 'Rejected')], default='pending', help_text='Status of Stripe Connect account', max_length=20),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_details_submitted',
            field=models.BooleanField(default=False, help_text='Whether onboarding details have been submitted'),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_onboarding_complete',
            field=models.BooleanField(default=False, help_text='Whether Stripe Connect onboarding is complete'),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_payouts_enabled',
            field=models.BooleanField(default=False, help_text='Whether Stripe account can receive payouts'),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_publishable_key',
            field=models.CharField(blank=True, default='', help_text='Stripe Publishable Key (pk_xxx)', max_length=255),
        ),
        migrations.AddField(
            model_name='tenant',
            name='stripe_secret_key',
            field=models.CharField(blank=True, default='', help_text='Stripe Secret Key (sk_xxx) - Encrypted', max_length=255),
        ),
    ]
