In the Hubject platform, you may choose from four different pricing models while creating Authorization/Reservation service offers:
Feature |
Standard Pricing |
Product Pricing |
Flexible/Dynamic Pricing |
|
---|---|---|---|---|
Flat price (kWh or minutes) |
X |
X |
X |
X |
Tariffs with multiple price fees: |
|
X |
X |
X |
|
|
X |
X |
X |
|
|
|
X |
X |
|
|
X |
X |
X |
|
|
|
X |
X |
|
|
|
|
X |
Weekly scheduler for tariffs |
|
|
X |
X |
Tariffs overview & export |
|
X |
|
X |
EVSEs groups structuring |
|
|
|
X |
Price changes |
|
|
X |
X (Bilateral offers only) |
Price submission via API |
|
|
X |
Upcoming |
Tariff & Pricing pull via API |
|
|
|
X |
Check out our Next Generation Pricing model for improved functionality!
To offer a new service please click the Create New Offer button in the Business Contracts application. You access a new page, enabling you to enter the settings for your service offer.
Create your new service offer in three steps.
1. Choose Offer Type
First, please choose a service type. This is a mandatory field.
- Choosing Authorization will allow charging sessions at your charge points for partners that subscribe to this offer.
- Choosing Reservation enables the end customers of partners that subscribe to your offer to reserve your charge points (optional)
Second, please choose between Offer to all partners (OfferToAll, O2A) and Offer to specific partners who you want to send an offer to. This is a mandatory field.
- Offer to all partners: This service offer will be sent to all potential subscribers including partners that join the platform while your current offer is running.
- Offer to specific partners: This service offer will be sent only to the partner you choose from the dropdown list.
2. Provide name & duration of your offer
You choose a name for the offer that will help you recognize your services offered. You determine the run-time by selecting Valid From and Valid To, and you set the rules for cancellation.
Optional: You can also upload a PDF file specifying additional Terms & Conditions (please do not add any prices or tariff information here to ensure that the offer remains machine readable for EMPs).
3. Choose A Pricing Model For Your Offer
Select Flexible/Dynamic as pricing model. Flexible/dynamic pricing at Hubject allows you as the CPO to update tariffs via an API once you have created the initial offer in the portal. It is one of Hubject's legacy pricing models and will no longer be updated. However, you may continue to use it.
Ensure that all parties involved have implemented the eRoamingDynamicPricing API as this function will be the most reliable way to check current prices. The portal will only show the prices set at the beginning of the latest offer.
Choose the action type Full-Load / Delete when first creating the offer.
-
Update / Insert may be used in case the initial upload had data errors, the action type "update" can be used for corrective modifications of the data. The action type "delete" can also be used to delete incorrect or outdated data records.
For O2As, the action types Update and Delete can only be used as long as the service offer has no subscribers. After the first subscription to the offer, prices can no longer be updated or deleted.
In the second step, you will be prompted to upload two CSV files during offer creation. There are templates available for download during offer creation. Find them again in the bottom of the article. We recommend editing the files in a text editor such as TextEdit (Mac) or Editor (Windows), as Excel sometimes corrupts the CSV file. Please save the CSV file as CSV Comma Separated, not as UTF-8 Comma Separated.
eRoamingPricingProducts
This file specifies the pricing products for this pricing model. The first line of this file contains the operator name and the default tariff.
The following values are available for the first line:
Operator Name | DefaultReferenceUnit | DefaultPrice | DefaultPriceCurrency |
Name of the operator pushing the data | Default reference unit in time or kWh (possible values are HOUR, KILOWATT_HOUR, MINUTE) | A default price for pricing sessions at undefined EVSEs - the default price must be the same across all flexible/dynamic offers if there are multiple flexible/dynamic offers | Currency for default prices (based on ISO 4217 - for example, EUR, CHF) |
For example:
Mark's Home charging point,KILOWATT_HOUR,5,EUR
Mark's Home charging point is the operator name, and this operator has set a default tariff of 5€ per kWh.
The following lines specify the different tariffs.
The following fields are available for all following lines of the CSV file:
ProductID |
ReferenceUnit |
PricePerReferenceUnit | ProductPriceCurrency | MaximumProductChargingPower | IsValid24hours | ProductAvailabilityTimes | begin |
end |
AdditionalReference (optional) | AdditionalReferenceUnit (optional) | PricePerAdditionalReferenceUnit (optional) |
Name of the pricing product | Reference unit in time or kWh (possible values are HOUR, KILOWATT_HOUR, MINUTE) | A price value per the given reference unit | Currency of the defined pricing product (based on ISO 4217 - for example EUR, CHF) | Maximum product charging power (in kW) | "true" if this product is applicable 24 hours a day, otherwise "false" | Day values to be used in specifying periods in which the product is available (possible values are Everyday, Workdays, Weekend, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday) | Opening time (HH:MM) |
Closing time (HH:MM) |
Additional pricing components to be considered in addition to the base pricing (possible values are START FEE, FIXED FEE, PARKING FEE, MINIMUM FEE; MAXIMUM FEE) |
Reference unit in time or kWh (possible values are HOUR, KILOWATT_HOUR, MINUTE) | A price in the given currency |
For example:
Peak,KILOWATT_HOUR,5,EUR,30,false,Workdays,09:00,18:00,PARKING FEE,KILOWATT_HOUR,4
The peak tariff is defined with a base fee of 5€ per kWh for a maximum charging power of 30 kW - this product is not applicable for 24 hours per day, but only applies during the peak hours between 9:00 and 18:00. Additionally, a parking fee of 4€ per kWh applies.
The field AdditionalReference provides the following additional price references which can be used to define a variable component in addition to the base price:
a. Start Fee: can be used in case a fixed price is charged for the initiation of the charging session. This fee will be added to the base price defined in PricePerReferenceUnit.
b. Fixed Fee: can be used if a single fixed price is to be billed irrespective of charging duration or energy consumption (e.g. when all sessions are to be charged a single fixed fee). When used, the base price for the respective ProductID should be set to zero and the price provided as a fixed fee will be the single value billed for all sessions.
c. Parking Fee: can be used in case sessions are to be billed for both parking and charging. When used, the default definition shall be that the Parking Fee applies from SessionStart to SessionEnd.
Note: in Next Generation Pricing we provide the possibility for CPOs to determine when parking starts and when it ends based on different combinations of the SessionStart, ChargingStart, SessionEnd, and ChargingEnd attributes. This means a CPO can choose to define their parking fee from ChargingEnd to SessionEnd rather than the above SessionStart to SessionEnd definition.
d. Minimum Fee: can be used in case there is a minimum fee to be paid for all charging sessions. When used, this implies that the final amount to be paid cannot be less than (but can be greater than) the minimum fee.
e. Maximum Fee: can be used in case there is a maximum fee to be paid for all charging sessions. When used, this implies that the final amount to be paid cannot be more than (but can however be less than) the maximum fee.
eRoamingEVSEpricing
This file specifies which EVSEs in the operator's network are associated with which pricingProduct (specified in the previous file).
For example:
DE*AB7*E840*6587,Peak
DE*AB7*E840*6587,Off peak
DE*AB7*E840*6625,Peak
DE*AB7*E840*2833,Peak
Optional: Updating bilateral offers via API
Optional: CPOs may use the API to update their offers and EVSEpricing associations for bilateral offers. This functionality is not for OfferToAlls.
Contrary to OfferToAlls, in bilateral offers, the tariff may be adjusted during the lifetime of the contract, but the CPO must agree the frequency of the price changes with the EMP beforehand.
Review the OpenAPI specification on Github for a detailed technical description of the API:
Publish the offer
Once all mandatory fields have been completed the Publish button will become available in the bottom right corner. Once you publish the offer, it will remain as Pending until the first EMP subscribes - then it becomes active.
You may also save it as a draft. Please note that PDF files cannot be saved with the draft
Best practices
For each charging session, one and only one pricing ProductID should be assigned. It is also highly recommended that this ProductID is included in the respective CDR (using the field PartnerProductID in the CDR) in order to increase transparency and efficiency in determining which tariff/price is to be applied.
For time-based flexible pricing, if the complete duration of the charging session results in an overlap of two or more pricing products (i.e. 2 ProductIDs), the ProductID valid at ChargingStart time is applicable for the billing process.
The next article provides you with information about how to cancel a service offer.