1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//! The OCPI **2.3.0** wire model: the canonical model of this crate.
//!
//! Every other version in `ocpi-kit` is described as a delta from this one — [`crate::v2_2_1`]
//! re-exports the types that are byte-identical and defines only what changed, and
//! [`crate::convert`] carries objects between them with an explicit account of what was lost.
//!
//! # What 2.3.0 added
//!
//! | Area | Change |
//! |---|---|
//! | [`payments`] | new module: payment terminals and financial advice confirmations |
//! | [`types::Price`] | `{before_taxes, taxes[]}` replaces 2.2.1's `{excl_vat, incl_vat}` |
//! | [`tariffs::TaxIncluded`] | new required `Tariff.tax_included`, for North American tax rules |
//! | [`tariffs::PriceLimit`] | `min_price`/`max_price` gained an `after_taxes` bound |
//! | [`locations::Parking`] | new object, for EU AFIR reporting to National Access Points |
//! | [`locations::ConnectorType`] | became an `OpenEnum`, and gained `MCS` |
//! | [`locations::ConnectorCapability`] | new: ISO 15118-2 / -20 Plug & Charge |
//! | [`tokens::TokenType`] | became an `OpenEnum`, and gained `EMAID` |
//! | [`types::Role`] | `HUB` **removed**; a hub is now `Credentials.hub_party_id` |
//! | [`credentials::Credentials`] | gained `hub_party_id` |
//! | [`locations::Location`] | gained `help_phone` |
//!
//! # Conventions used throughout
//!
//! * Every object carries an `extensions` field: undocumented JSON is preserved, never dropped.
//! * A field the spec marks optional (`?`) is an `Option`; a list (`*` or `+`) is a `Vec`, and
//! the `+` cardinality is checked by [`Validate`](crate::types::Validate) rather than by the
//! type system, so a peer's under-filled object still decodes.
//! * A field named `type` on the wire is spelled out in Rust — `token_type`, `image_type`,
//! `tariff_type` — and carries `#[serde(rename = "type")]`.
//! * Objects that are more than a handful of fields have a compile-time-checked builder:
//! `Location::builder().country_code("NL")…build()`.
//!
//! Spec: <https://github.com/ocpi/ocpi>, `release-2.3.0-bugfixes`
pub use Cdr;
pub use Credentials;
pub use ;
pub use ;
pub use ;
pub use ;
pub use Session;
pub use Tariff;
pub use Token;
pub use ;
pub use ;
/// The version number this module implements.
pub const VERSION: crateVersionNumber = crateV2_3_0;