# Generated by Django 5.1.4 on 2025-01-03 10:56

import django.db.models.deletion
import django.utils.timezone
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('human_resource', '0001_initial'),
        ('procurement', '0001_initial'),
        ('system_administration', '0001_initial'),
        ('warehouse_management', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='CommissionSheet',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('commission_sheet_title', models.CharField(default='', max_length=100)),
                ('commission_sheet_number', models.CharField(max_length=50, unique=True)),
                ('commission_sheet_description', models.CharField(default='', max_length=500)),
                ('commission_sheet_for_the_month_of', models.CharField(choices=[('january', 'January'), ('february', 'February'), ('march', 'March'), ('april', 'April'), ('may', 'May'), ('june', 'June'), ('july', 'July'), ('august', 'August'), ('september', 'September'), ('october', 'October'), ('november', 'November'), ('december', 'December'), ('not_selected', 'Not Selected')], default='not_selected', max_length=100)),
                ('commission_sheet_for_the_year', models.CharField(default='2024', max_length=15)),
                ('commission_sheet_value', models.CharField(default='0.00', max_length=15)),
                ('commission_sheet_approved_by_finance', models.BooleanField(default=False)),
                ('commission_sheet_payment_settled', models.BooleanField(default=False)),
                ('recycle_bin', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
                ('company_branch', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='branch_commission_sheets', to='system_administration.companybranch')),
                ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='commission_sheets_created_by', to='human_resource.staffprofile')),
                ('last_updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='commission_sheets_last_updated_by', to='human_resource.staffprofile')),
            ],
        ),
        migrations.CreateModel(
            name='CustomerOrder',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('customer_order_number', models.CharField(default='', max_length=50, unique=True)),
                ('customer_order_type', models.CharField(choices=[('order_online', 'Order Online'), ('order_offline', 'Order Offline'), ('not_selected', 'Not Selected')], default='not_selected', max_length=20)),
                ('customer_order_description', models.CharField(blank=True, default='', max_length=500)),
                ('customer_order_total_gross_value', models.CharField(default='0.00', max_length=50)),
                ('customer_order_total_discount', models.CharField(default='0.00', max_length=50)),
                ('customer_order_total_net_value', models.CharField(default='0.00', max_length=50)),
                ('customer_order_total_amount_paid', models.CharField(default='0.00', max_length=50)),
                ('customer_order_approved', models.BooleanField(default=False)),
                ('customer_order_fulfilled_for_transit', models.BooleanField(default=False)),
                ('customer_ordered_delivered_to_destination', models.BooleanField(default=False)),
                ('customer_order_picked_by_customer', models.BooleanField(default=False)),
                ('customer_order_cancelled_by_customer', models.BooleanField(default=False)),
                ('customer_order_cancelled_by_sales_team', models.BooleanField(default=False)),
                ('recycle_bin', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('expected_delivery_date', models.DateField()),
                ('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
                ('company_branch', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='branch_customer_orders', to='system_administration.companybranch')),
                ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='customer_offline_order_created_by', to='human_resource.staffprofile')),
                ('last_updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='customer_offline_order_last_updated_by', to='human_resource.staffprofile')),
                ('sales_person', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='customer_offline_sales_representative', to='human_resource.staffprofile')),
            ],
        ),
        migrations.CreateModel(
            name='CommissionSheetInstance',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('commission_value', models.CharField(default='0.00', max_length=12)),
                ('commission_sheet', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='commission_items', to='sales_and_marketing.commissionsheet')),
                ('staff_payroll_instance', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='staff_payroll_instance_commissions', to='human_resource.staffpayrollinstance')),
                ('customer_order', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_order_commissions', to='sales_and_marketing.customerorder')),
            ],
        ),
        migrations.CreateModel(
            name='CustomerOrderItem',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('quantity', models.CharField(default='0', max_length=15)),
                ('price_per_item', models.CharField(default='0.00', max_length=50)),
                ('discount_per_item', models.CharField(default='0.00', max_length=50)),
                ('gross_subtotal', models.CharField(default='0.00', max_length=50)),
                ('total_discount', models.CharField(default='0.00', max_length=50)),
                ('net_subtotal', models.CharField(default='0.00', max_length=50)),
                ('sales_item_order_fulfilled', models.BooleanField(default=False)),
                ('customer_order', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_order_items', to='sales_and_marketing.customerorder')),
                ('product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_order_products', to='warehouse_management.product')),
            ],
        ),
        migrations.CreateModel(
            name='CustomerProfile',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('customer_first_name', models.CharField(default='', max_length=20)),
                ('customer_last_name', models.CharField(default='', max_length=20)),
                ('company_name', models.CharField(blank=True, default='', max_length=100)),
                ('customer_type', models.CharField(choices=[('engineering_procurement_contractor', 'Engineering Procurement Contractor'), ('technician', 'Technician'), ('reseller', 'Reseller'), ('financier', 'Financier'), ('end_user', 'End User'), ('not_selected', 'Not Selected')], default='not_selected', max_length=50)),
                ('email_address', models.EmailField(default='', max_length=50)),
                ('phone_number', models.CharField(default='', max_length=25)),
                ('customer_title', models.CharField(choices=[('mr', 'Mr.'), ('mrs', 'Mrs.'), ('miss', 'Miss'), ('other', 'Other'), ('not_selected', 'Not Selected')], default='not_selected', max_length=20)),
                ('is_profile_set', models.BooleanField(default=False)),
                ('recycle_bin', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('kra_pin', models.CharField(blank=True, default='', max_length=20)),
                ('certificate_of_registration_number', models.CharField(blank=True, default='', max_length=25)),
                ('company_profile', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='company_customers', to='system_administration.companyprofile')),
                ('user', models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='user_customer_profile', to=settings.AUTH_USER_MODEL)),
            ],
            options={
                'verbose_name': 'Customer Profile',
                'verbose_name_plural': 'Customer Profiles',
            },
        ),
        migrations.AddField(
            model_name='customerorder',
            name='customer_profile',
            field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='customer_order_history', to='sales_and_marketing.customerprofile'),
        ),
        migrations.CreateModel(
            name='CustomerDocs',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('document_type', models.CharField(choices=[('pin_certificate', 'PIN Certificate'), ('certificate_of_registration', 'Certificate of Registration'), ('not_selected', 'Not Selected')], default='not_selected', max_length=100)),
                ('saved_document_path', models.CharField(blank=True, default='not_selected', max_length=100)),
                ('customer_profile', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_documents', to='sales_and_marketing.customerprofile')),
            ],
        ),
        migrations.CreateModel(
            name='CustomerShippingAddress',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('shipping_address', models.CharField(default='', max_length=100)),
                ('pick_up_point', models.CharField(default='', max_length=100)),
                ('shipping_town', models.CharField(default='', max_length=50)),
                ('customer_profile', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_shipping_address', to='sales_and_marketing.customerprofile')),
            ],
        ),
        migrations.CreateModel(
            name='LandedCost',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name_of_expense', models.CharField(blank=True, default='', max_length=50)),
                ('description_of_calculation', models.CharField(blank=True, default='', max_length=50)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('recycle_bin', models.BooleanField(default=False)),
                ('company_profile', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='company_landed_costs', to='system_administration.companyprofile')),
                ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='landed_costs_created_by_staff', to='human_resource.staffprofile')),
                ('last_updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='landed_costs_last_updated_by_staff', to='human_resource.staffprofile')),
            ],
        ),
        migrations.CreateModel(
            name='LandedCostInstance',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('cost_value', models.CharField(blank=True, default='0.00', max_length=12)),
                ('cost_currency', models.CharField(choices=[('usd', 'USD'), ('gbp', 'GBP'), ('eur', 'EUR'), ('kes', 'KES'), ('not_selected', 'Not Selected')], default='kes', max_length=30)),
                ('exchange_rate', models.CharField(blank=True, default='1.00', max_length=12)),
                ('cost_amount_paid', models.CharField(blank=True, default='0.00', max_length=12)),
                ('cost_amount_due', models.CharField(blank=True, default='0.00', max_length=12)),
                ('cost_payment_settled', models.BooleanField(default=False)),
                ('reference', models.CharField(default='', max_length=50)),
                ('landed_cost', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='landed_cost_instances', to='sales_and_marketing.landedcost')),
                ('product_purchase_instance', models.ManyToManyField(blank=True, related_name='landed_cost_product_purchase_instances', to='procurement.productpurchaseinstance')),
            ],
        ),
        migrations.CreateModel(
            name='OrderItemReturn',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('recycle_bin', models.BooleanField(default=False)),
                ('refund_requested', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('date_of_return', models.DateField()),
                ('customer_order', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_order_items_return', to='sales_and_marketing.customerorder')),
            ],
        ),
        migrations.CreateModel(
            name='ProductBrand',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('product_brand_name', models.CharField(blank=True, default='', max_length=50)),
                ('product_brand_description', models.CharField(blank=True, default='', max_length=500)),
                ('product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='product_brands', to='warehouse_management.product')),
            ],
        ),
        migrations.CreateModel(
            name='ProductComponent',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('component_name', models.CharField(blank=True, default='', max_length=50)),
                ('component_quantity', models.CharField(blank=True, default='1', max_length=12)),
                ('product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_components', to='warehouse_management.product')),
            ],
        ),
        migrations.CreateModel(
            name='ProductDiscount',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('discount_type', models.CharField(choices=[('percentage_discount', 'Percentage Discount'), ('fixed_discount', 'Fixed Discount'), ('not_selected', 'Not Selected')], default='not_selected', max_length=20)),
                ('discount_value', models.CharField(default='0.00', max_length=5)),
                ('product', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_discount', to='warehouse_management.product')),
            ],
        ),
        migrations.CreateModel(
            name='ProductFeaturesCatalogue',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('product_feature_title', models.CharField(blank=True, default='', max_length=50)),
                ('product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_features', to='warehouse_management.product')),
            ],
        ),
        migrations.CreateModel(
            name='ProductFeaturesAttributes',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('feature_attribute_title', models.CharField(blank=True, default='', max_length=50)),
                ('feature_attribute_description', models.CharField(blank=True, default='', max_length=500)),
                ('product_feature_catalogue', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_feature_attributes', to='sales_and_marketing.productfeaturescatalogue')),
            ],
        ),
        migrations.CreateModel(
            name='ProductImageCatalogue',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('product_image', models.ImageField(blank=True, upload_to='')),
                ('image_attribute', models.CharField(blank=True, default='', max_length=50)),
                ('use_as_main_image', models.BooleanField(default=False)),
                ('product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_images', to='warehouse_management.product')),
            ],
            options={
                'verbose_name': 'Product Image Catalogue',
                'verbose_name_plural': 'Product Image Catalogues',
            },
        ),
        migrations.CreateModel(
            name='ProductPricing',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('product_net_price', models.CharField(default='0.00', max_length=50)),
                ('product_net_price_technician', models.CharField(default='0.00', max_length=50)),
                ('product_net_price_reseller', models.CharField(default='0.00', max_length=50)),
                ('product_net_price_financier', models.CharField(default='0.00', max_length=50)),
                ('product_net_price_engineering_procurement_contractor', models.CharField(default='0.00', max_length=50)),
                ('product', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_pricing', to='warehouse_management.product')),
            ],
        ),
        migrations.CreateModel(
            name='ProductVAT',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('vat_percentage_value', models.CharField(default='0.00', max_length=5)),
                ('product', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_vat', to='warehouse_management.product')),
            ],
        ),
        migrations.CreateModel(
            name='ReturnItem',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('reason_for_return', models.CharField(default='', max_length=500)),
                ('order_item_return', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='order_items_return', to='sales_and_marketing.orderitemreturn')),
                ('ordered_item_returned', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='ordered_items_returned', to='sales_and_marketing.customerorderitem')),
            ],
        ),
        migrations.CreateModel(
            name='SaleOutlet',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sale_outlet_name', models.CharField(default='', max_length=50, unique=True)),
                ('sale_outlet_location', models.CharField(default='', max_length=50)),
                ('sale_outlet_contact_phone', models.CharField(default='', max_length=25)),
                ('sale_outlet_description', models.CharField(blank=True, default='', max_length=500)),
                ('recycle_bin', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('company_branch', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='branch_sale_outlets', to='system_administration.companybranch')),
                ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sale_outlet_created_by', to='human_resource.staffprofile')),
                ('last_updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sale_outlet_last_updated_by', to='human_resource.staffprofile')),
            ],
        ),
        migrations.CreateModel(
            name='SalesCommission',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('commission_title', models.CharField(default='', max_length=50)),
                ('commission_description', models.CharField(default='', max_length=500)),
                ('commission_value', models.CharField(default='0', max_length=15)),
                ('commission_period_start_date', models.DateField()),
                ('commission_period_end_date', models.DateField()),
                ('commission_module', models.CharField(choices=[('percentage', 'Percentage'), ('fixed', 'Fixed'), ('not_selected', 'Not Selected')], default='not_selected', max_length=20)),
                ('recycle_bin', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_commission_created_by', to='human_resource.staffprofile')),
                ('last_updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_commission_last_updated_by', to='human_resource.staffprofile')),
                ('product', models.ManyToManyField(blank=True, related_name='product_sales_commissions', to='warehouse_management.product')),
                ('sales_person', models.ManyToManyField(blank=True, related_name='sales_commission_sales_persons', to='human_resource.staffprofile')),
            ],
        ),
        migrations.CreateModel(
            name='SalesOrder',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sales_order_number', models.CharField(default='', max_length=50, unique=True)),
                ('sales_order_description', models.CharField(blank=True, default='', max_length=500)),
                ('sales_order_approved', models.BooleanField(default=False)),
                ('sales_order_fulfilled', models.BooleanField(default=False)),
                ('recycle_bin', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
                ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_order_created_by', to='human_resource.staffprofile')),
                ('customer_order', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sales_order_customer_order', to='sales_and_marketing.customerorder')),
                ('last_updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_order_last_updated_by', to='human_resource.staffprofile')),
                ('sale_outlet', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sale_outlet_sales_order', to='sales_and_marketing.saleoutlet')),
                ('warehouse', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_order_warehouse', to='warehouse_management.warehouse')),
            ],
        ),
        migrations.CreateModel(
            name='SalesOrderItems',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('quantity', models.CharField(default='0', max_length=15)),
                ('sales_item_order_fulfilled', models.BooleanField(default=False)),
                ('product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='product_sales_order_items', to='warehouse_management.product')),
                ('sales_order', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sales_order_sales_items', to='sales_and_marketing.salesorder')),
            ],
        ),
        migrations.CreateModel(
            name='SalesQuotation',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('sales_quotation_number', models.CharField(default='', max_length=50, unique=True)),
                ('quotation_net_value', models.CharField(default='0.00', max_length=50)),
                ('sales_quotation_approved', models.BooleanField(default=False)),
                ('recycle_bin', models.BooleanField(default=False)),
                ('created_on', models.DateTimeField(auto_now_add=True)),
                ('last_updated_on', models.DateTimeField(auto_now=True)),
                ('timestamp', models.DateTimeField(default=django.utils.timezone.now)),
                ('quotation_price_change_request_active', models.BooleanField(default=False)),
                ('company_branch', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='branch_sale_quotations', to='system_administration.companybranch')),
                ('created_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_quotation_created_by', to='human_resource.staffprofile')),
                ('customer_profile', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_sale_quotations', to='sales_and_marketing.customerprofile')),
                ('last_updated_by', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sales_quotation_last_updated_by', to='human_resource.staffprofile')),
            ],
        ),
        migrations.CreateModel(
            name='SalesQuotationItem',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('quantity', models.CharField(default='0', max_length=15)),
                ('price_per_item', models.CharField(default='0.00', max_length=50)),
                ('request_price_change', models.BooleanField(default=False)),
                ('requested_price_change_approved', models.BooleanField(default=False)),
                ('requested_new_price_after_discount', models.CharField(default='0.00', max_length=50)),
                ('discount_per_item', models.CharField(default='0.00', max_length=50)),
                ('gross_subtotal', models.CharField(default='0.00', max_length=50)),
                ('total_discount', models.CharField(default='0.00', max_length=50)),
                ('net_subtotal', models.CharField(default='0.00', max_length=50)),
                ('product', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sales_quotation_products', to='warehouse_management.product')),
                ('sales_quotation', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='sales_quotation_items', to='sales_and_marketing.salesquotation')),
            ],
        ),
    ]
