from typing import Any, Dict, List, Optional, Union
from enum import Enum
from pydantic import BaseModel, Field
[docs]class TransferAuthorizationGuaranteeDecisionRationale(BaseModel):
    code: str
    """A code representing the reason Plaid declined to guarantee this transfer:
    
    `RETURN_BANK`: The risk of a bank-initiated return (for example, an R01/NSF) is too high to guarantee this transfer.
    
    `RETURN_CUSTOMER`: The risk of a customer-initiated return (for example, a R10/Unauthorized) is too high to guarantee this transfer.
    
    `GUARANTEE_LIMIT_REACHED`: This transfer is low-risk, but Guaranteed ACH has exhausted an internal limit on the number or rate of guarantees that applies to this transfer.
    
    `RISK_ESTIMATE_UNAVAILABLE`: A risk estimate is unavailable for this Item.
    
    `REQUIRED_PARAM_MISSING`: Required fields are missing."""
    description: str
    """A human-readable description of why the transfer cannot be guaranteed."""
[docs]    def json(self, **kwargs: Any) -> str:
        """Return a json string representation of the object. Takes same keyword arguments as pydantic.BaseModel.json"""
        kwargs.setdefault("by_alias", True)
        return super().json(**kwargs) 
[docs]    def dict(self, **kwargs: Any) -> Dict[str, Any]:
        """Return a dict representation of the object. Takes same keyword arguments as pydantic.BaseModel.dict"""
        kwargs.setdefault("by_alias", True)
        return super().dict(**kwargs) 
[docs]    @classmethod
    def parse_obj(cls, data: Any) -> "TransferAuthorizationGuaranteeDecisionRationale":
        """Parse a dict into the object. Takes same keyword arguments as pydantic.BaseModel.parse_obj"""
        return super().parse_obj(data) 
[docs]    @classmethod
    def parse_raw(cls, b: Union[bytes, str], **kwargs: Any) -> "TransferAuthorizationGuaranteeDecisionRationale":
        """Parse a json string into the object. Takes same keyword arguments as pydantic.BaseModel.parse_raw"""
        return super().parse_raw(b, **kwargs)