json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "https://github.com/route4me/json-schemas/blob/master/Direction.dtd",
      "description": "the course or path on which something is moving or pointing",
      "title": "Direction",
      "type": "object",
      "properties": {
          "location": {
              "type": "object",
              "properties": {
                  "time": {
                      "type": "integer",
                      "title": "Time",
                      "description": ""
                  },
                  "segment_distance": {
                      "type": "number",
                      "title": "Segment distance",
                      "description": "Current segment length"
                  },
                  "name": {
                      "type": "string",
                      "title": "Name",
                      "description": "Direction name"
                  },
                  "start_location": {
                      "type": "string",
                      "title": "Start location",
                      "description": "Start location name"
                  },
                  "end_location": {
                      "type": "string",
                      "title": "End location",
                      "description": "End location name"
                  },
                  "directions_error": {
                      "type": "string",
                      "title": "Directions error",
                      "description": "Directions error message"
                  },
                  "error_code": {
                      "type": "integer",
                      "title": "Error code",
                      "description": "Error code"
                  }
              }
          },
          "steps": {
              "type": "array",
              "items": {
                  "type": "object",
                  "properties": {
                      "directions": {
                          "type": "string",
                          "enum": [
                              "Head",
                              "Go Straight",
                              "Turn Left",
                              "Turn Right",
                              "Turn Slight Left",
                              "Turn Slight Right",
                              "Turn Sharp Left",
                              "Turn Sharp Right",
                              "Roundabout Left",
                              "Roundabout Right",
                              "Uturn Left",
                              "Uturn Right",
                              "Ramp Left",
                              "Ramp Right",
                              "Fork Left",
                              "Fork Right",
                              "Keep Left",
                              "Keep Right",
                              "Ferry",
                              "Ferry Train",
                              "Merge",
                              "Reached Your Destination"
                          ],
                          "title": "Directions",
                          "description": "Directions of movement"
                      },
                      "direction": {
                          "type": "string",
                          "title": "Direction",
                          "description": "Text for current direction"
                      },
                      "distance": {
                          "type": "number",
                          "title": "Distance",
                          "description": "Step distance"
                      },
                      "distance_unit": {
                          "type": "string",
                          "enum": [
                              "mi",
                              "km"
                          ],
                          "title": "Distance unit",
                          "description": "Distance unit - 'mi' or 'km'"
                      },
                      "maneuverType": {
                          "type": "string",
                          "enum": [
                              "HEAD",
                              "GO_STRAIGHT",
                              "TURN_LEFT",
                              "TURN_RIGHT",
                              "TURN_SLIGHT_LEFT",
                              "TURN_SLIGHT_RIGHT",
                              "TURN_SHARP_LEFT",
                              "TURN_SHARP_RIGHT",
                              "ROUNDABOUT_LEFT",
                              "ROUNDABOUT_RIGHT",
                              "UTURN_LEFT",
                              "UTURN_RIGHT",
                              "RAMP_LEFT",
                              "RAMP_RIGHT",
                              "FORK_LEFT",
                              "FORK_RIGHT",
                              "KEEP_LEFT",
                              "KEEP_RIGHT",
                              "FERRY",
                              "FERRY_TRAIN",
                              "MERGE",
                              "REACHED_YOUR_DESTINATION"
                          ],
                          "title": "Maneuver type",
                          "description": "Maneuver type"
                      },
                      "compass_direction": {
                          "type": "string",
                          "enum": [
                              "N",
                              "S",
                              "W",
                              "E",
                              "NW",
                              "NE",
                              "SW",
                              "SE"
                          ],
                          "title": "Compass direction",
                          "description": "Compass direction"
                      },
                      "maneuverPoint": {
                          "type": "object",
                          "title": "Maneuver point",
                          "items": {
                              "properties": {
                                  "lat": {
                                      "type": "number",
                                      "minimum": -90,
                                      "maximum": 90,
                                      "title": "Latitude",
                                      "description": "Point latitude"
                                  },
                                  "lng": {
                                      "type": "number",
                                      "minimum": -180,
                                      "maximum": 180,
                                      "title": "Longitude",
                                      "description": "Point longitude"
                                  }
                              }
                          }
                      },
                      "duration_sec": {
                          "type": "integer",
                          "title": "Duration (sec)",
                          "description": "Step duration (sec)"
                      }
                  }
              }
          }
      }
  }