from enum import Enum


class ApprovalStatus(str, Enum):
    APPROVAL_NOT_REQUIRED = "APPROVAL_NOT_REQUIRED"
    EVIDENCE_NEEDED = "EVIDENCE_NEEDED"
    EVIDENCE_PENDING_APPROVAL = "EVIDENCE_PENDING_APPROVAL"
    EVIDENCE_APPROVED = "EVIDENCE_APPROVED"


class MembersMemberConsumptionEvidenceSubmissionStatusChoices(str, Enum):
    EVIDENCE_NEEDED = "EVIDENCE_NEEDED"
    EVIDENCE_PENDING_APPROVAL = "EVIDENCE_PENDING_APPROVAL"
    EVIDENCE_APPROVED = "EVIDENCE_APPROVED"


class GenerationGenerationFarmGenerationTypeChoices(str, Enum):
    WIND = "WIND"
    SOL = "SOL"


class GenerationGenerationFarmOperationalStatusChoices(str, Enum):
    NA = "NA"
    PRELIMINARY = "PRELIMINARY"
    PLANNING = "PLANNING"
    CONTRACTED = "CONTRACTED"
    UNDER_CONSTRUCTION = "UNDER_CONSTRUCTION"
    OPERATIONAL = "OPERATIONAL"
    SUSPENDED = "SUSPENDED"
    DECOMMISSIONED = "DECOMMISSIONED"
    CLOSED = "CLOSED"


class GenerationDataTitle(str, Enum):
    TODAY = "TODAY"
    NEXT_4_DAYS = "NEXT_4_DAYS"
    NEXT_14_DAYS = "NEXT_14_DAYS"
    LAST_7_DAYS = "LAST_7_DAYS"
    LAST_30_DAYS = "LAST_30_DAYS"


class ChartStatus(str, Enum):
    Confirmed = "Confirmed"
    Estimated = "Estimated"


class Period(str, Enum):
    Day = "Day"
    Week = "Week"
    Month = "Month"
    Year = "Year"


class CoopCoopStatusChoices(str, Enum):
    RESERVATIONS_OPEN = "RESERVATIONS_OPEN"
    RESERVATIONS_CLOSED = "RESERVATIONS_CLOSED"
    OWNERSHIP_OPEN_RESERVED_MEMBERS_ONLY = "OWNERSHIP_OPEN_RESERVED_MEMBERS_ONLY"
    OWNERSHIP_OPEN = "OWNERSHIP_OPEN"
    FULL = "FULL"
    BACKFILL = "BACKFILL"
    CLOSED = "CLOSED"


class MeterType(str, Enum):
    STANDARD = "STANDARD"
    ECONOMY_7 = "ECONOMY_7"
    SMART = "SMART"


class FuelType(str, Enum):
    ELECTRICITY_ONLY = "ELECTRICITY_ONLY"
    ELECTRICITY_AND_GAS = "ELECTRICITY_AND_GAS"


class AccountType(str, Enum):
    HOUSEHOLD = "HOUSEHOLD"
    SMALL_BUSINESS = "SMALL_BUSINESS"
    MEDIUM_BUSINESS = "MEDIUM_BUSINESS"
    LARGE_BUSINESS = "LARGE_BUSINESS"


