Skip to content

Ancillary Service Only Offer (AOO)

Ancillary Service Only Offer (AOO)

Info

New interface with RTC+B Implementation

The AS Only Offer is an Ancillary Service (AS) offer that is not resource specific. An individual offer should be for a single Ancillary Service product only. The offer is limited to the following AS types: Reg-Up, Reg-Down, On-Non-Spin, RRSPF (RRS – Primary Frequency Response) and ECRSS (ECRS - SCED Dispatchable):

ASOnlyOffer Structure

The ASOnlyPriceCurve structure used for ASOnlyOffers can contain up to five price/quantity offer blocks. This structure is described in the following figure:

AS Only PriceCurve Structure

On submission, the following table describes the items used for an ASOnlyOffer:

Element Req? Datatype Description Values
startTime K dateTime Start time for bid Valid start hour boundary for trade date
endTime K dateTime End time for bid Valid end hour boundary for trade date
externalId N string External ID QSE supplied
asType K string AS key code Reg-Up
Reg-Down
On-Non-Spin
RRSPF
ECRSS
bidID K string Multiple offers for same asType allowed by bidID MP supplied bid ID Value Restrictions: Only alpha numeric, “_”(underscore) and “-“(dash) are valid characters. First and last character should be alpha numeric. Min Length: 2chars. Max Length: 12 chars.
ASOnlyPriceCurve/startTime Y dateTime Start time for curve Valid hour boundary
ASOnlyPriceCurve/endTime Y dateTime End time for curve Valid hour boundary
ASOnlyPriceCurve/xvalue Y float Megawatts Quantity in MW
ASOnlyPriceCurve/yvalue Y float $/MWh Price in $/MWh

The following is an XML example for an ASOnlyOffer for AS type Reg-Up:

<ASOnlyOffer>
    <startTime>2024-05-01T00:00:00-05:00</startTime>
    <endTime>2024-05-02T00:00:00-05:00</endTime>
    <asType>Reg-Up</asType>
    <bidID>bid1</bidID>
    <ASOnlyPriceCurve>
        <startTime>2024-05-01T00:00:00-05:00</startTime>
        <endTime>2024-05-02T00:00:00-05:00</endTime>
        <CurveData>
            <xvalue>24</xvalue>
            <y1value>1.83</y1value>
        </CurveData>
        <CurveData>
            <xvalue>20</xvalue>
            <y1value>1.60</y1value>
        </CurveData>
        <CurveData>
            <xvalue>18</xvalue>
            <y1value>1.55</y1value>
        </CurveData>
        <CurveData>
            <xvalue>22</xvalue>
            <y1value>1.62</y1value>
        </CurveData>
        <CurveData>
            <xvalue>28</xvalue>
            <y1value>1.90</y1value>
        </CurveData>
    </ASOnlyPriceCurve>
</ASOnlyOffer> 

The following is another XML example for an ASOnlyOffer, where the AS type is only Reg-Down:

<ASOnlyOffer>
    <startTime>2024-05-01T00:00:00-05:00</startTime>
    <endTime>2024-05-02T00:00:00-05:00</endTime>
    <asType>Reg-Down</asType>
    <bidID>bid2</bidID>
    <ASOnlyPriceCurve>
        <startTime>2024-05-01T00:00:00-05:00</startTime>
        <endTime>2024-05-02T00:00:00-05:00</endTime>
        <CurveData>
            <xvalue>15</xvalue>
            <y1value>1.82</y1value>
        </CurveData>
        <CurveData>
            <xvalue>27</xvalue>
            <y1value>1.95</y1value>
        </CurveData>
        <CurveData>
            <xvalue>30</xvalue>
            <y1value>1.96</y1value>
        </CurveData>
        <CurveData>
            <xvalue>27</xvalue>
            <y1value>1.83</y1value>
        </CurveData>
        <CurveData>
            <xvalue>21</xvalue>
            <y1value>1.80</y1value>
        </CurveData>
    </ASOnlyPriceCurve>
</ASOnlyOffer>

The following is another XML example for an ASOnlyOffer, where the AS type is On- Non-Spin:

