Skip to content

Ancillary Service Only Offer (AOO)

Ancillary Service Only Offer (AOO)

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, 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
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 Non-Spin:

<ASOnlyOffer>
    <startTime>2024-05-01T00:00:00-05:00</startTime>
    <endTime>2024-05-02T00:00:00-05:00</endTime>
    <asType>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>