# Source: bemap-model/bemap-route.js

    /**
     * BeNomad BeMap JavaScript API - Route class
     */

    /**
     * @classdesc
     * Base class of route returned by the routing or isochrone calculation.
     * @public
     * @constructor
     */
    bemap.Route = function() {

      /**
       * BeMap JS API map object represent the route geometry.
       * @type {bemap.mapobject}
       * @protected
       */
      this.geometryMapObject = undefined;

      /**
       * Geographical extent.
       * @type {bemap.BoundingBox}
       * @protected
       */
      this.extent = undefined;

      /**
       * List of route event.
       * @type {bemap.Route}
       * @protected
       */
      this.events = [];

      /**
       * Geometry of route (used by the isochrone calculation).
       * @type {bemap.Polyline}
       * @protected
       */
      this.poyline = undefined;

      /**
       * liste of charging station step(s).
       * @type {bemap.ChargingStationStep}
       * @protected
       */
      this.chargingStationSteps = [];

    };

    /**
     * @classdesc
     * Base class of route event returned by the routing calculation.
     * @public
     * @constructor
     */
    bemap.Route.Event = function() {

      /**
       * Geometry object like bemap polyline or polygon.
       * @type {bemap.Polyline}
       * @type {bemap.Polygon}
       * @protected
       */
      this.geomatryMapObject = undefined;

      /**
       * Geometry of route event.
       * @type {bemap.Polyline}
       * @protected
       */
      this.poyline = undefined;

      /**
       * Route-sheet instruction of route.
       * @type {bemap.Route.RoutesheetInstruction}
       * @protected
       */
      this.routesheetInstruction = undefined;

    };

    /**
     * @classdesc
     * Base class of route-sheet instruction returned by the routing calculation.
     * @public
     * @constructor
     */
    bemap.Route.RoutesheetInstruction = function() {

      this.type = undefined;
      this.geoElementType = undefined;
      this.coordinate = undefined;
      this.duration = undefined;
      this.second = undefined;
      this.fromName = undefined;
      this.length = undefined;
      this.manoeuvre = undefined;
      this.roundAboutExitNumber = undefined;
      this.toName = undefined;
      this.toOn = undefined;
      this.toRn = undefined;
      this.toSi = undefined;
      this.fromPhoneme = undefined;
      this.toOnPhoneme = undefined;
      this.toPhoneme = undefined;
      this.toRnPhoneme = undefined;
      this.toSiPhoneme = undefined;

    };