<ASOnlyOffer>
    <startTime>2024-05-01T00:00:00-05:00</startTime>
    <endTime>2024-05-02T00:00:00-05:00</endTime>
    <asType>On-Non-Spin</asType>
    <bidID>bid3</bidID>
    <ASOnlyPriceCurve>
        <startTime>2024-05-01T00:00:00-05:00</startTime>
        <endTime>2024-05-02T00:00:00-05:00</endTime>
        <CurveData>
            <xvalue>20</xvalue>
            <y1value>1.65</y1value>
        </CurveData>
        <CurveData>
            <xvalue>22</xvalue>
            <y1value>1.70</y1value>
        </CurveData>
        <CurveData>
            <xvalue>25</xvalue>
            <y1value>1.75</y1value>
        </CurveData>
        <CurveData>
            <xvalue>27</xvalue>
            <y1value>1.83</y1value>
        </CurveData>
        <CurveData>
            <xvalue>29</xvalue>
            <y1value>1.85</y1value>
        </CurveData>
    </ASOnlyPriceCurve>
</ASOnlyOffer>

The following is another XML example for an ASOnlyOffer, where the AS type is RRSPF:

<ASOnlyOffer>
    <startTime>2024-05-01T00:00:00-05:00</startTime>
    <endTime>2024-05-02T00:00:00-05:00</endTime>
    <asType>RRSPF</asType>
    <bidID>bid4</bidID>
    <ASOnlyPriceCurve>
        <startTime>2024-05-01T00:00:00-05:00</startTime>
        <endTime>2024-05-02T00:00:00-05:00</endTime>
        <CurveData>
            <xvalue>25</xvalue>
            <y1value>1.83</y1value>
        </CurveData>
        <CurveData>
            <xvalue>30</xvalue>
            <y1value>2.20</y1value>
        </CurveData>
        <CurveData>
            <xvalue>28</xvalue>
            <y1value>2.12</y1value>
        </CurveData>
        <CurveData>
            <xvalue>25</xvalue>
            <y1value>2.22</y1value>
        </CurveData>
        <CurveData>
            <xvalue>20</xvalue>
            <y1value>2.10</y1value>
        </CurveData>
    </ASOnlyPriceCurve>
</ASOnlyOffer>

The following is another XML example for an ASOnlyOffer, where the AS type is ECRSS:

<ASOnlyOffer>
    <startTime>2024-05-01T00:00:00-05:00</startTime>
    <endTime>2024-05-02T00:00:00-05:00</endTime>
    <asType>ECRSS</asType>
    <bidID>bid5</bidID>
    <ASOnlyPriceCurve>
        <startTime>2024-05-01T00:00:00-05:00</startTime>
        <endTime>2024-05-02T00:00:00-05:00</endTime>
        <CurveData>
            <xvalue>26</xvalue>
            <y1value>1.83</y1value>
        </CurveData>
        <CurveData>
            <xvalue>23</xvalue>
            <y1value>1.81</y1value>
        </CurveData>
        <CurveData>
            <xvalue>21</xvalue>
            <y1value>1.75</y1value>
        </CurveData>
        <CurveData>
            <xvalue>18</xvalue>
            <y1value>1.70</y1value>
        </CurveData>
        <CurveData>
            <xvalue>20</xvalue>
            <y1value>1.75</y1value>
        </CurveData>
    </ASOnlyPriceCurve>
</ASOnlyOffer>

And the corresponding response:

    <ns1:BidSet xmlns:ns1="http://www.ercot.com/schema/2007-06/nodal/ews">
          <ns1:tradingDate>2024-05-01</ns1:tradingDate>
          <ns1:ASOffer>
                <ns1:mRID>QSAMP.20240501.AOO.ECRSS.bid5 </ns1:mRID>
                <ns1:externalId/>
                <ns1:status>ACCEPTED</ns1:status>
                <ns1:error>
                    <ns1:severity>INFORMATIVE</ns1:severity>
                    <ns1:text>Successfully processed the ERCOT As Only Offer.</ns1:text>
                </ns1:error>
          </ns1:ASOffer>
    </ns1:BidSet>