# Generated by Django 6.0.3 on 2026-05-17

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('products', '0012_product_average_rating_product_brand_and_more'),
    ]

    operations = [
        migrations.AddField(
            model_name='product',
            name='allow_part_payment',
            field=models.BooleanField(default=False, help_text='Allow bundle checkout with partial payment mode'),
        ),
        migrations.AddField(
            model_name='product',
            name='part_payment_conversion_product',
            field=models.ForeignKey(blank=True, help_text='Fallback product/service assigned when part payment cooling period elapses', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='part_payment_source_products', to='products.product'),
        ),
        migrations.AddField(
            model_name='product',
            name='part_payment_cooling_days',
            field=models.PositiveIntegerField(default=180, help_text='Cooling period in days before pending part payments are converted'),
        ),
        migrations.AddField(
            model_name='product',
            name='part_payment_percentage',
            field=models.PositiveIntegerField(default=50, help_text='Initial payment percentage when part payment is selected (1-99)'),
        ),
        migrations.AddConstraint(
            model_name='product',
            constraint=models.CheckConstraint(condition=models.Q(part_payment_percentage__gte=1) & models.Q(part_payment_percentage__lte=99), name='products_part_payment_percentage_range'),
        ),
        migrations.AddConstraint(
            model_name='product',
            constraint=models.CheckConstraint(condition=models.Q(part_payment_cooling_days__gte=1), name='products_part_payment_cooling_days_positive'),
        ),
    ]