class BusinessSector(str, Enum):
    ACCOUNTING = "ACCOUNTING"
    ADMINISTRATION_AND_OFFICE_SUPPORT = "ADMINISTRATION_AND_OFFICE_SUPPORT"
    ADVERTISING_AND_ARTS_AND_MEDIA = "ADVERTISING_AND_ARTS_AND_MEDIA"
    BANKING_AND_FINANCIAL_SERVICES = "BANKING_AND_FINANCIAL_SERVICES"
    CALL_CENTRE_AND_CUSTOMER_SERVICE = "CALL_CENTRE_AND_CUSTOMER_SERVICE"
    COMMUNITY_SERVICES_AND_DEVELOPMENT = "COMMUNITY_SERVICES_AND_DEVELOPMENT"
    CONSTRUCTION = "CONSTRUCTION"
    CONSULTING_AND_STRATEGY = "CONSULTING_AND_STRATEGY"
    DESIGN_AND_ARCHITECTURE = "DESIGN_AND_ARCHITECTURE"
    EDUCATION_AND_TRAINING = "EDUCATION_AND_TRAINING"
    ENGINEERING = "ENGINEERING"
    FARMING_AND_ANIMALS_AND_CONSERVATION = "FARMING_AND_ANIMALS_AND_CONSERVATION"
    GOVERNMENT_AND_DEFENCE = "GOVERNMENT_AND_DEFENCE"
    HEALTHCARE_AND_MEDICAL = "HEALTHCARE_AND_MEDICAL"
    HOSPITALITY_AND_TOURISM = "HOSPITALITY_AND_TOURISM"
    HUMAN_RESOURCES_AND_RECRUITMENT = "HUMAN_RESOURCES_AND_RECRUITMENT"
    INFORMATION_AND_COMMUNICATION_TECHNOLOGY = (
        "INFORMATION_AND_COMMUNICATION_TECHNOLOGY"
    )
    INSURANCE_AND_SUPERANNUATION = "INSURANCE_AND_SUPERANNUATION"
    LEGAL = "LEGAL"
    MANUFACTURING_AND_TRANSPORT_AND_LOGISTICS = (
        "MANUFACTURING_AND_TRANSPORT_AND_LOGISTICS"
    )
    MARKETING_AND_COMMUNICATIONS = "MARKETING_AND_COMMUNICATIONS"
    MINING_AND_RESOURCES_AND_ENERGY = "MINING_AND_RESOURCES_AND_ENERGY"
    REAL_ESTATE_AND_PROPERTY = "REAL_ESTATE_AND_PROPERTY"
    RETAIL_AND_CONSUMER_PRODUCTS = "RETAIL_AND_CONSUMER_PRODUCTS"
    SALES = "SALES"
    SCIENCE_AND_TECHNOLOGY = "SCIENCE_AND_TECHNOLOGY"
    SPORT_AND_RECREATION = "SPORT_AND_RECREATION"
    TRADES_AND_SERVICES = "TRADES_AND_SERVICES"
    OTHER = "OTHER"


class BusinessType(str, Enum):
    SOLE_TRADER = "SOLE_TRADER"
    PARTNERSHIP = "PARTNERSHIP"
    LIMITED_LIABILITY_PARTNERSHIP = "LIMITED_LIABILITY_PARTNERSHIP"
    LIMITED_COMPANY = "LIMITED_COMPANY"
    SOCIAL_ENTERPRISE = "SOCIAL_ENTERPRISE"
    CHARITY = "CHARITY"
    PUBLIC_SECTOR = "PUBLIC_SECTOR"
    OTHER = "OTHER"


class PaymentsPaymentCategoryChoices(str, Enum):
    JOINING_FEE = "JOINING_FEE"
    GIFT_VOUCHER = "GIFT_VOUCHER"
    ORDER = "ORDER"


class InvoiceType(str, Enum):
    RESERVATION_RECEIPT = "RESERVATION_RECEIPT"
    WATTAGE_AMOUNT = "WATTAGE_AMOUNT"
    ARRANGEMENT_FEE = "ARRANGEMENT_FEE"
    GIFT_VOUCHER = "GIFT_VOUCHER"
    INVOICE = "INVOICE"


class PaymentType(str, Enum):
    PRIORITY_ACCESS_FEE = "PRIORITY_ACCESS_FEE"
    GIFT_VOUCHER = "GIFT_VOUCHER"
    MONTHLY_INSTALMENT = "MONTHLY_INSTALMENT"
    INITIAL_INSTALMENT = "INITIAL_INSTALMENT"
    ONE_TIME_PAYMENT = "ONE_TIME_PAYMENT"
    PAYMENT = "PAYMENT"


class PaymentStatus(str, Enum):
    PAID = "PAID"
    FAILED = "FAILED"
    REFUNDED = "REFUNDED"
    UPCOMING = "UPCOMING"
    OVERDUE = "OVERDUE"


