Bids/Offers Data

The Bids/Offers data section is used for providing Bid and Offer transaction types and is applicable to both Inbound requests and Outbound responses

BidOffers Attributes

Item Description MRTU(CAISO) TX(ERCOT)
IntervalLength Interval size; default is one hour (XSD Optional) Note: The Interval Length must match the system operator’s required granularity. ISO Optional Field
Data Type: XML duration
‘PT1H’ is 1 hour
‘PT5M’ = 5 minutes (applicable for ProductType =‘DynLmtMin’, ‘DynLmtMax’)
ISO Required Field if ProductType = Energy Data Type: XML duration ‘PT1H’ = 1 hour
‘PT5M’ = 5 minutes
TransactionType Type of transaction/ resource (XSD Required) ISO Required Field
Data Type: Enumeration
‘Gen’
‘ParticipatingLoad’
‘Load’
‘Export’
‘Import’
‘VirtualBid’
‘VirtualOffer’
Virtual Bid/Offer will not be accepted by CAISO until they implement convergence bidding
ISO Required Field
Data Type: Enumeration
‘Gen’
‘LoadResource’
‘ParticipatingLoad’ - For controllable loads
‘VirtualOffer’
‘VirtualBid’
‘SourceSink’
‘Self-Arranged’ – For Self-Arranged AS
Location Name of the scheduled resource (XSD Required) ISO Required Field
Data Type: String
ISO Required Field
Data Type: String
SinkLocation Name of the Sink location in a two location transaction (XSD Optional) Not Applicable ISO Required Field
Data Type: String
Used for the SinkLocation of Bids/Offers requiring two locations (i.e. PTP Obligation Bids)
WheelId Wheel identifier (XSD Optional) ISO Required Field for wheels Data Type: String
Wheel Id must be associated to both the import and export side
Not Applicable
ContractId Contract identifier (XSD Optional) ISO Required Field if using ETC or TOR Data Type: String If multiple contracts are used, separate using a comma Not Applicable
SupportingResource Generator location supporting an export (XSD Optional) ISO Required Field for exports with Price Taker status
Data Type: String Sink of Gen PNode
Not Applicable
NERCTag NERC tag for imports and exports (XSD Optional) ISO Optional Field for imports and exports
Data Type: String Id of NERC tag
Not Applicable
ExternalId User assigned identifier that uniquely maps submitted rows to the client’s source system (XSD Optional) ISO Optional Field
Data Type: String
ISO Optional Field Data Type: String
BidName User assigned identifier submitted to the ISO to differentiate between bids at the same location, or bids between the same two locations (PTP) (XSD Optional) Not Applicable Required by ERCOT for Energy-Only Offers, Energy Bids, and PTP Obligation Bids. Not allowed for any other bids/offers. If a BidName is submitted for a bid/offer type that does not support it, that bid/offer will fail APX Validation.

SelfSchedule Type Attributes

  • MRTU: Used for Self Schedules of energy and RUC or self provision of ancillary services
  • TX (ERCOT): Used for resource energy (Output Schedules) and AS self arranged quantities
Item Description MRTU(CAISO) TX(ERCOT)
Product Type Type of product; (XSD Required) ISO Required Field
Data Type: Enumeration
‘Energy’
‘NonFirmEnergy’
‘RegUp’
‘RegDn’
‘Spin’
‘NSpin’
‘RUC’
‘UntCntg’
‘DynLmtMin’
‘DynLmtMax’
ISO Required Field
Data Type: Enumeration
Valid if TxType = ‘Gen’:
‘Energy’
‘RegUp’
‘RegDn’
‘RRS-PFR’
‘RRS-FFR’<br‘RRS-UFR’
‘NSpin’
‘ECRS’ (For SCED dispatched resources)
‘ECRSM’ (For SCED manually resources)
‘OffECRS’ (For SCED offline resources)
Valid if TxType = ‘LoadResource’:
‘RRS-PFR’
‘RRS-FFR’
‘RRS-UFR’
‘NSpin’ aka NSRS
‘ECRS’ (For SCED dispatched resources)
‘ECRSM’ (For SCED manually resources)
ScheduleType Type of product; (XSD Required) N/A ISO Required Field
Data Type: Enumeration:
‘SelfProvision’

Schedule Attributes

Item Description MRTU(CAISO) TX(ERCOT)
FromInterval From interval i until the next specified interval or until LastIntervalEnd. For example, submitting a single value for FromInterval 1 will assign that value to the whole interval range (XSD Required) ISO Required Field
Date Type: Integer between 1 and 25 when FirstIntervalBegin and LastIntervalEnd range = one day
ISO Required Field
Date Type: Integer between 1 and 300 when FirstIntervalBegin and LastIntervalEnd range = one day
MW The amount to be self scheduled or self provided (XSD Optional) ISO Required Field
Data Type: Non Negative Decimal (2)
MW
Data Type: Positive 4 significant digits, Decimal (0)

