"""
Auto-generated Enum types for BMRS API fields.

This file contains enum definitions for fields that have a known set of values,
providing better type safety and IDE autocomplete.

This file is automatically generated. Do not edit manually.
"""

from enum import Enum


class AmendmentflagEnum(str, Enum):
    """Enum for AmendmentflagEnum field values."""

    ORI = "ORI"
    REP = "REP"


class AssettypeEnum(str, Enum):
    """Enum for AssettypeEnum field values."""

    CONSUMPTION = "Consumption"
    OFFSHORE = "Offshore"
    PRODUCTION = "Production"
    TRANSMISSION = "Transmission"


class BmunittypeEnum(str, Enum):
    """Enum for BmunittypeEnum field values."""

    E = "E"
    G = "G"
    I = "I"
    M = "M"
    S = "S"
    T = "T"


class BoundaryEnum(str, Enum):
    """Enum for BoundaryEnum field values."""

    GB = "GB"
    GB_BEL = "GB-BEL"
    GB_DEN = "GB-DEN"
    GB_FRA = "GB-FRA"
    GB_IRL = "GB-IRL"
    GB_NED = "GB-NED"
    GB_NIR = "GB-NIR"
    GB_NOR = "GB-NOR"


class BusinesstypeEnum(str, Enum):
    """Enum for BusinesstypeEnum field values."""

    AUTOMATIC_FREQUENCY_RESTORATION_RESERVE = "Automatic frequency restoration reserve"
    CONGESTION_COSTS = "Congestion costs"
    CONSUMPTION = "Consumption"
    FREQUENCY_RESTORATION_RESERVE = "Frequency restoration reserve"
    INSTALLED_GENERATION = "Installed generation"
    INTERNAL_TRADE = "Internal trade"
    NEGATIVE_FORECAST_MARGIN = "Negative forecast margin"
    POSITIVE_FORECAST_MARGIN = "Positive forecast margin"
    PRODUCTION = "Production"
    REPLACEMENT_RESERVE = "Replacement reserve"
    SOLAR_GENERATION = "Solar generation"
    WIND_GENERATION = "Wind generation"


class DatasetEnum(str, Enum):
    """Enum for DatasetEnum field values."""

    ABUC = "ABUC"
    AGPT = "AGPT"
    AGWS = "AGWS"
    AOBE = "AOBE"
    ATL = "ATL"
    AWGF = "AWGF"
    B1610 = "B1610"
    B1620 = "B1620"
    B1630 = "B1630"
    BEB = "BEB"
    BOALF = "BOALF"
    BOD = "BOD"
    CBS = "CBS"
    CCM = "CCM"
    CDN = "CDN"
    DAG = "DAG"
    DATL = "DATL"
    DCI = "DCI"
    DGWS = "DGWS"
    DISBSAD = "DISBSAD"
    FEIB = "FEIB"
    FREQ = "FREQ"
    FUELINST = "FUELINST"
    IGCA = "IGCA"
    IGCPU = "IGCPU"
    INDDEM = "INDDEM"
    INDGEN = "INDGEN"
    INDOD = "INDOD"
    LOLPDRM = "LOLPDRM"
    MATL = "MATL"
    MDP = "MDP"
    MDV = "MDV"
    MID = "MID"
    MILS = "MILS"
    MNZT = "MNZT"
    MZT = "MZT"
    NDZ = "NDZ"
    NETBSAD = "NETBSAD"
    NONBM = "NONBM"
    NTB = "NTB"
    NTO = "NTO"
    PBC = "PBC"
    PN = "PN"
    PPBR = "PPBR"
    QAS = "QAS"
    QPN = "QPN"
    REMIT = "REMIT"
    RURE = "RURE"
    RZDF = "RZDF"
    RZDR = "RZDR"
    SEL = "SEL"
    SIL = "SIL"
    SOSO = "SOSO"
    SYSWARN = "SYSWARN"
    TEMP = "TEMP"
    TUDM = "TUDM"
    UOU = "UOU"
    WATL = "WATL"
    YAFM = "YAFM"
    YATL = "YATL"


class DeliverymodeEnum(str, Enum):
    """Enum for DeliverymodeEnum field values."""

    DELIVERING = "Delivering"
    OFFTAKING = "Offtaking"


class EventstatusEnum(str, Enum):
    """Enum for EventstatusEnum field values."""

    ACTIVE = "Active"
    CANCELLED = "Cancelled"
    COMPLETED = "Completed"
    INACTIVE = "Inactive"
    WITHDRAWN = "Withdrawn"


class EventtypeEnum(str, Enum):
    """Enum for EventtypeEnum field values."""

    CONSUMPTION_UNAVAILABILITY = "Consumption unavailability"
    OFFSHORE_UNAVAILABILITY = "Offshore unavailability"
    PRODUCTION_UNAVAILABILITY = "Production unavailability"
    TRANSMISSION_UNAVAILABILITY = "Transmission unavailability"


class FlowdirectionEnum(str, Enum):
    """Enum for FlowdirectionEnum field values."""

    DOWN = "Down"
    UP = "Up"