class CrmUserMemoChannelChoices(str, Enum):
    DIRECT_EMAIL = "DIRECT_EMAIL"
    INFO = "INFO"
    HELP = "HELP"
    CONTACT_US = "CONTACT_US"
    EMPLOYER = "EMPLOYER"
    BUSINESS = "BUSINESS"
    OTHER = "OTHER"


class GetMemberOctopusConsumptionDataTitle(str, Enum):
    LAST_7_DAYS = "LAST_7_DAYS"
    LAST_30_DAYS = "LAST_30_DAYS"


class ReminderType(str, Enum):
    SWITCH_LATER = "SWITCH_LATER"


class SurveyQuestionChoiceTypeChoices(str, Enum):
    MULTIPLE_CHOICE = "MULTIPLE_CHOICE"
    YES_NO = "YES_NO"
    RADIO = "RADIO"
    TEXT = "TEXT"
    NUMBER = "NUMBER"


class StripePaymentType(str, Enum):
    CARD = "CARD"


class CardBrandType(str, Enum):
    OTHER = "OTHER"
    VISA = "VISA"
    MASTERCARD = "MASTERCARD"


class CountryChoices(str, Enum):
    AFGHANISTAN = "AFGHANISTAN"
    ALAND_ISLANDS = "ALAND_ISLANDS"
    ALBANIA = "ALBANIA"
    ALGERIA = "ALGERIA"
    AMERICAN_SAMOA = "AMERICAN_SAMOA"
    ANDORRA = "ANDORRA"
    ANGOLA = "ANGOLA"
    ANGUILLA = "ANGUILLA"
    ANTARCTICA = "ANTARCTICA"
    ANTIGUA_AND_BARBUDA = "ANTIGUA_AND_BARBUDA"
    ARGENTINA = "ARGENTINA"
    ARMENIA = "ARMENIA"
    ARUBA = "ARUBA"
    AUSTRALIA = "AUSTRALIA"
    AUSTRIA = "AUSTRIA"
    AZERBAIJAN = "AZERBAIJAN"
    BAHAMAS = "BAHAMAS"
    BAHRAIN = "BAHRAIN"
    BANGLADESH = "BANGLADESH"
    BARBADOS = "BARBADOS"
    BELARUS = "BELARUS"
    BELGIUM = "BELGIUM"
    BELIZE = "BELIZE"
    BENIN = "BENIN"
    BERMUDA = "BERMUDA"
    BHUTAN = "BHUTAN"
    BOLIVIA_PLURINATIONAL_STATE_OF = "BOLIVIA_PLURINATIONAL_STATE_OF"
    BONAIRE_SINT_EUSTATIUS_SABA = "BONAIRE_SINT_EUSTATIUS_SABA"
    BOSNIA_AND_HERZEGOVINA = "BOSNIA_AND_HERZEGOVINA"
    BOTSWANA = "BOTSWANA"
    BOUVET_ISLAND = "BOUVET_ISLAND"
    BRAZIL = "BRAZIL"
    BRITISH_INDIAN_OCEAN_TERRITORY = "BRITISH_INDIAN_OCEAN_TERRITORY"
    BRUNEI_DARUSSALAM = "BRUNEI_DARUSSALAM"
    BULGARIA = "BULGARIA"
    BURKINA_FASO = "BURKINA_FASO"
    BURUNDI = "BURUNDI"
    CAMBODIA = "CAMBODIA"
    CAMEROON = "CAMEROON"
    CANADA = "CANADA"
    CAPE_VERDE = "CAPE_VERDE"
    CAYMAN_ISLANDS = "CAYMAN_ISLANDS"
    CENTRAL_AFRICAN_REPUBLIC = "CENTRAL_AFRICAN_REPUBLIC"
    CHAD = "CHAD"
    CHILE = "CHILE"
    CHINA = "CHINA"
    CHRISTMAS_ISLAND = "CHRISTMAS_ISLAND"
    COCOS_KEELING_ISLANDS = "COCOS_KEELING_ISLANDS"
    COLOMBIA = "COLOMBIA"
    COMOROS = "COMOROS"
    CONGO = "CONGO"
    CONGO_DEMOCRATIC_REPUBLIC = "CONGO_DEMOCRATIC_REPUBLIC"
    COOK_ISLANDS = "COOK_ISLANDS"
    COSTA_RICA = "COSTA_RICA"
    COTE_DIVOIRE = "COTE_DIVOIRE"
    CROATIA = "CROATIA"
    CUBA = "CUBA"
    CURACAO = "CURACAO"
    CYPRUS = "CYPRUS"
    CZECH_REPUBLIC = "CZECH_REPUBLIC"
    DENMARK = "DENMARK"
    DJIBOUTI = "DJIBOUTI"
    DOMINICA = "DOMINICA"
    DOMINICAN_REPUBLIC = "DOMINICAN_REPUBLIC"
    ECUADOR = "ECUADOR"
    EGYPT = "EGYPT"
    EL_SALVADOR = "EL_SALVADOR"
    EQUATORIAL_GUINEA = "EQUATORIAL_GUINEA"
    ERITREA = "ERITREA"
    ESTONIA = "ESTONIA"
    ETHIOPIA = "ETHIOPIA"
    FALKLAND_ISLANDS_MALVINAS = "FALKLAND_ISLANDS_MALVINAS"
    FAROE_ISLANDS = "FAROE_ISLANDS"
    FIJI = "FIJI"
    FINLAND = "FINLAND"
    FRANCE = "FRANCE"
    FRENCH_GUIANA = "FRENCH_GUIANA"
    FRENCH_POLYNESIA = "FRENCH_POLYNESIA"
    FRENCH_SOUTHERN_TERRITORIES = "FRENCH_SOUTHERN_TERRITORIES"
    GABON = "GABON"
    GAMBIA = "GAMBIA"
    GEORGIA = "GEORGIA"
    GERMANY = "GERMANY"
    GHANA = "GHANA"
    GIBRALTAR = "GIBRALTAR"
    GREECE = "GREECE"
    GREENLAND = "GREENLAND"
    GRENADA = "GRENADA"
    GUADELOUPE = "GUADELOUPE"
    GUAM = "GUAM"
    GUATEMALA = "GUATEMALA"
    GUERNSEY = "GUERNSEY"
    GUINEA = "GUINEA"
    GUINEA_BISSAU = "GUINEA_BISSAU"
    GUYANA = "GUYANA"
    HAITI = "HAITI"
    HEARD_ISLAND_AND_MCDONALD_ISLANDS = "HEARD_ISLAND_AND_MCDONALD_ISLANDS"
    HOLY_SEE_VATICAN_CITY_STATE = "HOLY_SEE_VATICAN_CITY_STATE"
    HONDURAS = "HONDURAS"
    HONG_KONG = "HONG_KONG"
    HUNGARY = "HUNGARY"
    ICELAND = "ICELAND"
    INDIA = "INDIA"
    INDONESIA = "INDONESIA"
    IRAN_ISLAMIC_REPUBLIC_OF = "IRAN_ISLAMIC_REPUBLIC_OF"
    IRAQ = "IRAQ"
    IRELAND = "IRELAND"
    ISLE_OF_MAN = "ISLE_OF_MAN"
    ISRAEL = "ISRAEL"
    ITALY = "ITALY"
    JAMAICA = "JAMAICA"
    JAPAN = "JAPAN"
    JERSEY = "JERSEY"
    JORDAN = "JORDAN"
    KAZAKHSTAN = "KAZAKHSTAN"
    KENYA = "KENYA"
    KIRIBATI = "KIRIBATI"
    KOREA_DEMOCRATIC_PEOPLES_REPUBLIC = "KOREA_DEMOCRATIC_PEOPLES_REPUBLIC"
    KOREA_REPUBLIC_OF = "KOREA_REPUBLIC_OF"
    KOSOVO = "KOSOVO"
    KUWAIT = "KUWAIT"
    KYRGYZSTAN = "KYRGYZSTAN"
    LAO_PEOPLES_DEMOCRATIC_REPUBLIC = "LAO_PEOPLES_DEMOCRATIC_REPUBLIC"
    LATVIA = "LATVIA"
    LEBANON = "LEBANON"
    LESOTHO = "LESOTHO"
    LIBERIA = "LIBERIA"
    LIBYAN_ARAB_JAMAHIRIYA = "LIBYAN_ARAB_JAMAHIRIYA"
    LIECHTENSTEIN = "LIECHTENSTEIN"
    LITHUANIA = "LITHUANIA"
    LUXEMBOURG = "LUXEMBOURG"
    MACAO = "MACAO"
    MACEDONIA_THE_FORMER_YUGOSLAV_REPUBLIC_OF = (
        "MACEDONIA_THE_FORMER_YUGOSLAV_REPUBLIC_OF"
    )
    MADAGASCAR = "MADAGASCAR"
    MALAWI = "MALAWI"
    MALAYSIA = "MALAYSIA"
    MALDIVES = "MALDIVES"
    MALI = "MALI"
    MALTA = "MALTA"
    MARSHALL_ISLANDS = "MARSHALL_ISLANDS"
    MARTINIQUE = "MARTINIQUE"
    MAURITANIA = "MAURITANIA"
    MAURITIUS = "MAURITIUS"
    MAYOTTE = "MAYOTTE"
    MEXICO = "MEXICO"
    MICRONESIA_FEDERATED_STATES_OF = "MICRONESIA_FEDERATED_STATES_OF"
    MOLDOVA_REPUBLIC_OF = "MOLDOVA_REPUBLIC_OF"
    MONACO = "MONACO"
    MONGOLIA = "MONGOLIA"
    MONTENEGRO = "MONTENEGRO"
    MONTSERRAT = "MONTSERRAT"
    MOROCCO = "MOROCCO"
    MOZAMBIQUE = "MOZAMBIQUE"
    MYANMAR = "MYANMAR"
    NAMIBIA = "NAMIBIA"
    NAURU = "NAURU"
    NEPAL = "NEPAL"
    NETHERLANDS = "NETHERLANDS"
    NEW_CALEDONIA = "NEW_CALEDONIA"
    NEW_ZEALAND = "NEW_ZEALAND"
    NICARAGUA = "NICARAGUA"
    NIGER = "NIGER"
    NIGERIA = "NIGERIA"
    NIUE = "NIUE"
    NORFOLK_ISLAND = "NORFOLK_ISLAND"
    NORTHERN_MARIANA_ISLANDS = "NORTHERN_MARIANA_ISLANDS"
    NORWAY = "NORWAY"
    OMAN = "OMAN"
    PAKISTAN = "PAKISTAN"
    PALAU = "PALAU"
    PALESTINIAN_TERRITORY_OCCUPIED = "PALESTINIAN_TERRITORY_OCCUPIED"
    PANAMA = "PANAMA"
    PAPUA_NEW_GUINEA = "PAPUA_NEW_GUINEA"
    PARAGUAY = "PARAGUAY"
    PERU = "PERU"
    PHILIPPINES = "PHILIPPINES"
    PITCAIRN = "PITCAIRN"
    POLAND = "POLAND"
    PORTUGAL = "PORTUGAL"
    PUERTO_RICO = "PUERTO_RICO"
    QATAR = "QATAR"
    REUNION = "REUNION"
    ROMANIA = "ROMANIA"
    RUSSIAN_FEDERATION = "RUSSIAN_FEDERATION"
    RWANDA = "RWANDA"
    SAINT_BARTHELEMY = "SAINT_BARTHELEMY"
    SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA = (
        "SAINT_HELENA_ASCENSION_AND_TRISTAN_DA_CUNHA"
    )
    SAINT_KITTS_AND_NEVIS = "SAINT_KITTS_AND_NEVIS"
    SAINT_LUCIA = "SAINT_LUCIA"
    SAINT_MARTIN_FRENCH_PART = "SAINT_MARTIN_FRENCH_PART"
    SAINT_PIERRE_AND_MIQUELON = "SAINT_PIERRE_AND_MIQUELON"
    SAINT_VINCENT_AND_THE_GRENADINES = "SAINT_VINCENT_AND_THE_GRENADINES"
    SAMOA = "SAMOA"
    SAN_MARINO = "SAN_MARINO"
    SAO_TOME_AND_PRINCIPE = "SAO_TOME_AND_PRINCIPE"
    SAUDI_ARABIA = "SAUDI_ARABIA"
    SENEGAL = "SENEGAL"
    SERBIA = "SERBIA"
    SEYCHELLES = "SEYCHELLES"
    SIERRA_LEONE = "SIERRA_LEONE"
    SINGAPORE = "SINGAPORE"
    SINT_MAARTEN_DUTCH_PART = "SINT_MAARTEN_DUTCH_PART"
    SLOVAKIA = "SLOVAKIA"
    SLOVENIA = "SLOVENIA"
    SOLOMON_ISLANDS = "SOLOMON_ISLANDS"
    SOMALIA = "SOMALIA"
    SOUTH_AFRICA = "SOUTH_AFRICA"
    SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS = (
        "SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS"
    )
    SOUTH_SUDAN = "SOUTH_SUDAN"
    SPAIN = "SPAIN"
    SRI_LANKA = "SRI_LANKA"
    SUDAN = "SUDAN"
    SURINAME = "SURINAME"
    SVALBARD_AND_JAN_MAYEN = "SVALBARD_AND_JAN_MAYEN"
    SWAZILAND = "SWAZILAND"
    SWEDEN = "SWEDEN"
    SWITZERLAND = "SWITZERLAND"
    SYRIAN_ARAB_REPUBLIC = "SYRIAN_ARAB_REPUBLIC"
    TAIWAN_PROVINCE_OF_CHINA = "TAIWAN_PROVINCE_OF_CHINA"
    TAJIKISTAN = "TAJIKISTAN"
    TANZANIA_UNITED_REPUBLIC_OF = "TANZANIA_UNITED_REPUBLIC_OF"
    THAILAND = "THAILAND"
    TIMOR_LESTE = "TIMOR_LESTE"
    TOGO = "TOGO"
    TOKELAU = "TOKELAU"
    TONGA = "TONGA"
    TRINIDAD_AND_TOBAGO = "TRINIDAD_AND_TOBAGO"
    TUNISIA = "TUNISIA"
    TURKEY = "TURKEY"
    TURKMENISTAN = "TURKMENISTAN"
    TURKS_AND_CAICOS_ISLANDS = "TURKS_AND_CAICOS_ISLANDS"
    TUVALU = "TUVALU"
    UGANDA = "UGANDA"
    UKRAINE = "UKRAINE"
    UNITED_ARAB_EMIRATES = "UNITED_ARAB_EMIRATES"
    UNITED_KINGDOM = "UNITED_KINGDOM"
    UNITED_STATES = "UNITED_STATES"
    UNITED_STATES_MINOR_OUTLYING_ISLANDS = "UNITED_STATES_MINOR_OUTLYING_ISLANDS"
    URUGUAY = "URUGUAY"
    UZBEKISTAN = "UZBEKISTAN"
    VANUATU = "VANUATU"
    VENEZUELA_BOLIVARIAN_REPUBLIC_OF = "VENEZUELA_BOLIVARIAN_REPUBLIC_OF"
    VIET_NAM = "VIET_NAM"
    VIRGIN_ISLANDS_BRITISH = "VIRGIN_ISLANDS_BRITISH"
    VIRGIN_ISLANDS_US = "VIRGIN_ISLANDS_US"
    WALLIS_AND_FUTUNA = "WALLIS_AND_FUTUNA"
    WESTERN_SAHARA = "WESTERN_SAHARA"
    YEMEN = "YEMEN"
    ZAMBIA = "ZAMBIA"
    ZIMBABWE = "ZIMBABWE"


class EventRegisteredChoices(str, Enum):
    FULLY_CHARGED = "FULLY_CHARGED"
