Viajes - Taller2Uber/application-server GitHub Wiki
Consulta de opciones de camino para llegar a destino por parte del pasajero.
URL : /api/v1/routes
Method : POST
Body
{
"passenger_id": 211,
"latitude_origin" : "-34.603611",
"longitude_origin" : "-58.381668",
"latitude_destination" : "-34.608055",
"longitude_destination":"-58.370277"
}
Espcificacion de campos
Nombre | Tipo | Requerido |
---|---|---|
passenger_id | integer |
Si |
latitude_origin | string |
Si |
longitude_origin | string |
Si |
latitude_destination | string |
Si |
longitude_destination | string |
Si |
Success Response
Condition : Si google puede encontrar alternativas de rutas.
Code : 200
Content example
{
"routes": [
{
"overview_polyline": {
"points": "loerElticJ?y@Bo@J]s@aZ_@sPi@ePGcCpDMbCIzCGfEIb@F~@ElANF\\Zr@l@n@"
},
"warnings": [],
"bounds": {
"northeast": {
"lat": -34.6030004,
"lng": -58.37021610000001
},
"southwest": {
"lat": -34.607626,
"lng": -58.38167070000001
}
},
"waypoint_order": [],
"summary": "Av. Corrientes and Av. Leandro N. Alem",
"copyrights": "Map data ©2017 Google",
"legs": [
{
"distance": {
"text": "1.6 km",
"value": 1580
},
"traffic_speed_entry": [],
"end_address": "Av. Rivadavia 251-299, C1002 CABA, Argentina",
"via_waypoint": [],
"start_address": "Av. Corrientes 1032-1080, Buenos Aires, Argentina",
"start_location": {
"lat": -34.6035896,
"lng": -58.38167070000001
},
"steps": [
{
"html_instructions": "Head <b>east</b> on <b>Av. Corrientes</b> toward <b>Av. 9 de Julio</b>",
"distance": {
"text": "1.0 km",
"value": 1033
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.6035896,
"lng": -58.38167070000001
},
"polyline": {
"points": "loerElticJ?EAU@Q?K?GBg@DODMEyAKuEOuGQ{GQ_HMsGUqGSsGAy@EiA"
},
"duration": {
"text": "3 mins",
"value": 189
},
"end_location": {
"lat": -34.6030004,
"lng": -58.37043109999999
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Av. Leandro N. Alem</b>",
"distance": {
"text": "0.4 km",
"value": 370
},
"travel_mode": "DRIVING",
"maneuver": "turn-right",
"start_location": {
"lat": -34.6030004,
"lng": -58.37043109999999
},
"polyline": {
"points": "vkerEdngcJp@C~BIx@EhACdBCt@CjAAzBG"
},
"duration": {
"text": "2 mins",
"value": 100
},
"end_location": {
"lat": -34.6063257,
"lng": -58.37021610000001
}
},
{
"html_instructions": "Slight <b>right</b> to stay on <b>Av. Leandro N. Alem</b>",
"distance": {
"text": "0.1 km",
"value": 101
},
"travel_mode": "DRIVING",
"maneuver": "turn-slight-right",
"start_location": {
"lat": -34.6063257,
"lng": -58.37021610000001
},
"polyline": {
"points": "p`frEzlgcJNDR@~@ElAN"
},
"duration": {
"text": "1 min",
"value": 31
},
"end_location": {
"lat": -34.6072175,
"lng": -58.3703107
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Av. Rivadavia</b><div style=\"font-size:0.9em\">Destination will be on the left</div>",
"distance": {
"text": "76 m",
"value": 76
},
"travel_mode": "DRIVING",
"maneuver": "turn-right",
"start_location": {
"lat": -34.6072175,
"lng": -58.3703107
},
"polyline": {
"points": "bffrElmgcJBPBJBHDLDJJNHJFHZX"
},
"duration": {
"text": "1 min",
"value": 26
},
"end_location": {
"lat": -34.607626,
"lng": -58.37095559999999
}
}
],
"duration": {
"text": "6 mins",
"value": 346
},
"end_location": {
"lat": -34.607626,
"lng": -58.37095559999999
}
}
]
}
],
"status": "OK",
"geocoded_waypoints": [
{
"place_id": "EjFBdi4gQ29ycmllbnRlcyAxMDMyLTEwODAsIEJ1ZW5vcyBBaXJlcywgQXJnZW50aW5h",
"geocoder_status": "OK",
"types": [
"street_address"
]
},
{
"place_id": "EixBdi4gUml2YWRhdmlhIDI1MS0yOTksIEMxMDAyIENBQkEsIEFyZ2VudGluYQ",
"geocoder_status": "OK",
"types": [
"street_address"
]
}
],
"estimated_price": 50
}
Condition : Si el usuario tiene deudas.
Code : 402
Content example
{
"error": "Negative balance.",
"balance": -20
}
Condition : Si no se respetan los parametros de la request.
Code : 400
Content example
{
"error": "Bad parameters, passenger, start and end needed."
}
Eleccion de caminos para llegar a destino por parte del pasajero.
URL : /api/v1/routes/confirm
Method : POST
Body
{
"passenger_id" : 155,
"route" : {
"overview_polyline": {
"points": "loerElticJ?y@Bo@J]s@aZ_@sPi@ePGcCpDMbCIzCGfEIb@F~@ElANF\\Zr@l@n@"
},
"warnings": [],
"bounds": {
"northeast": {
"lat": -34.6030004,
"lng": -58.37021610000001
},
"southwest": {
"lat": -34.607626,
"lng": -58.38167070000001
}
},
"waypoint_order": [],
"summary": "Av. Corrientes and Av. Leandro N. Alem",
"copyrights": "Map data ©2017 Google",
"legs": [
{
"distance": {
"text": "1.6 km",
"value": 1580
},
"traffic_speed_entry": [],
"end_address": "Av. Rivadavia 251-299, C1002 CABA, Argentina",
"via_waypoint": [],
"start_address": "Av. Corrientes 1032-1080, Buenos Aires, Argentina",
"start_location": {
"lat": -34.6035896,
"lng": -58.38167070000001
},
"steps": [
{
"html_instructions": "Head <b>east</b> on <b>Av. Corrientes</b> toward <b>Av. 9 de Julio</b>",
"distance": {
"text": "1.0 km",
"value": 1033
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.6035896,
"lng": -58.38167070000001
},
"polyline": {
"points": "loerElticJ?EAU@Q?K?GBg@DODMEyAKuEOuGQ{GQ_HMsGUqGSsGAy@EiA"
},
"duration": {
"text": "3 mins",
"value": 189
},
"end_location": {
"lat": -34.6030004,
"lng": -58.37043109999999
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Av. Leandro N. Alem</b>",
"distance": {
"text": "0.4 km",
"value": 370
},
"travel_mode": "DRIVING",
"maneuver": "turn-right",
"start_location": {
"lat": -34.6030004,
"lng": -58.37043109999999
},
"polyline": {
"points": "vkerEdngcJp@C~BIx@EhACdBCt@CjAAzBG"
},
"duration": {
"text": "2 mins",
"value": 100
},
"end_location": {
"lat": -34.6063257,
"lng": -58.37021610000001
}
},
{
"html_instructions": "Slight <b>right</b> to stay on <b>Av. Leandro N. Alem</b>",
"distance": {
"text": "0.1 km",
"value": 101
},
"travel_mode": "DRIVING",
"maneuver": "turn-slight-right",
"start_location": {
"lat": -34.6063257,
"lng": -58.37021610000001
},
"polyline": {
"points": "p`frEzlgcJNDR@~@ElAN"
},
"duration": {
"text": "1 min",
"value": 31
},
"end_location": {
"lat": -34.6072175,
"lng": -58.3703107
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Av. Rivadavia</b><div style=\"font-size:0.9em\">Destination will be on the left</div>",
"distance": {
"text": "76 m",
"value": 76
},
"travel_mode": "DRIVING",
"maneuver": "turn-right",
"start_location": {
"lat": -34.6072175,
"lng": -58.3703107
},
"polyline": {
"points": "bffrElmgcJBPBJBHDLDJJNHJFHZX"
},
"duration": {
"text": "1 min",
"value": 26
},
"end_location": {
"lat": -34.607626,
"lng": -58.37095559999999
}
}
],
"duration": {
"text": "6 mins",
"value": 346
},
"end_location": {
"lat": -34.607626,
"lng": -58.37095559999999
}
}
]
}
}
Espcificacion de campos
Nombre | Tipo | Requerido |
---|---|---|
route | Object |
Si |
passenger_id | integer |
Si |
Success Response
Condition : Si se puede confirmar la ruta.
Code : 200
Content example
{
"status": "PENDING",
"route": {},
"_id": {
"$oid": "5a18594bc3749f000be87772"
},
"passenger_id": 162,
"driver_id": null,
"initTimeStamp" : "",
"finishTimeStamp" : ""
}
Consulta de rutas disponibles por parte del conductor.
URL : /api/v1/routes/availables
Method : GET
Success Response
Condition : Si se pueden obtener las rutas.
Code : 200
Content example
[
{
"status": "PENDING",
"route": {},
"_id": {
"$oid": "5a18594bc3749f000be87772"
},
"passenger_id": 162,
"driver_id": null,
"initTimeStamp" : "",
"finishTimeStamp" : ""
}
]
Consulta de rutas.
URL : /api/v1/routes
Method : GET
Success Response
Condition : Si se pueden obtener las rutas.
Code : 200
Content example
[
{
"status": "PENDING",
"route": {},
"_id": {
"$oid": "5a18594bc3749f000be87772"
},
"passenger_id": 162,
"driver_id": null,
"initTimeStamp" : "",
"finishTimeStamp" : ""
},
{
"status": "WAITING_ACCEPTANCE",
"route": {},
"_id": {
"$oid": "5a18594bc3749f000be87772"
},
"passenger_id": 162,
"driver_id": null,
"initTimeStamp" : "",
"finishTimeStamp" : ""
}
]
Solicitar viaje por parte del conductor.
URL : /api/v1/routes/request/<string:route_id>
Method : POST
Body
{
"driver_id" : 160
}
Espcificacion de campos
Nombre | Tipo | Requerido |
---|---|---|
driver_id | integer |
Si |
Success Response
Condition : Si se pudo elegir y notificar al pasajero.
Code : 200
Content example
{
"status": "WAITING_ACCEPTANCE",
"route": {},
"_id": {
"$oid": "5a18594bc3749f000be87772"
},
"passenger_id": 162,
"driver_id": null,
"initTimeStamp" : "",
"finishTimeStamp" : ""
}
Aceptar viaje por parte del pasajero
URL : /api/v1/routes/answerRequest/<string:route_id>
Method : POST
Body
{
"accepted" : true
}
Espcificacion de campos
Nombre | Tipo | Requerido |
---|---|---|
accepted | boolean |
Si |
Success Response
Condition : Si se pudo confirmar/rechazar y notificar al conductor.
Code : 200
Content example
{
"message": "Ruta confirmada con exito, aguarde al chofer."
}
o
{
"message": "Ruta rechazada con exito, aguarde a que otro chofer elija esta ruta."
}
Conductor inicia el viaje una vez que recoge al pasajero.
URL : /api/v1/routes/start/<string:route_id>
Method : POST
Success Response
Condition : Si se pudo comenzar (calculo de distancias entre usuarios) y notificar al pasajero.
Code : 200
Content example
{
"status": "IN_PROGRESS",
"route": {},
"_id": {
"$oid": "5a18594bc3749f000be87772"
},
"passenger_id": 162,
"driver_id": null,
"initTimeStamp" : "time stamp que no te interesa",
"finishTimeStamp" : ""
}
Conductor indica que el viaje ha terminado.
URL : /api/v1/routes/finish/<string:route_id>
Method : POST
Success Response
Condition : Si se pudo elegir y notificar al pasajero.
Code : 200
Content example
{
"status": "FINISHED",
"route": {},
"_id": {
"$oid": "5a18594bc3749f000be87772"
},
"passenger_id": 162,
"driver_id": null,
"initTimeStamp" : "time stamp que no te interesa",
"finishTimeStamp" : "time stamp que no te interesa"
}
Obtencion de ruta a traves de su Id.
URL : /api/v1/routes/<string:route_id>
Method : GET
Success Response
Condition : Si se pueden obtener ruta.
Code : 200
Content example
{
"status": "PENDING",
"initTimeStamp": "",
"route": {
"overview_polyline": {
"points": "hj~qEpd|cJbEjIyAnAIJ?B?DmAdA_EdDyDhDoAbA{@l@eBjAd@lAFLKHsA~@kBnAyDlC}DnCiFbDy@h@oAv@gAh@kBdAkElCiDtB{CfBaAXc@NmAl@_BbAmIlFqDzBuMjIi@^s@\\q@Ty@Hq@@o@Iq@Om@Y[QKCG?EEMM{@_Ak@eAo@gBU{@Wo@i@}Ak@gAsCaDIC}@iBo@wA}AoDcB{E{DsLmE{MwAkEkBkFeD}HwAmDiA}CuByG_BaGwCiJ}BaHuBcGsAaEgAcEi@}Bk@}CKsA@y@Be@Lw@Pi@nAaDjBaDrM{RlAsBx@}AfAgCf@uAjDcJ|@}CnAcHJc@j@{B\\aA`A{BrDcI|EsKjEgK`Tge@lD_I`BcEpIgRpDaItK}UtAsCbAiBvE}HvGyKrN_VvB{CzCkDvB{B|@iAfCsDjAmBrBgE~AsDfFmMrBcFtBoEdBiDdDuGfCsFnAgCzGsLlA_C~B}EjEiKbByDpEoKlAaDhBeGl@iBx@kBnA}Br@}@vAeBv@w@hF_H|AwBzAcC~AqCx@gBtBiFlA_D|ByFdCoFxEiKd@y@Ze@^c@`As@v@[v@Q|@Ir@?pAN~@XhFzBnAh@t@\\rAb@jFtAhATnBVbBJjAD`CFzDVtE^zBXfBBZ@H@fBOnCOxE]bCIvTg@dGGb@D~A^t@IGiB@]Bo@J]s@aZ_@sPi@ePKgEYcIKeCGoBxG_@rCOVC?B?D@DDHDBP?NIJMBG?CfCOxEW`Ie@jNw@dAEb@?lBNI[MKGCCeBAqBG_BGsBDY@MDGLOAMHW@YvF[LCBI@SI_CpLs@bFW"
},
"warnings": [],
"bounds": {
"northeast": {
"lat": -34.5345873,
"lng": -58.36199739999999
},
"southwest": {
"lat": -34.6167785,
"lng": -58.4926365
}
},
"waypoint_order": [],
"summary": "Av. Leopoldo Lugones",
"copyrights": "Map data ©2017 Google",
"legs": [
{
"distance": {
"text": "20.9 km",
"value": 20931
},
"traffic_speed_entry": [],
"end_address": "Juana Manso 1651, Buenos Aires, Argentina",
"via_waypoint": [],
"start_address": "Franklin D. Roosevelt 4001-4071, C1430BIE CABA, Argentina",
"duration": {
"text": "39 mins",
"value": 2335
},
"steps": [
{
"html_instructions": "Head <b>southwest</b> on <b>Franklin D. Roosevelt</b> toward <b>Plaza</b>",
"distance": {
"text": "0.2 km",
"value": 187
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.5669297,
"lng": -58.4764142
},
"polyline": {
"points": "hj~qEpd|cJ|AzCdBnD"
},
"duration": {
"text": "1 min",
"value": 45
},
"end_location": {
"lat": -34.5679119,
"lng": -58.4780725
}
},
{
"html_instructions": "<b>Franklin D. Roosevelt</b> turns <b>right</b> and becomes <b>Holmberg</b>",
"distance": {
"text": "0.5 km",
"value": 549
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.5679119,
"lng": -58.4780725
},
"polyline": {
"points": "lp~qE|n|cJQNgA~@A@CBABA@?@?@?DmAdA_EdDyDhDw@n@WREDu@f@eBjA"
},
"duration": {
"text": "3 mins",
"value": 169
},
"end_location": {
"lat": -34.5639216,
"lng": -58.4815647
}
},
{
"html_instructions": "Turn <b>left</b> onto <b>Quesada</b>",
"distance": {
"text": "49 m",
"value": 49
},
"maneuver": "turn-left",
"travel_mode": "DRIVING",
"polyline": {
"points": "nw}qEvd}cJd@lAFL"
},
"duration": {
"text": "1 min",
"value": 22
},
"end_location": {
"lat": -34.5641472,
"lng": -58.482021
},
"start_location": {
"lat": -34.5639216,
"lng": -58.4815647
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Roberto Goyeneche</b>",
"distance": {
"text": "1.9 km",
"value": 1874
},
"maneuver": "turn-right",
"travel_mode": "DRIVING",
"polyline": {
"points": "|x}qErg}cJKHC@oA|@o@b@_@VOHKH_CbBk@^CBIDOLgAv@wA~@MHKF{@j@oAv@qAv@]RKFMHABC@kAt@g@V_@Pw@b@s@`@gBhAcBbAIFQJaCxAKFQJmAt@k@\\OFMDYHMDKBKDGBE@IBo@Z]P]TaAl@q@b@sBtAqAv@uAz@MFSNOJ_CvAsCdBMHKH}BxAQHKHw@f@sAz@C@"
},
"duration": {
"text": "5 mins",
"value": 329
},
"end_location": {
"lat": -34.5495347,
"lng": -58.49216589999999
},
"start_location": {
"lat": -34.5641472,
"lng": -58.482021
}
},
{
"html_instructions": "Take the ramp on the <b>left</b> to <b>Avenida Gral. Paz</b>/<b>Avenida Lugones</b>",
"distance": {
"text": "0.4 km",
"value": 446
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.5495347,
"lng": -58.49216589999999
},
"polyline": {
"points": "p}zqE`g_dJMJC@SNUJGDKFIBMDKDMDIBOBK@M@O@K@K?M?K?EAKAOAMCOCCAMCOEMEKGGCKGQKIEGACAG?EEGEEGUQMOMOIMIMKOGOMWM[GOKYMa@Mc@GW"
},
"duration": {
"text": "1 min",
"value": 35
},
"end_location": {
"lat": -34.5463552,
"lng": -58.4906754
}
},
{
"html_instructions": "Keep <b>left</b>, follow signs for <b>Av. Cabildo</b>/<b>Av. Lugones</b> and merge onto <b>Av. Gral. Paz</b>/<b>RN A001</b>",
"distance": {
"text": "2.4 km",
"value": 2424
},
"maneuver": "keep-left",
"travel_mode": "DRIVING",
"polyline": {
"points": "vizqEv}~cJQa@EMGUMa@ISIQKUKUKOGKKKKMa@c@]a@c@i@KKGGCCIC}@iBGQg@eAs@eBi@iA{AgEGSGSuBoGi@}ASq@]aAQg@q@sBkB}Fg@{Ao@oBy@_Cq@kB[w@]y@sA_DWk@Uk@aAaCu@sBSi@Qi@[_AaAaDEMOm@Qm@e@eBW_A]gAOg@i@cB_AuCq@sBm@iBMa@Oa@]cA[}@a@gAYy@Ws@M_@Y_A"
},
"duration": {
"text": "2 mins",
"value": 121
},
"end_location": {
"lat": -34.5355375,
"lng": -58.46782140000001
},
"start_location": {
"lat": -34.5463552,
"lng": -58.4906754
}
},
{
"html_instructions": "Continue onto <b>Av. Leopoldo Lugones</b>",
"distance": {
"text": "6.3 km",
"value": 6345
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.5355375,
"lng": -58.46782140000001
},
"polyline": {
"points": "bfxqEznzcJSm@Qo@U{@U}@IYGYQq@I[EUGYG[UqAEUCSAQCUAW?i@@O@M@WD[F[HYFOJ_@N[\\y@Tk@^o@j@cA^m@tAwB`IoLZe@^m@d@s@f@_A`@s@Vi@Rc@r@cBb@iABKTk@j@{Ap@gBv@sBRo@HUJ]Ry@Pw@N{@TwAVwADQDQZqANi@HSFODMDOHQv@iBzAeDvA}CL[v@aB|BaFXs@t@eBr@cBz@qBd@kAVg@t@cBrAyCDK`IgQ|AkDHQnAoCl@sAj@qAn@uAb@cA`BcEpIgRlBeEbA{BdBwDpDeIdBsDVk@l@oAf@cA^q@b@w@v@qANY|@{ApAuBnAwB|@yAl@cAzAcC~AmCnAuB~B{Db@s@HOj@aA`AaBf@w@T[NY^e@p@_Ax@aA^c@HIv@{@dAgAHIRSRUNQRWFIPUPUZa@v@mA`@m@Ze@n@gAx@cBx@cBh@iAt@iBhBsE|ByFr@gB"
},
"duration": {
"text": "5 mins",
"value": 303
},
"end_location": {
"lat": -34.5655764,
"lng": -58.41099679999999
}
},
{
"html_instructions": "Continue onto <b>Au Pres. Arturo Umberto Illia</b><div style=\"font-size:0.9em\">Partial toll road</div>",
"distance": {
"text": "4.4 km",
"value": 4436
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.5655764,
"lng": -58.41099679999999
},
"polyline": {
"points": "za~qEvkocJTk@`@}@FQP_@bBoDP_@rAiCf@}@f@cAXk@z@gBrAwCr@{AVi@v@}A~@cBnBgD|AqCLULU~@iB~@mB~@oBz@mB`@cA`@cAjAsC^y@bA_CpEoKlAaDpAiEV{@Pi@Z_Ax@kBnA}BT[\\a@b@m@r@w@d@g@POBEpA_BV]zB{Ch@u@r@aAz@sA^o@jAsBR]HSn@sAz@oBx@yBVo@t@oB`@gAZy@d@gAXo@h@kADKFKlAkCRe@v@cB`AuBjAiCR_@PYLSLQLOPSZWd@[ZOZKXI\\G^G\\AXAX@f@Dh@Hf@LVJz@^p@Xr@\\fAb@B@ZN`@NLFLFf@Td@Nl@Rx@TdAZr@Pv@P`@Jf@HbANj@Fp@Fp@B`@Bh@@^@`BDrAL"
},
"duration": {
"text": "5 mins",
"value": 297
},
"end_location": {
"lat": -34.5919911,
"lng": -58.3821355
}
},
{
"html_instructions": "Continue straight onto <b>Av. 9 de Julio</b>",
"distance": {
"text": "1.3 km",
"value": 1300
},
"maneuver": "straight",
"travel_mode": "DRIVING",
"polyline": {
"points": "|fcrEjwicJfBH`AFZBpALd@Dr@JD@`@D^DP@v@?R?H@H?D?D?D@D?B@nAIVEp@CLAt@GXAt@E`AIbAI\\CN?VA\\A|@EhEK^AnFI|EOp@AvDER?F?J?D@D?JBJBn@PVDJB@?JA^EFA"
},
"duration": {
"text": "4 mins",
"value": 260
},
"end_location": {
"lat": -34.603623,
"lng": -58.38206259999999
},
"start_location": {
"lat": -34.5919911,
"lng": -58.3821355
}
},
{
"html_instructions": "Turn <b>left</b> onto <b>Av. Corrientes</b>",
"distance": {
"text": "1.3 km",
"value": 1277
},
"maneuver": "turn-left",
"travel_mode": "DRIVING",
"polyline": {
"points": "roerEzvicJEsAAU@Q?K?GBg@DODMEyAKuEOuGQ{GQ_HMsGUqGSsGAy@EiAA_@Ac@QsEGoBE{@"
},
"duration": {
"text": "4 mins",
"value": 261
},
"end_location": {
"lat": -34.6028201,
"lng": -58.36817369999999
},
"start_location": {
"lat": -34.603623,
"lng": -58.38206259999999
}
},
{
"html_instructions": "Continue onto <b>Trinidad Guevara</b>",
"distance": {
"text": "86 m",
"value": 86
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.6028201,
"lng": -58.36817369999999
},
"polyline": {
"points": "rjerE``gcJEiACi@?IAOAk@"
},
"duration": {
"text": "1 min",
"value": 33
},
"end_location": {
"lat": -34.602746,
"lng": -58.3672431
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Av. Alicia Moreau de Justo</b>",
"distance": {
"text": "0.3 km",
"value": 253
},
"maneuver": "turn-right",
"travel_mode": "DRIVING",
"polyline": {
"points": "djerEfzfcJd@Ct@E`@CzCQxAIx@EVC"
},
"duration": {
"text": "1 min",
"value": 53
},
"end_location": {
"lat": -34.6050156,
"lng": -58.3669841
},
"start_location": {
"lat": -34.602746,
"lng": -58.3672431
}
},
{
"html_instructions": "Turn <b>right</b> toward <b>Av. Alicia Moreau de Justo</b>",
"distance": {
"text": "20 m",
"value": 20
},
"maneuver": "turn-right",
"travel_mode": "DRIVING",
"polyline": {
"points": "jxerErxfcJ?B?B?@?B@@?@@B@@@@@@@@@?@?@@@?"
},
"duration": {
"text": "1 min",
"value": 10
},
"end_location": {
"lat": -34.6051216,
"lng": -58.3671364
},
"start_location": {
"lat": -34.6050156,
"lng": -58.3669841
}
},
{
"html_instructions": "Turn <b>left</b> at <b>Macacha Güemes</b>",
"distance": {
"text": "32 m",
"value": 32
},
"maneuver": "turn-left",
"travel_mode": "DRIVING",
"polyline": {
"points": "~xerEryfcJ@A@?B?@?@?@A@?@A@?@A@?@A@A@?@A?A@A@A@A?A@A?A@A?A@A?A?A"
},
"duration": {
"text": "1 min",
"value": 21
},
"end_location": {
"lat": -34.6053432,
"lng": -58.3669501
},
"start_location": {
"lat": -34.6051216,
"lng": -58.3671364
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Av. Alicia Moreau de Justo</b>",
"distance": {
"text": "0.8 km",
"value": 773
},
"maneuver": "turn-right",
"travel_mode": "DRIVING",
"polyline": {
"points": "jzerElxfcJn@EvAIn@EvAIt@EZAtDUZALA`BKzAIPAlBKpBMp@Cz@GTAXCt@EN?NAR@R?XBv@HF@"
},
"duration": {
"text": "2 mins",
"value": 124
},
"end_location": {
"lat": -34.6122643,
"lng": -58.36632839999999
},
"start_location": {
"lat": -34.6053432,
"lng": -58.3669501
}
},
{
"html_instructions": "Turn <b>left</b> toward <b>Azucena Villaflor</b>",
"distance": {
"text": "28 m",
"value": 28
},
"maneuver": "turn-left",
"travel_mode": "DRIVING",
"polyline": {
"points": "regrEptfcJ?EAGCECGCAAACCCCAAEA"
},
"duration": {
"text": "1 min",
"value": 15
},
"end_location": {
"lat": -34.61210270000001,
"lng": -58.3661139
},
"start_location": {
"lat": -34.6122643,
"lng": -58.36632839999999
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Azucena Villaflor</b>",
"distance": {
"text": "0.3 km",
"value": 262
},
"maneuver": "turn-right",
"travel_mode": "DRIVING",
"polyline": {
"points": "rdgrEdsfcJ?SCqAAqBG_BGsBDY@G?EBC@C@AFEBE?A@AAE?CAA@EBG@C@E?E@E?E?G"
},
"duration": {
"text": "1 min",
"value": 60
},
"end_location": {
"lat": -34.6121765,
"lng": -58.3633328
},
"start_location": {
"lat": -34.61210270000001,
"lng": -58.3661139
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Olga Cossettini</b>",
"distance": {
"text": "0.1 km",
"value": 148
},
"maneuver": "turn-right",
"travel_mode": "DRIVING",
"polyline": {
"points": "begrExafcJh@AtAIhBOL?DAB?@A@??A"
},
"duration": {
"text": "1 min",
"value": 39
},
"end_location": {
"lat": -34.6134933,
"lng": -58.3631567
},
"start_location": {
"lat": -34.6121765,
"lng": -58.3633328
}
},
{
"html_instructions": "<b>Olga Cossettini</b> turns <b>left</b> and becomes <b>Martha Salotti</b>",
"distance": {
"text": "72 m",
"value": 72
},
"travel_mode": "DRIVING",
"start_location": {
"lat": -34.6134933,
"lng": -58.3631567
},
"polyline": {
"points": "hmgrEv`fcJBG@G?KA]GaB"
},
"duration": {
"text": "1 min",
"value": 22
},
"end_location": {
"lat": -34.6134681,
"lng": -58.36237689999999
}
},
{
"html_instructions": "Turn <b>right</b> onto <b>Juana Manso</b><div style=\"font-size:0.9em\">Destination will be on the right</div>",
"distance": {
"text": "0.4 km",
"value": 370
},
"maneuver": "turn-right",
"travel_mode": "DRIVING",
"polyline": {
"points": "dmgrEz{ecJhG_@fDS~AKh@Av@E`@C"
},
"duration": {
"text": "2 mins",
"value": 116
},
"end_location": {
"lat": -34.6167785,
"lng": -58.36199739999999
},
"start_location": {
"lat": -34.6134681,
"lng": -58.36237689999999
}
}
],
"start_location": {
"lat": -34.5669297,
"lng": -58.4764142
},
"end_location": {
"lat": -34.6167785,
"lng": -58.36199739999999
}
}
]
},
"finishTimeStamp": "",
"driver_id": null,
"_id": {
"$oid": "5a1f19e35c4a5a2927809d17"
},
"passenger_id": 158
}