class FueltypeEnum(str, Enum):
    """Enum for FueltypeEnum field values."""

    BIOMASS = "BIOMASS"
    BIOMASS_2 = "Biomass"
    CCGT = "CCGT"
    COAL = "COAL"
    FOSSIL_GAS = "Fossil Gas"
    FOSSIL_HARD_COAL = "Fossil Hard coal"
    FOSSIL_OIL = "Fossil Oil"
    GAS = "GAS"
    GEOTHERMAL = "Geothermal"
    HYDRO = "HYDRO"
    HYDRO_PUMPED_STORAGE = "Hydro Pumped Storage"
    HYDRO_RUN_OF_RIVER_AND_POUNDAGE = "Hydro Run-of-river and poundage"
    INTEW = "INTEW"
    INTFR = "INTFR"
    INTIRL = "INTIRL"
    INTNED = "INTNED"
    INTNEM = "INTNEM"
    INTNSL = "INTNSL"
    MARINE = "Marine"
    NPSHYD = "NPSHYD"
    NUCLEAR = "NUCLEAR"
    NUCLEAR_2 = "Nuclear"
    OCGT = "OCGT"
    OIL = "OIL"
    OTHER = "OTHER"
    OTHER_2 = "Other"
    PS = "PS"
    SOLAR = "Solar"
    WIND = "WIND"
    WASTE = "Waste"
    WIND_OFFSHORE = "Wind Offshore"
    WIND_ONSHORE = "Wind Onshore"


class MarketagreementtypeEnum(str, Enum):
    """Enum for MarketagreementtypeEnum field values."""

    DAILY = "Daily"
    MONTHLY = "Monthly"
    TOTAL = "Total"
    WEEKLY = "Weekly"
    YEARLY = "Yearly"


class MessagetypeEnum(str, Enum):
    """Enum for MessagetypeEnum field values."""

    BOA = "BOA"
    BOALF = "BOALF"
    DISEBSP = "DISEBSP"
    FPN = "FPN"
    MEL = "MEL"
    MIL = "MIL"
    NETEBSP = "NETEBSP"
    QPN = "QPN"
    UNAVAILABILITIESOFELECTRICITYFACILITIES = "UnavailabilitiesOfElectricityFacilities"
    UNAVAILABILITIESOFPRODUCTIONUNITS = "UnavailabilitiesOfProductionUnits"
    UNAVAILABILITIESOFTRANSMISSIONINFRASTRUCTURE = "UnavailabilitiesOfTransmissionInfrastructure"


class PricederivationcodeEnum(str, Enum):
    """Enum for PricederivationcodeEnum field values."""

    D = "D"
    N = "N"
    P = "P"
    R = "R"


class ProcesstypeEnum(str, Enum):
    """Enum for ProcesstypeEnum field values."""

    DAY_AHEAD = "Day ahead"
    INTRADAY_PROCESS = "Intraday process"
    MONTH_AHEAD = "Month ahead"
    REALISED = "Realised"
    WEEK_AHEAD = "Week ahead"
    YEAR_AHEAD = "Year ahead"


class PsrtypeEnum(str, Enum):
    """Enum for PsrtypeEnum field values."""

    BIOMASS = "Biomass"
    FOSSIL_GAS = "Fossil Gas"
    FOSSIL_HARD_COAL = "Fossil Hard coal"
    FOSSIL_OIL = "Fossil Oil"
    GENERATION = "Generation"
    GEOTHERMAL = "Geothermal"
    HYDRO_PUMPED_STORAGE = "Hydro Pumped Storage"
    HYDRO_RUN_OF_RIVER_AND_POUNDAGE = "Hydro Run-of-river and poundage"
    MARINE = "Marine"
    NUCLEAR = "Nuclear"
    OTHER = "Other"
    SOLAR = "Solar"
    WASTE = "Waste"
    WIND_OFFSHORE = "Wind Offshore"
    WIND_ONSHORE = "Wind Onshore"


class RecordtypeEnum(str, Enum):
    """Enum for RecordtypeEnum field values."""

    ITSDO = "ITSDO"
    LOLP = "LOLP"
    MELNGC = "MELNGC"
    NDZ = "NDZ"
    NTB = "NTB"
    NTO = "NTO"
    RDRE = "RDRE"
    RURE = "RURE"
    TSDO = "TSDO"


class SettlementruntypeEnum(str, Enum):
    """Enum for SettlementruntypeEnum field values."""

    DF = "DF"
    II = "II"
    R1 = "R1"
    R2 = "R2"
    R3 = "R3"
    RF = "RF"
    SF = "SF"


class SystemzoneEnum(str, Enum):
    """Enum for SystemzoneEnum field values."""

    GB = "GB"
    GB_IRL = "GB-IRL"
    GB_NIR = "GB-NIR"


class TradedirectionEnum(str, Enum):
    """Enum for TradedirectionEnum field values."""

    A01 = "A01"
    A02 = "A02"


class UnavailabilitytypeEnum(str, Enum):
    """Enum for UnavailabilitytypeEnum field values."""

    FORCED = "Forced"
    PLANNED = "Planned"
    UNPLANNED = "Unplanned"


class WarningtypeEnum(str, Enum):
    """Enum for WarningtypeEnum field values."""

    DEMAND_CONTROL_ACTIVE = "Demand Control Active"
    DEMAND_CONTROL_COMPLETE = "Demand Control Complete"
    DEMAND_CONTROL_IMMINENT = "Demand Control Imminent"
    IT_SYSTEMS_OUTAGE = "IT SYSTEMS OUTAGE"
    INSUFFICIENT_SYSTEM_MARGIN = "Insufficient System Margin"
    NEGATIVE_RESERVE_ACTIVE = "Negative Reserve Active"
    NEGATIVE_RESERVE_IMMINENT = "Negative Reserve Imminent"
    SO_SO_TRADES = "SO-SO TRADES"
