Source: bemap-model/bemap-chargingStationStep.js

/**
 * 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;

};