# coding: utf-8

"""
    Platform API

    _OpenAPI specification for the **Platform API** of **Empire**, the allocation and nomination platform of BritNed_  ---  Additional documentation available in the API's [GitHub repository](https://github.com/britned/empire-platform-api) 

    The version of the OpenAPI document: 6.0.4
    Contact: britned.info@britned.com
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class SettlementSubSourceType(str, Enum):
    """
    SettlementSubSourceType
    """

    """
    allowed enum values
    """
    EXPLICIT_AUCTION_MULTI_ANNUAL = 'EXPLICIT_AUCTION_MULTI_ANNUAL'
    EXPLICIT_AUCTION_ANNUAL = 'EXPLICIT_AUCTION_ANNUAL'
    EXPLICIT_AUCTION_SEASONAL = 'EXPLICIT_AUCTION_SEASONAL'
    EXPLICIT_AUCTION_QUARTERLY = 'EXPLICIT_AUCTION_QUARTERLY'
    EXPLICIT_AUCTION_MONTHLY = 'EXPLICIT_AUCTION_MONTHLY'
    EXPLICIT_AUCTION_MULTI_DAY = 'EXPLICIT_AUCTION_MULTI_DAY'
    EXPLICIT_AUCTION_WEEKLY = 'EXPLICIT_AUCTION_WEEKLY'
    EXPLICIT_AUCTION_WEEKEND = 'EXPLICIT_AUCTION_WEEKEND'
    EXPLICIT_AUCTION_LONG_WEEKEND = 'EXPLICIT_AUCTION_LONG_WEEKEND'
    EXPLICIT_AUCTION_DA = 'EXPLICIT_AUCTION_DA'
    EXPLICIT_AUCTION_ID = 'EXPLICIT_AUCTION_ID'
    LT_RETURN_MULTI_ANNUAL = 'LT_RETURN_MULTI_ANNUAL'
    LT_RETURN_ANNUAL = 'LT_RETURN_ANNUAL'
    LT_RETURN_SEASONAL = 'LT_RETURN_SEASONAL'
    LT_RETURN_QUARTERLY = 'LT_RETURN_QUARTERLY'
    LT_RETURN_MONTHLY = 'LT_RETURN_MONTHLY'
    LT_RETURN_MULTI_DAY = 'LT_RETURN_MULTI_DAY'
    LT_RETURN_WEEKLY = 'LT_RETURN_WEEKLY'
    LT_RETURN_WEEKEND = 'LT_RETURN_WEEKEND'
    LT_RETURN_LONG_WEEKEND = 'LT_RETURN_LONG_WEEKEND'
    CURTAILMENT_LT = 'CURTAILMENT_LT'
    CURTAILMENT_DA = 'CURTAILMENT_DA'
    CURTAILMENT_ID = 'CURTAILMENT_ID'
    BUY_NOW_DA = 'BUY_NOW_DA'
    BUY_NOW_ID = 'BUY_NOW_ID'
    UIOSI_DA = 'UIOSI_DA'
    UIOSI_LT = 'UIOSI_LT'

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of SettlementSubSourceType from a JSON string"""
        return cls(json.loads(json_str))


