pub struct Report {Show 16 fields
pub periods: Vec<PeriodReport>,
pub tariff_used: TariffOrigin,
pub tariff_reports: Vec<TariffReport>,
pub timezone: String,
pub billed_charging_time: Option<TimeDelta>,
pub billed_energy: Option<Kwh>,
pub billed_idle_time: Option<TimeDelta>,
pub total_charging_time: Option<TimeDelta>,
pub total_energy: Total<Kwh, Option<Kwh>>,
pub total_idle_time: Total<Option<TimeDelta>>,
pub total_time: Total<TimeDelta>,
pub total_cost: Total<Price, Option<Price>>,
pub total_energy_cost: Total<Option<Price>>,
pub total_fixed_cost: Total<Option<Price>>,
pub total_idle_cost: Total<Option<Price>>,
pub total_charging_time_cost: Total<Option<Price>>,
}Expand description
Structure containing the charge session priced according to the specified tariff.
The fields prefixed total correspond to CDR fields with the same name.
Fields§
§periods: Vec<PeriodReport>Charge session details per period.
tariff_used: TariffOriginThe index of the tariff that was used for pricing.
tariff_reports: Vec<TariffReport>A list of reports for each tariff found in the CDR or supplied to the cdr::price function.
The order of the tariff::Reports are the same as the order in which they are given.
timezone: StringTime-zone that was either specified or detected.
billed_charging_time: Option<TimeDelta>The total charging time after applying step-size.
billed_energy: Option<Kwh>The total energy after applying step-size.
billed_idle_time: Option<TimeDelta>The total idle time after applying step-size.
total_charging_time: Option<TimeDelta>Total duration of the charging session (excluding not charging), in hours.
This is a total that has no direct source field in the CDR as it is calculated in the
cdr::price function.
total_energy: Total<Kwh, Option<Kwh>>Total energy charged, in kWh.
total_idle_time: Total<Option<TimeDelta>>Total duration of the charging session where the EV was not charging (no energy was transferred between EVSE and EV).
See: total_parking_time field in https://github.com/ocpi/ocpi/blob/release-2.2.1-bugfixes/mod_cdrs.asciidoc#131-cdr-object.
Note: We use total_idle_time as it’s clearer than total_parking_time.
Some people interpret parking to mean the total time that the vehicle is standing by the charge point.
The OCPI spec defines parking as the time spent not charging.
total_time: Total<TimeDelta>Total duration of the charging session (including the duration of charging and idle phases).
total_cost: Total<Price, Option<Price>>Total sum of all the costs of this transaction in the specified currency.
total_energy_cost: Total<Option<Price>>Total sum of all the cost of all the energy used, in the specified currency.
total_fixed_cost: Total<Option<Price>>Total sum of all the fixed costs in the specified currency, except fixed price components of parking and reservation.
The cost not depending on amount of time/energy used etc. Can contain costs like a start tariff.
total_idle_cost: Total<Option<Price>>Total sum of all the costs related to idleness during this transaction. This includes fixed price components, in the specified currency.
See: total_parking_cost field in https://github.com/ocpi/ocpi/blob/release-2.2.1-bugfixes/mod_cdrs.asciidoc#131-cdr-object.
Note: We use total_idle_cost as it’s clearer than total_parking_cost.
Some people interpret parking to mean the total time that the vehicle is standing by the charge point.
The OCPI spec defines parking as the time spent not charging.
total_charging_time_cost: Total<Option<Price>>Total sum of all the cost related to duration of charging during this transaction, in the specified currency.
See: total_time_cost field in https://github.com/ocpi/ocpi/blob/release-2.2.1-bugfixes/mod_cdrs.asciidoc#131-cdr-object.
Note: We use total_charging_time_cost as it’s clearer than total_time_cost.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Report
impl RefUnwindSafe for Report
impl Send for Report
impl Sync for Report
impl Unpin for Report
impl UnsafeUnpin for Report
impl UnwindSafe for Report
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoCaveat for T
impl<T> IntoCaveat for T
Source§fn into_caveat<W>(self, warnings: Set<W>) -> Caveat<T, W>where
W: Warning,
fn into_caveat<W>(self, warnings: Set<W>) -> Caveat<T, W>where
W: Warning,
Caveat<T> by supplying a list of Warnings.Source§fn into_infallible_caveat(self) -> Caveat<Self, Infallible>
fn into_infallible_caveat(self) -> Caveat<Self, Infallible>
FromSchema is infallible a Caveat can be created using this method.