from enum import Enum


class UnlockResultDetailV2InvokeStatus(str, Enum):
    CAR_ERROR = "CAR_ERROR"
    CAR_IN_SLEEP_MODE = "CAR_IN_SLEEP_MODE"
    CAR_TIMEOUT = "CAR_TIMEOUT"
    COMPLETED = "COMPLETED"
    CONNECTION_FAILURE = "CONNECTION_FAILURE"
    DELIVERED = "DELIVERED"
    DELIVERY_TIMEOUT = "DELIVERY_TIMEOUT"
    EXPIRED = "EXPIRED"
    NOT_ALLOWED_PRIVACY_ENABLED = "NOT_ALLOWED_PRIVACY_ENABLED"
    NOT_ALLOWED_WRONG_USAGE_MODE = "NOT_ALLOWED_WRONG_USAGE_MODE"
    NOT_SUPPORTED = "NOT_SUPPORTED"
    REJECTED = "REJECTED"
    RUNNING = "RUNNING"
    SENT = "SENT"
    SUCCESS = "SUCCESS"
    TIMEOUT = "TIMEOUT"
    UNABLE_TO_LOCK_DOOR_OPEN = "UNABLE_TO_LOCK_DOOR_OPEN"
    UNKNOWN = "UNKNOWN"
    UNLOCK_TIME_FRAME_PASSED = "UNLOCK_TIME_FRAME_PASSED"
    VEHICLE_IN_SLEEP = "VEHICLE_IN_SLEEP"
    WAITING = "WAITING"

    def __str__(self) -> str:
        return str(self.value)