MarketSchedule Attributes

Item Description MRTU(CAISO) TX(ERCOT)
Product Type Type of product; (XSD Required) ISO Required Field
Date Type: Enumeration
‘Energy’
‘NonFirmEnergy’
‘RegUp’
‘RegDn’
‘Spin’
‘NSpin’
‘RUC’
‘UntCntg’
ISO Required Field
Data Type: Enumeration
‘Energy’
‘RegDn’ aka DRS
‘RegUp’ aka URS
‘RRS-PFR’
‘RRS-FFR’
‘RRS-UFR’
‘NSpin’
‘OffNSpin’
‘ECRS’
‘ECRSM’
‘OffECRS’
LinkedOfferID A string used to link multiple offers of different products into a single linked offer (XSD Optional) Not applicable Only applicable for online AS products (‘RegUp’, ‘NSpin’ and ‘Spin’). Increasing integers ranging from 1 to 5 are valid.

Curve Attributes

  • MRTU: Used for price sensitive bids and offers for energy
  • ERCOT: Used for resource energy offers (generator, load resource), virtual offers (Energy Only Offer, Energy Bid)
Item Description MRTU(CAISO) TX(ERCOT)
FromInterval From interval is until the next specified interval or until LastIntervalEnd. For example, submitting a single value for FromInterval 1 will assign that value to the whole interval range (XSD Required) ISO Required Field
Date Type: Integer between 1 and 25 when FirstIntervalBegin and LastIntervalEnd range = one day
ISO Required Field
Date Type: Integer between 1 and 25 when FirstIntervalBegin and LastIntervalEnd range = one day
LinkedHours Defines that a block of hours must receive the same award. (XSD Optional) If intervals are enumerated individually, identical string must be provided for all intervals in each block ISO Optional Field
Hourly Component
Data Type: Enumeration
‘True’
‘False’
Only applicable where Transaction Type = ‘Import’ or ‘Export’; and Product Type = ‘Energy’
Hourly Component
Data Type: String, 5 characters max. Format “X,Y” where X=first hour of block (ISO HE), and Y=number of hours in block (i.e “2,14” indicates a block from HE 2 to HE 15)
Only applicable Where [ TxType = ‘Gen’ or ‘LoadResouce’ and ( Product Type = ‘RegUp’, ‘RegDn’, ‘RRS-PFR’, ‘RRS-FFR’, ‘RRS-UFR’, ‘NSpin’, ‘ECRS’ or Product Type = ‘OffNSpin’, ‘OffECRS’ ) ] ; or [TxType = ‘VirtualBid’, ‘VirtualOffer’ and Product Type = ‘Energy’ ] ; or [TxType = ‘SourceSink’ and Product Type = ‘Energy’ ]
CurveType Describes how the Region interprets a bid point or curve (XSD Optional) ISO Optional Field
Hourly Component
Data Type: Enumeration
‘Block’
ISO Optional Field
Hourly Component
Data Type: Enumeration
‘Block’ aka Variable ‘Fixed’ ‘Slope’ aka Curve
CooptimizedWithAS A flag indicating that the ISO can co-optimize the energy and AS offers (XSD Optional) Not applicable ISO Optional Field
Data Type: Boolean
‘True’ /‘False’
Applicable where (TxType = ‘Gen’ or ‘LoadResouce’) and ProductType = ‘Energy’
Reason A string used to identify the reason for supply an updated bid Not applicable ISO Optional Field
Data Type: Enumeration
“Fuel”, “Outage”, “DSCM” or “OTHR”
Applicable where (TxType = ‘Gen’) and ProductType = ‘Energy
ReasonText A text field used when reason is OTHR Not applicable ISO Optional Field
Data Type: Freeform text field used when reason is OTHR max 128 characters Applicable where (TxType = ‘Gen’) and ProductType = ‘Energy’ and Reason = ‘OTHR’

CurvePoint Attributes

  • MRTU: Used for price sensitive bids and offers for energy
  • TX (Nodal): Used for resource energy offers (generator, load resource), virtual offers (Energy Only Offer, Energy Bid)
Item Description MRTU(CAISO) TX(ERCOT)
MW Amount of bid or offer (XSD Optional) ISO Required Field
Data Type: Positive decimal
(4 significant digits, 2 decimal places, i.e. 9999.99) Can be repeated up to 11 times (10 segments w/ price of last 2 pairs the same).
ISO Required Field
Data Type: Positive integer
(4 significant digits, i.e. 9999) If only one P/Q pair, then CurveType = ‘Block’, ‘Slope’ or ‘Fixed’ If more than one P/Q pair, then CurveType = ‘Slope’ Can be repeated up to 10 times (10 segments)
Price Price of bid or offer (XSD Optional) ISO Required Field
Data Type: Positive or negative decimal (2) Can be repeated up to 11 times (10 segments w/ price of last 2 pairs the same).
ISO Required Field
Data Type: Positive or negative decimal (2) If only one P/Q pair, then CurveType = ‘Block’, ‘Slope’ or ‘Variable’. If more than one P/Q pair, then CurveType = ‘Slope’ (max of 10 P/Q pairs)

