# coding: utf-8

"""
    Synctera API

    <h2>Let's build something great.</h2><p>Welcome to the official reference documentation for Synctera APIs. Our APIs are the best way to automate your company's banking needs and are designed to be easy to understand and implement.</p><p>We're continuously growing this library and what you see here is just the start, but if you need something specific or have a question, <a class='text-blue-600' href='https://synctera.com/contact' target='_blank' rel='noreferrer'>contact us</a>.</p>   # noqa: E501

    The version of the OpenAPI document: 0.37.0
    Generated by: https://openapi-generator.tech
"""

from datetime import date, datetime  # noqa: F401
import decimal  # noqa: F401
import functools  # noqa: F401
import io  # noqa: F401
import re  # noqa: F401
import typing  # noqa: F401
import typing_extensions  # noqa: F401
import uuid  # noqa: F401

import frozendict  # noqa: F401

from synctera_client import schemas  # noqa: F401


class CardStatusReasonCode(
    schemas.EnumBase,
    schemas.StrSchema
):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.

    The reason for the card status

Code | Description
--- | ---
NEW | Card activated
REQ | Requested by you
INA | Dormant
UNK | Invalid shipping address
NEG | Negative account balance
REV | Account under review
SUS | Suspicious activity
OUT | Activity outside program parameters
FRD | Confirmed fraud
MAT | Matched with an OFAC list
LOS | Card reported lost
CLO | Card was cloned
COM | Account or card was compromised
TMP | Awaiting customer confirmation
PRC | Initiated by Processor
ISS | Initiated by Issuer
EXP | Card expired
KYC | Failed KYC
INF | Information was validated
ACT | Account activity was validated
AUX | Initiated by a third party
PIN | PIN try limit reached
STO | Card reported stolen
ADD | Address issue
NAM | Name issue
SSN | SSN issue
DOB | DOB issue
EML | Email issue
PHO | Phone issue
FUL | Account/fulfillment mismatch
OTH | Other

    """


    class MetaOapg:
        enum_value_to_name = {
            "NEW": "NEW",
            "REQ": "REQ",
            "INA": "INA",
            "UNK": "UNK",
            "NEG": "NEG",
            "REV": "REV",
            "SUS": "SUS",
            "OUT": "OUT",
            "FRD": "FRD",
            "MAT": "MAT",
            "LOS": "LOS",
            "CLO": "CLO",
            "COM": "COM",
            "TMP": "TMP",
            "PRC": "PRC",
            "ISS": "ISS",
            "EXP": "EXP",
            "KYC": "KYC",
            "INF": "INF",
            "ACT": "ACT",
            "AUX": "AUX",
            "PIN": "PIN",
            "STO": "STO",
            "ADD": "ADD",
            "NAM": "NAM",
            "SSN": "SSN",
            "DOB": "DOB",
            "EML": "EML",
            "PHO": "PHO",
            "FUL": "FUL",
            "OTH": "OTH",
        }
    
    @schemas.classproperty
    def NEW(cls):
        return cls("NEW")
    
    @schemas.classproperty
    def REQ(cls):
        return cls("REQ")
    
    @schemas.classproperty
    def INA(cls):
        return cls("INA")
    
    @schemas.classproperty
    def UNK(cls):
        return cls("UNK")
    
    @schemas.classproperty
    def NEG(cls):
        return cls("NEG")
    
    @schemas.classproperty
    def REV(cls):
        return cls("REV")
    
    @schemas.classproperty
    def SUS(cls):
        return cls("SUS")
    
    @schemas.classproperty
    def OUT(cls):
        return cls("OUT")
    
    @schemas.classproperty
    def FRD(cls):
        return cls("FRD")
    
    @schemas.classproperty
    def MAT(cls):
        return cls("MAT")
    
    @schemas.classproperty
    def LOS(cls):
        return cls("LOS")
    
    @schemas.classproperty
    def CLO(cls):
        return cls("CLO")
    
    @schemas.classproperty
    def COM(cls):
        return cls("COM")
    
    @schemas.classproperty
    def TMP(cls):
        return cls("TMP")
    
    @schemas.classproperty
    def PRC(cls):
        return cls("PRC")
    
    @schemas.classproperty
    def ISS(cls):
        return cls("ISS")
    
    @schemas.classproperty
    def EXP(cls):
        return cls("EXP")
    
    @schemas.classproperty
    def KYC(cls):
        return cls("KYC")
    
    @schemas.classproperty
    def INF(cls):
        return cls("INF")
    
    @schemas.classproperty
    def ACT(cls):
        return cls("ACT")
    
    @schemas.classproperty
    def AUX(cls):
        return cls("AUX")
    
    @schemas.classproperty
    def PIN(cls):
        return cls("PIN")
    
    @schemas.classproperty
    def STO(cls):
        return cls("STO")
    
    @schemas.classproperty
    def ADD(cls):
        return cls("ADD")
    
    @schemas.classproperty
    def NAM(cls):
        return cls("NAM")
    
    @schemas.classproperty
    def SSN(cls):
        return cls("SSN")
    
    @schemas.classproperty
    def DOB(cls):
        return cls("DOB")
    
    @schemas.classproperty
    def EML(cls):
        return cls("EML")
    
    @schemas.classproperty
    def PHO(cls):
        return cls("PHO")
    
    @schemas.classproperty
    def FUL(cls):
        return cls("FUL")
    
    @schemas.classproperty
    def OTH(cls):
        return cls("OTH")
