# Generated by Django 3.2.13 on 2022-05-21 05:57

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import uuid


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ("contenttypes", "0002_remove_content_type_name"),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name="Card",
            fields=[
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("data", models.JSONField(blank=True, default=dict)),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                ("name", models.CharField(blank=True, max_length=255)),
                ("phone_number", models.CharField(blank=True, max_length=255)),
                ("postal_code", models.CharField(blank=True, max_length=255)),
                ("state", models.CharField(blank=True, max_length=255)),
                ("street1", models.CharField(blank=True, max_length=255)),
                ("street2", models.CharField(blank=True, max_length=255)),
                ("tokenization_method", models.CharField(blank=True, max_length=255)),
                ("first_digits", models.CharField(blank=True, max_length=6)),
                ("last_digits", models.CharField(max_length=4)),
                ("bank", models.CharField(blank=True, max_length=255)),
                ("brand", models.CharField(blank=True, max_length=255)),
                ("city", models.CharField(blank=True, max_length=255)),
                ("country", models.CharField(blank=True, max_length=255)),
                ("expiration_month", models.CharField(blank=True, max_length=2)),
                ("expiration_year", models.CharField(blank=True, max_length=4)),
                ("financing", models.CharField(blank=True, max_length=10)),
                (
                    "deleted",
                    models.BooleanField(
                        default=False, help_text="Whethe this card was deleted."
                    ),
                ),
            ],
            options={
                "ordering": ["-date_created"],
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="Source",
            fields=[
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("data", models.JSONField(blank=True, default=dict)),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                (
                    "amount",
                    models.IntegerField(
                        help_text="Source amount in smallest unit of source currency"
                    ),
                ),
                ("bank", models.CharField(blank=True, max_length=255)),
                (
                    "barcode",
                    models.CharField(
                        blank=True,
                        help_text="Source amount in smallest unit of source currency",
                        max_length=255,
                    ),
                ),
                (
                    "charge_status",
                    models.CharField(
                        choices=[
                            ("failed", "Failed"),
                            ("expired", "Expired"),
                            ("pending", "Pending"),
                            ("reverse", "Reversed"),
                            ("successful", "Successful"),
                            ("unknown", "Unknown"),
                        ],
                        help_text="Status of charge created using this source (if any)",
                        max_length=10,
                    ),
                ),
                (
                    "currency",
                    models.CharField(
                        choices=[
                            ("USD", "United States Dollar"),
                            ("THB", "Thai Baht"),
                            ("SGD", "Singapore Dollar"),
                            ("JPY", "Japanese Yen"),
                            ("GBP", "Pound Sterling"),
                            ("EUR", "Euro"),
                            ("CNY", "Chinese Yuan"),
                            ("AUD", "Australian Dollar"),
                        ],
                        max_length=3,
                    ),
                ),
                (
                    "email",
                    models.CharField(
                        blank=True, help_text="The payer's email", max_length=255
                    ),
                ),
                (
                    "flow",
                    models.CharField(
                        choices=[
                            ("redirect", "Redirect"),
                            ("offline", "Offline"),
                            ("app_redirect", "App Redirect"),
                        ],
                        help_text="The payment flow payers need to go through to complete the payment. One of redirect, offline, or app_redirect",
                        max_length=50,
                    ),
                ),
                (
                    "installment_term",
                    models.IntegerField(
                        blank=True, help_text="Installment term in months", null=True
                    ),
                ),
                ("mobile_number", models.CharField(blank=True, max_length=50)),
                (
                    "name",
                    models.CharField(
                        blank=True, help_text="Payer's name", max_length=255
                    ),
                ),
                ("phone_number", models.CharField(blank=True, max_length=50)),
                (
                    "platform_type",
                    models.CharField(
                        blank=True,
                        help_text="Platform from which payer is making a payment. One of WEB, IOS, or ANDROID",
                        max_length=50,
                    ),
                ),
                ("receipt_amount", models.IntegerField(blank=True, null=True)),
                ("store_id", models.CharField(blank=True, max_length=255)),
                ("store_name", models.CharField(blank=True, max_length=255)),
                ("terminal_id", models.CharField(blank=True, max_length=255)),
                (
                    "type",
                    models.CharField(
                        choices=[
                            ("truemoney", "TrueMoney Wallet"),
                            ("internet_banking_bay", "Krungsri Bank"),
                            ("internet_banking_bbl", "Bangkok Bank"),
                            ("internet_banking_ktb", "Krungthai Bank"),
                            ("internet_banking_scb", "SCB Bank"),
                            ("promptpay", "Promptpay"),
                        ],
                        max_length=255,
                    ),
                ),
                (
                    "zero_interest_installments",
                    models.BooleanField(blank=True, null=True),
                ),
            ],
            options={
                "ordering": ["-date_created"],
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="Event",
            fields=[
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                (
                    "event_type",
                    models.CharField(
                        choices=[
                            ("card.destroy", "CARD_DESTROY"),
                            ("card.update", "CARD_UPDATE"),
                            ("charge.capture", "CHARGE_CAPTURE"),
                            ("charge.complete", "CHARGE_COMPLETE"),
                            ("charge.create", "CHARGE_CREATE"),
                            ("charge.expire", "CHARGE_EXPIRE"),
                            ("charge.reverse", "CHARGE_REVERSE"),
                            ("charge.update", "CHARGE_UPDATE"),
                            ("customer.create", "CUSTOMER_CREATE"),
                            ("customer.destroy", "CUSTOMER_DESTROY"),
                            ("customer.update", "CUSTOMER_UPDATE"),
                            ("customer.update.card", "CUSTOMER_UPDATE_CARD"),
                            ("dispute.accept", "DISPUTE_ACCEPT"),
                            ("dispute.close", "DISPUTE_CLOSE"),
                            ("dispute.create", "DISPUTE_CREATE"),
                            ("dispute.update", "DISPUTE_UPDATE"),
                            ("link.create", "LINK_CREATE"),
                            ("recipient.activate", "RECIPIENT_ACTIVATE"),
                            ("recipient.create", "RECIPIENT_CREATE"),
                            ("recipient.deactivate", "RECIPIENT_DEACTIVATE"),
                            ("recipient.destroy", "RECIPIENT_DESTROY"),
                            ("recipient.update", "RECIPIENT_UPDATE"),
                            ("recipient.verify", "RECIPIENT_VERIFY"),
                            ("refund.create", "REFUND_CREATE"),
                            ("schedule.create", "SCHEDULE_CREATE"),
                            ("schedule.destroy", "SCHEDULE_DESTROY"),
                            ("schedule.expire", "SCHEDULE_EXPIRE"),
                            ("schedule.expiring", "SCHEDULE_EXPIRING"),
                            ("schedule.suspend", "SCHEDULE_SUSPEND"),
                            ("transfer.create", "TRANSFER_CREATE"),
                            ("transfer.destroy", "TRANSFER_DESTROY"),
                            ("transfer.fail", "TRANSFER_FAIL"),
                            ("transfer.pay", "TRANSFER_PAY"),
                            ("transfer.send", "TRANSFER_SEND"),
                            ("transfer.update", "TRANSFER_UPDATE"),
                        ],
                        max_length=50,
                    ),
                ),
                ("data", models.JSONField(default=dict)),
                ("object_id", models.CharField(blank=True, max_length=255, null=True)),
                (
                    "content_type",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="contenttypes.contenttype",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Customer",
            fields=[
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("data", models.JSONField(blank=True, default=dict)),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                (
                    "deleted",
                    models.BooleanField(
                        default=False, help_text="Whether this customer was deleted."
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="omise_customers",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "ordering": ["-date_created"],
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="Charge",
            fields=[
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("data", models.JSONField(blank=True, default=dict)),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("failed", "Failed"),
                            ("expired", "Expired"),
                            ("pending", "Pending"),
                            ("reverse", "Reversed"),
                            ("successful", "Successful"),
                            ("unknown", "Unknown"),
                        ],
                        help_text="Status of this charge.",
                        max_length=10,
                    ),
                ),
                (
                    "amount",
                    models.IntegerField(
                        help_text="Charge amount in the smallest unit of charge currency"
                    ),
                ),
                (
                    "authorize_uri",
                    models.CharField(
                        blank=True,
                        help_text="URI for payment authorization (e.g. 3-D Secure).",
                        max_length=255,
                    ),
                ),
                (
                    "authorized",
                    models.BooleanField(
                        blank=True,
                        help_text="Whether charge has been authorized.",
                        null=True,
                    ),
                ),
                (
                    "capturable",
                    models.BooleanField(
                        blank=True,
                        help_text="Whether charge is able to be captured (paid).",
                        null=True,
                    ),
                ),
                (
                    "capture",
                    models.BooleanField(
                        blank=True,
                        help_text="Whether charge is set to be automatically captured (paid).",
                        null=True,
                    ),
                ),
                (
                    "currency",
                    models.CharField(
                        choices=[
                            ("USD", "United States Dollar"),
                            ("THB", "Thai Baht"),
                            ("SGD", "Singapore Dollar"),
                            ("JPY", "Japanese Yen"),
                            ("GBP", "Pound Sterling"),
                            ("EUR", "Euro"),
                            ("CNY", "Chinese Yuan"),
                            ("AUD", "Australian Dollar"),
                        ],
                        max_length=3,
                    ),
                ),
                ("description", models.TextField(blank=True)),
                ("disputable", models.BooleanField(blank=True, null=True)),
                (
                    "expired",
                    models.BooleanField(
                        blank=True,
                        help_text="Whether this charge has expired.",
                        null=True,
                    ),
                ),
                ("expired_at", models.DateTimeField(blank=True, null=True)),
                ("expires_at", models.DateTimeField(blank=True, null=True)),
                ("failure_code", models.CharField(blank=True, max_length=255)),
                ("failure_message", models.TextField(blank=True)),
                ("fee", models.IntegerField()),
                ("fee_vat", models.IntegerField()),
                (
                    "funding_amount",
                    models.IntegerField(
                        blank=True,
                        help_text="For multi-currency charges, amount after exchange into account funding currency.",
                        null=True,
                    ),
                ),
                (
                    "funding_currency",
                    models.CharField(
                        choices=[
                            ("USD", "United States Dollar"),
                            ("THB", "Thai Baht"),
                            ("SGD", "Singapore Dollar"),
                            ("JPY", "Japanese Yen"),
                            ("GBP", "Pound Sterling"),
                            ("EUR", "Euro"),
                            ("CNY", "Chinese Yuan"),
                            ("AUD", "Australian Dollar"),
                        ],
                        max_length=3,
                    ),
                ),
                (
                    "interest",
                    models.IntegerField(
                        blank=True,
                        help_text="Interest paid by customer or merchant over the course of an installment term.",
                        null=True,
                    ),
                ),
                (
                    "interest_vat",
                    models.IntegerField(
                        blank=True,
                        help_text="Value-added Tax (VAT) applied to interest.",
                        null=True,
                    ),
                ),
                (
                    "ip",
                    models.CharField(
                        blank=True,
                        help_text="IP address provided to Omise at charge creation. May be IPv4 or IPv6.",
                        max_length=255,
                    ),
                ),
                (
                    "metadata",
                    models.JSONField(
                        blank=True,
                        default=dict,
                        help_text="Custom metadata for this charge.",
                    ),
                ),
                (
                    "net",
                    models.IntegerField(
                        help_text="funding_amount after fees, interest, and VAT deducted."
                    ),
                ),
                (
                    "paid",
                    models.BooleanField(
                        help_text="Whether charge has been captured (paid)."
                    ),
                ),
                ("paid_at", models.DateTimeField(blank=True, null=True)),
                (
                    "refundable",
                    models.BooleanField(
                        help_text="Whether charge is able to be refunded."
                    ),
                ),
                (
                    "refunded_amount",
                    models.IntegerField(
                        blank=True,
                        help_text="Refunded amount in smallest unit of currency.",
                        null=True,
                    ),
                ),
                (
                    "return_uri",
                    models.TextField(
                        blank=True,
                        help_text="URI to which customer is redirected after 3-D Secure card authorization or other redirect-based authorization.",
                    ),
                ),
                (
                    "reversed",
                    models.BooleanField(
                        blank=True,
                        help_text="Whether charge authorization is able to be reversed.",
                        null=True,
                    ),
                ),
                (
                    "voided",
                    models.BooleanField(
                        blank=True,
                        help_text="Whether, in the case of a refund, charge was voided instead. Charges are voided if refund is processed before settlement time.",
                        null=True,
                    ),
                ),
                (
                    "zero_interest_installments",
                    models.BooleanField(
                        blank=True,
                        help_text="Whether merchant absorbs the interest for installment payments; must match value in associated source.",
                        null=True,
                    ),
                ),
                (
                    "card",
                    models.ForeignKey(
                        blank=True,
                        help_text="Card that was charged (if card was charged).",
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="charges",
                        to="django_omise.card",
                    ),
                ),
                (
                    "customer",
                    models.ForeignKey(
                        blank=True,
                        help_text="Customer associated with charge.",
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="charges",
                        to="django_omise.customer",
                    ),
                ),
                (
                    "source",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="charges",
                        to="django_omise.source",
                    ),
                ),
            ],
            options={
                "ordering": ["-date_created"],
                "abstract": False,
            },
        ),
        migrations.AddField(
            model_name="card",
            name="customer",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="cards",
                to="django_omise.customer",
            ),
        ),
        migrations.AddIndex(
            model_name="event",
            index=models.Index(
                fields=["content_type", "object_id"],
                name="django_omis_content_80fefa_idx",
            ),
        ),
        migrations.AddField(
            model_name="card",
            name="fingerprint",
            field=models.TextField(blank=True),
        ),
        migrations.AddField(
            model_name="customer",
            name="default_card",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="+",
                to="django_omise.card",
            ),
        ),
        migrations.AddField(
            model_name="customer",
            name="description",
            field=models.TextField(blank=True),
        ),
        migrations.AddField(
            model_name="customer",
            name="email",
            field=models.EmailField(blank=True, max_length=254),
        ),
        migrations.AlterField(
            model_name="charge",
            name="metadata",
            field=models.JSONField(
                blank=True, default=dict, help_text="Custom metadata for this object."
            ),
        ),
        migrations.AddField(
            model_name="customer",
            name="metadata",
            field=models.JSONField(
                blank=True, default=dict, help_text="Custom metadata for this object."
            ),
        ),
        migrations.CreateModel(
            name="Refund",
            fields=[
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("data", models.JSONField(blank=True, default=dict)),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                (
                    "amount",
                    models.IntegerField(
                        help_text="Refund amount in smallest unit of charge currency."
                    ),
                ),
                (
                    "currency",
                    models.CharField(
                        choices=[
                            ("USD", "United States Dollar"),
                            ("THB", "Thai Baht"),
                            ("SGD", "Singapore Dollar"),
                            ("JPY", "Japanese Yen"),
                            ("GBP", "Pound Sterling"),
                            ("EUR", "Euro"),
                            ("CNY", "Chinese Yuan"),
                            ("AUD", "Australian Dollar"),
                        ],
                        max_length=3,
                    ),
                ),
                (
                    "funding_amount",
                    models.IntegerField(
                        blank=True,
                        help_text="For multi-currency charges, amount after exchange into account funding currency.",
                        null=True,
                    ),
                ),
                (
                    "funding_currency",
                    models.CharField(
                        choices=[
                            ("USD", "United States Dollar"),
                            ("THB", "Thai Baht"),
                            ("SGD", "Singapore Dollar"),
                            ("JPY", "Japanese Yen"),
                            ("GBP", "Pound Sterling"),
                            ("EUR", "Euro"),
                            ("CNY", "Chinese Yuan"),
                            ("AUD", "Australian Dollar"),
                        ],
                        max_length=3,
                    ),
                ),
                (
                    "metadata",
                    models.JSONField(
                        blank=True,
                        default=dict,
                        help_text="Custom metadata for this object.",
                    ),
                ),
                ("voided", models.BooleanField()),
                (
                    "charge",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="refunds",
                        to="django_omise.charge",
                    ),
                ),
            ],
            options={
                "ordering": ["-date_created"],
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="ChargeSchedule",
            fields=[
                (
                    "metadata",
                    models.JSONField(
                        blank=True,
                        default=dict,
                        help_text="Custom metadata for this object.",
                    ),
                ),
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("data", models.JSONField(blank=True, default=dict)),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                (
                    "amount",
                    models.IntegerField(
                        help_text="Refund amount in smallest unit of charge currency."
                    ),
                ),
                (
                    "currency",
                    models.CharField(
                        choices=[
                            ("USD", "United States Dollar"),
                            ("THB", "Thai Baht"),
                            ("SGD", "Singapore Dollar"),
                            ("JPY", "Japanese Yen"),
                            ("GBP", "Pound Sterling"),
                            ("EUR", "Euro"),
                            ("CNY", "Chinese Yuan"),
                            ("AUD", "Australian Dollar"),
                        ],
                        max_length=3,
                    ),
                ),
                ("default_card", models.BooleanField()),
                ("description", models.TextField(blank=True)),
                (
                    "card",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="charge_schedules",
                        to="django_omise.card",
                    ),
                ),
                (
                    "customer",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="charge_schedules",
                        to="django_omise.customer",
                    ),
                ),
            ],
            options={
                "ordering": ["-date_created"],
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="Schedule",
            fields=[
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("data", models.JSONField(blank=True, default=dict)),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                (
                    "deleted",
                    models.BooleanField(
                        default=False,
                        help_text="Whether this object is marked as deleted on Omise's server",
                    ),
                ),
                (
                    "active",
                    models.BooleanField(
                        help_text="Whether schedule is status running or expiring."
                    ),
                ),
                (
                    "end_on",
                    models.DateField(
                        blank=True, help_text="End date of schedule in ISO 8601 format."
                    ),
                ),
                (
                    "ended_at",
                    models.CharField(
                        blank=True,
                        help_text="Actual end date of schedule in ISO 8601 format.",
                        max_length=255,
                    ),
                ),
                (
                    "every",
                    models.PositiveIntegerField(
                        blank=True,
                        help_text="How often schedule should run when applied to period. For example, if set to 3 and period is set to week, schedule should run every 3 weeks.",
                        null=True,
                    ),
                ),
                ("in_words", models.TextField(blank=True)),
                ("next_occurrences_on", models.JSONField(blank=True, default=list)),
                (
                    "period",
                    models.CharField(
                        blank=True,
                        choices=[("day", "Day"), ("week", "Week"), ("month", "Month")],
                        max_length=5,
                    ),
                ),
                (
                    "start_on",
                    models.DateField(
                        help_text="Start date of schedule in ISO 8601 format."
                    ),
                ),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("running", "Running"),
                            ("expiring", "Expiring"),
                            ("expired", "Expired"),
                            ("deleted", "Deleted"),
                            ("suspended", "Suspended"),
                        ],
                        max_length=50,
                    ),
                ),
                (
                    "charge",
                    models.OneToOneField(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.PROTECT,
                        to="django_omise.chargeschedule",
                    ),
                ),
            ],
            options={
                "ordering": ["-date_created"],
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="Occurrence",
            fields=[
                (
                    "id",
                    models.CharField(max_length=255, primary_key=True, serialize=False),
                ),
                ("livemode", models.BooleanField()),
                ("data", models.JSONField(blank=True, default=dict)),
                ("date_created", models.DateTimeField(auto_now_add=True)),
                ("date_updated", models.DateTimeField(auto_now=True)),
                (
                    "uid",
                    models.UUIDField(default=uuid.uuid4, editable=False, unique=True),
                ),
                ("message", models.CharField(blank=True, max_length=255)),
                ("processed_at", models.DateTimeField(blank=True, null=True)),
                ("retry_on", models.DateField(blank=True, null=True)),
                ("schduled_on", models.DateField(blank=True, null=True)),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("skipped", "Skipped"),
                            ("failed", "Failed"),
                            ("successful", "Successful"),
                        ],
                        max_length=30,
                    ),
                ),
                (
                    "schedule",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="occurrences",
                        to="django_omise.schedule",
                    ),
                ),
            ],
            options={
                "ordering": ["-date_created"],
                "abstract": False,
            },
        ),
        migrations.AddField(
            model_name="charge",
            name="schedule",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.PROTECT,
                related_name="charges",
                to="django_omise.schedule",
            ),
        ),
    ]
