/**
* BeNomad BeMap JavaScript API - ChargingStationStep class
*/
/**
* @classdesc
* Base class for charging station step used by EVSE routing calculation.
* @public
* @constructor
* @param {Object} options To set all fields of this class.
*/
bemap.ChargingStationStep = function(options) {
var opts = options || {};
/**
* Unique identifier.
* @type {String}
* @protected
*/
this.id = opts.id ? opts.id : undefined;
/**
* Provider name used by BeMap (bgis).
* @type {String}
* @protected
*/
this.providerName = opts.providerName ? opts.providerName : undefined;
/**
* Name of the original provider.
* @type {String}
* @protected
*/
this.sourceProvider = opts.sourceProvider ? opts.sourceProvider : undefined;
/**
* Brand of pool.
* @type {String}
* @protected
*/
this.brand = opts.brand ? opts.brand : undefined;
/**
* Name of pool.
* @type {String}
* @protected
*/
this.nameOfPool = opts.nameOfPool ? opts.nameOfPool : undefined;
/**
* Type of site.
* @type {String}
* @protected
*/
this.siteType = opts.siteType ? opts.siteType : undefined;
/**
* Accessibility of pool.
* @type {String}
* @protected
*/
this.accessibility = opts.accessibility ? opts.accessibility : undefined;
/**
* Availability status.
* @type {String}
* @protected
*/
this.availabilityStatus = opts.availabilityStatus ? opts.availabilityStatus : undefined;
/**
* Coordinate of entrance gateway to pool access.
* @type {bemap.Coordinate}
* @protected
*/
this.entrance = opts.entrance ? opts.entrance : undefined;
/**
* Pool address, country code.
* @type {String}
* @protected
*/
this.countryCode = opts.countryCode ? opts.countryCode : undefined;
/**
* Pool address, country.
* @type {String}
* @protected
*/
this.country = opts.country ? opts.country : undefined;
/**
* Pool address, state.
* @type {String}
* @protected
*/
this.state = opts.state ? opts.state : undefined;
/**
* Pool address, county.
* @type {String}
* @protected
*/
this.county = opts.county ? opts.county : undefined;
/**
* Pool address, city.
* @type {String}
* @protected
*/
this.city = opts.city ? opts.city : undefined;
/**
* Pool address, postal code.
* @type {String}
* @protected
*/
this.postalCode = opts.postalCode ? opts.postalCode : undefined;
/**
* Pool address, district.
* @type {String}
* @protected
*/
this.district = opts.district ? opts.district : undefined;
/**
* Pool address, road number.
* @type {String}
* @protected
*/
this.roadNumber = opts.roadNumber ? opts.roadNumber : undefined;
/**
* Pool address, street.
* @type {String}
* @protected
*/
this.street = opts.street ? opts.street : undefined;
/**
* Pool address, street number.
* @type {String}
* @protected
*/
this.streetNumber = opts.streetNumber ? opts.streetNumber : undefined;
/**
* Pool address, address complement.
* @type {String}
* @protected
*/
this.addressComplement = opts.addressComplement ? opts.addressComplement : undefined;
/**
* Address floor number.
* @type {String}
* @protected
*/
this.floorNumber = opts.floorNumber ? opts.floorNumber : undefined;
/**
* Phone number.
* @type {String}
* @protected
*/
this.phoneNumber = opts.phoneNumber ? opts.phoneNumber : undefined;
/**
* List of opening hours.
* @type {String}
* @protected
*/
this.openingHours = opts.openingHours ? opts.openingHours : undefined;
/**
* @type {String}
* @protected
*/
this.connectorType = opts.connectorType ? opts.connectorType : undefined;
/**
* Nominal power in kW.
* @type {double}
* @protected
*/
this.maxNominalPower = opts.maxNominalPower ? opts.maxNominalPower : undefined;
/**
* Summarized of number of charging point present in pool.
* @type {int}
* @protected
*/
this.numberOfChargingPoint = opts.numberOfChargingPoint ? opts.numberOfChargingPoint : undefined;
/**
* Comment.
* @type {String}
* @protected
*/
this.comment = opts.comment ? opts.comment : undefined;
/**
* The energy needed to come from the previous stop (in kWh).
* @type {double}
* @protected
*/
this.consumedFromPreviousStop = opts.consumedFromPreviousStop ? opts.consumedFromPreviousStop : undefined;
/**
* The battery charge level (in %) of the vehicle at the given charge point.
* @type {float}
* @protected
*/
this.batteryChargeLevel = opts.batteryChargeLevel ? opts.batteryChargeLevel : undefined;
/**
* The estimated charging time, based on energy vehicle profile (in seconds)
* or -1 in case of error (that is, if battery capacity = 0, or Connector
* power <= 0, or Maximum charge power <= 0).
* @type {long}
* @protected
*/
this.chargingTime = opts.chargingTime ? opts.chargingTime : undefined;
};