MRTU:

  • The MWs provided for an Energy curve are interpreted as cumulative (not incremental). For Load, Export and VirtualBids, the ISO requires the curve to be decreasing (monotonically increasing quantities and decreasing prices with the last two prices being the same). For Gen, Import and VirtualOffers, the ISO requires the curve to be increasing (monotonically increasing quantities and prices with the last two prices matching).

Additional Bids/Offers Details

Definition of Bid/Offer Business key
The business key for a bilateral schedule is defined as the unique combination of:

  • Region
  • MarketParticipant
  • MarketStage
  • Interval
  • TransactionType
  • Location
  • ContractID (optional)
  • <SelfSchedule > or <MarketSchedule >
  • ProductType

Handling of Duplicates records for same Bid/Offer Business Key in same submission
If an APX Scheduling API file is submitted with duplicate bids/offers for the same business key, all bids/offers that match that business key will be rejected and won’t be saved into the APX MarketSuiteTM.

Replacing Bids/Offers
To replace a previously submitted bid or offer, simply submit an APX Scheduling API file that contains the same and business keys. The data in the new file will expire previously submitted data for this same business key.

Cancelling / Omitting Intervals for Bids/Offers
Bids/Offers data can be omitted / cancelled using one of two methods

  • Omit the “MW” attribute – this cancels specific intervals for a specific bid/offer if it already exists in the APX MarketSuiteTM or skips those intervals if this represents the initial submission of this bid or offer.

Schedule Example (Interval 2 is omitted, or cancelled if it was previously submitted to the APX MarketSuiteTM):

Copy
Copied
<MarketParticipantData Region="MRTU" MarketParticipant="SCID1" MarketStage="DA" FirstIntervalBegin="2021-03-02T08:00:00Z" LastIntervalEnd="2021-03-03T08:00:00Z">
    <BidsOffers TransactionType="Gen" Location="GEN_1">
        <SelfSchedule ProductType="Spin">
            <Schedule FromInterval="1" MW="2.6"></Schedule>
            <Schedule FromInterval="2"></Schedule>
            <Schedule FromInterval="3" MW="2.4"></Schedule>
...
        </SelfSchedule>
    </BidsOffers>
</MarketParticipantData>

Curve Example (Interval 2 is omitted, or cancelled if it was previously submitted to the APX MarketSuiteTM):

Copy
Copied
<MarketParticipantData Region="MRTU" MarketParticipant="SCID1" MarketStage="RT" FirstIntervalBegin="2021-04-29T07:00:00Z" LastIntervalEnd="2021-04-30T07:00:00Z">
    <BidsOffers TransactionType="Gen" Location="GEN_1">
        <MarketSchedule ProductType="Energy">
            <Curve FromInterval="1">
            <CurvePoint MW="310.5" Price="499"></CurvePoint>
            <CurvePoint MW="322.7" Price="499"></CurvePoint>
        </Curve>
        <Curve FromInterval="2">
            <CurvePoint/>
        </Curve>
        <Curve FromInterval="3">
            <CurvePoint MW="310.5" Price="499"></CurvePoint>
            <CurvePoint MW="322.1" Price="499"></CurvePoint>
        </Curve>
        ...
        </MarketSchedule>
    </BidsOffers>
</MarketParticipantData>

Omit the <Schedule> or <Curve> element – this cancels the specific bid/offer for all intervals from FirstIntervalBegin to LastIntervalEnd

Schedule Example

Copy
Copied
 <MarketParticipantData Region="MRTU" MarketParticipant="SCID1" MarketStage="DA" FirstIntervalBegin="2021-03-02T08:00:00Z" LastIntervalEnd="2021-03-03T08:00:00Z">
    <BidsOffers TransactionType="Gen" Location="GEN_1">
        <SelfSchedule ProductType="Spin">
    </SelfSchedule>
 </BidsOffers>
</MarketParticipantData>

Curve Example

Copy
Copied
 <MarketParticipantData Region="MRTU" MarketParticipant="SCID1" MarketStage="DA" FirstIntervalBegin="2021-03-02T08:00:00Z" LastIntervalEnd="2021-03-03T08:00:00Z">
    <BidsOffers TransactionType="Gen" Location="GEN_1">
        <MarketSchedule ProductType="Energy">
    </MarketSchedule>
 </BidsOffers>
</MarketParticipantData>