Provision a Site

Provisioning a Site

If this customer was previously presented with a forecast of their potential savings, there will be an account (a.k.a site) already created for them. Below we show you how to make sure this account is up to date so that you can start calculating actual savings. If an account doesn't already exist, make sure the data below is set when adding the new account. You can do this in one API call, or several, depending on what works best for your application.

Find the Existing “Potential Customer” Account

The first step is to find the existing account that was created when the customer was a potential customer. You can retrieve the specific account based on the Genability accountId or your own providerAccountId, which is the unique ID you may have assigned to the account when it was created. Here are sample requests for retrieving the account by accountId and providerAccountId:

GET /rest/v1/accounts/{accountId}
GET /rest/v1/accounts/pid/{providerAccountId}

You can read more about how to Get An Account in our Genability Developer documentation, including how to search for the one that matches if you do not have an ID available in your application.

If the account does not exist, you will need to create an account for the customer now. Visit our Genability Developer documentation for more information on how to Add An Account. Also, remember to set the new account’s type to CUSTOMER (see Update the Account Type).

Update the Account Type

Next the account type will need to be updated from (1) POTENTIAL or NULL to (2) CUSTOMER. This will enable you to find this account more easily in Dash and via the API. Here is a sample request on how to update the type:

PUT /rest/v1/accounts/pid/{providerAccountId}/properties
{
    "keyName":"type",
    "dataValue":"CUSTOMER"
}

To learn more about how to update the customer type and other properties, take a look at our documentation to Add or Update an Account Property.

Confirm the Site Actual Electric Tariff

After retrieving or creating the account, you will need to confirm the electric tariff and assign the solar tariff for the account. This will allow your calculations to use the appropriate electric and solar prices when calculating actual solar savings.

If you found an existing account from the original proposal, confirm the electric tariff has not changed. Sometimes customers change tariffs when they install solar or storage (or whatever you are measuring). If the customer has chosen a new electric tariff, update the electric tariff including an effective date as to when the tariff was changed. This is most likely on or around the interconnection date.

PUT /rest/v1/accounts/pid/{providerAccountId}/tariffs
{
    "masterTariffId": 522,
    "serviceType": "ELECTRICITY",
    "effectiveDate": "2015-01-01T00:00-0800"
}

Of course, if you created a new account, you will need to either confirm the default tariff or select an alternate tariff.

Visit our documentation on Account Tariff to read more about how to get available tariffs and how to add or update the tariff on the account. You can also set Contracted Rates to an account for customers in deregulated markets.

Set the Solar Pricing

Next you will add the price the customer pays for solar by selecting a solar tariff for the account. The solar costs will be used to calculate for the customer’s actual savings. For each solar tariff you can set the customer’s specific PPA rate or lease rate by using the CONTRACTED function as detailed in the examples provided below. You will use the masterTariffId of the solar tariff to update the account’s solar tariff. An effectiveDate will be included in the request to specify the date the solar tariff is effective for the account.

Here is an example on how to assign a solar tariff with a PPA rate:

PUT /rest/v1/accounts/pid/{providerAccountId}/tariffs
{
    "masterTariffId": {masterTariffId},
    "serviceType": "SOLAR_PV",
    "effectiveDate": "2015-06-01T00:00-0700",
    "rates": [
            {
                "rateName": "PPA Rate",
                "chargeType": "CONSUMPTION_BASED",
                "chargeClass": "CONTRACTED",
                "chargePeriod": "MONTHLY",
                "rateBands": [
                    {
                        "rateAmount": "0.155",
                        "rateUnit": "COST_PER_UNIT"
                    }
                ]
            }
    ]
}

Here is an example on how to assign a solar tariff with a flat monthly PPA:

PUT /rest/v1/accounts/pid/{providerAccountId}/tariffs
{
    "masterTariffId": {masterTariffId},
    "serviceType": "SOLAR_PV",
    "effectiveDate": "2015-06-01T00:00-0700",
    "rates": [
            {
                "rateName": "Flat Monthly PPA",
                "chargeType": "FIXED_PRICE",
                "chargeClass": "CONTRACTED",
                "chargePeriod": "MONTHLY",
                "rateBands": [
                    {
                        "rateAmount": "125"
                    }
                ]
            }
    ]
}

Here is an example on how to assign a solar tariff with a lease:

PUT /rest/v1/accounts/pid/{providerAccountId}/tariffs
{
    "masterTariffId": {masterTariffId},
    "serviceType": "SOLAR_PV",
    "effectiveDate": "2015-06-01T00:00-0700",
    "rates": [
            {
                "rateName": "Lease",
                "chargeType": "FIXED_PRICE",
                "chargeClass": "CONTRACTED",
                "chargePeriod": "MONTHLY",
                "rateBands": [
                    {
                        "rateAmount": "295"
                    }
                ]
            }
    ]
}

Here is an example on how to assign a solar tariff with a balanced bill:

PUT /rest/v1/accounts/pid/{providerAccountId}/tariffs
{
    "masterTariffId": {masterTariffId},
    "serviceType": "SOLAR_PV",
    "effectiveDate": "2015-06-01T00:00-0700",
    "rates": [
            {
                "rateName": "Balanced Bill",
                "chargeType": "FIXED_PRICE",
                "chargeClass": "CONTRACTED",
                "chargePeriod": "MONTHLY",
                "rateBands": [
                    {
                        "rateAmount": "125"
                    }
                ]
            }
    ]
}

In the near future you will be able to set the interconnection date of the solar system. This information will allow us to determine when the net metering true up is expected to occur and will allow us to perform the calculation correctly.

Next : Load electricity usage data and Calculate Electricity Costs.