Api Manager

© Visitmoov 2024

version 1.0.23

loader spinning earth

By continuing your visit to this site, you agree to the use ofcookies to offer you services and offers adapted to your centersof interest. x

Introduction

Welcome to the Visitmoov API!

A budget, your wish list, the time you have in front of you ...
Visitmoov organizes a unique discovery experience for you, adapted to your pace. More than a list of attractions, Visitmoov advises you on places and activities and guides you, step by step, for a tailor-made discovery of your destination.

Getting started

To start, you must create an account on our developer portal.

Our APIs uses API keys to allow access to the API. You can register a new API key at our developer portal. To obtain a key, you must create an application (which can represent one of your applications or other) by giving it a name and pressing the "Create an application" button.

You can access the application settings by clicking on the button . It is possible to change the call limit, the rights on an API and limit the domains that have access to it.

Visitmoov

Search place

Example request:

https://api.visitmoov.com/api/v1/search_place/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&latlng=48.84458%2C2.438912&max_dist=5000

This request returns JSON structured like this:

{ "success": true, "result": [ { "id": "1a8bf1962880101092705f46ba39a2c33b8d3d20", "name": "7 parcours du patrimoine à Vincennes", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "address": "Office de tourisme de Vincennes, 28 avenue de Paris", "postal_code": "94300", "visit_time": 30, "name_fr": "7 parcours du patrimoine à Vincennes", "image": "https://api.visitmoov.com/getSrcImage/?n0=fb41b368a1106ca16af2d41a5f0fd7ef1fffcd56&n1=40384aeca445d25a6971e3a04567ffc47a062963&id=cf98f72ea7466c8d77f1962888e567393d8e8edb", "geometry": { "type": "Point", "coordinates": [ 2.434853, 48.845089 ] }, "township_name": "Vincennes", "subtype_name": "Loisir", "distance": 302.37191248 }, { "id": "aa01b15c062e69d6178a5409c65f0b6f1010968b", "name": "AccorHotels Arena", "subtype_id": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "price_min": null, "price_max": null, "address": "8 Boulevard de Bercy, 75012, Paris", "postal_code": null, "visit_time": 120, "name_fr": "AccorHotels Arena", "image": "https://api.visitmoov.com/getSrcImage/?n0=3b21af8e4389eb34a869a1f1c4f805c3c8afa829&n1=adff51628e5c95a0f85119a4a2a3361acb47a5fa&id=342cc5c41eff1010966a70772d8f94e18632a368", "geometry": { "type": "Point", "coordinates": [ 2.3787905, 48.8386882 ] }, "township_name": "Paris", "subtype_name": "Monument", "distance": 4448.33237088 }, { "id": "8ad3cc90d26f690421ff3f5725f0506980da78f121308", "name": "Adolphe Itasse", "subtype_id": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 15, "name_fr": "Adolphe Itasse", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.3954149, 48.8585031 ] }, "township_name": "Paris", "subtype_name": "Monument", "distance": 3539.16716326 }, { "id": "77256b3f196791995bcf7d2482512873a6a46719", "name": "Agence Comside Multimédia", "subtype_id": "8dee1ee779c1309b47c16997ec9d571b5a1b2b96", "price_min": null, "price_max": null, "address": "8 rue des deux communes", "postal_code": "94300", "visit_time": 30, "name_fr": "Agence Comside Multimédia", "image": "https://api.visitmoov.com/getSrcImage/?n0=b07e46bfa15723e44fc876b3b5bc23ab61c93560&n1=b53d8c7122922a08f14dddf2e9340ba4247e75b6&id=f5d008f19679185c64e4dc26e412aba6b7a3c9cc", "geometry": { "type": "Point", "coordinates": [ 2.429532, 48.849693 ] }, "township_name": "Montreuil", "subtype_name": "Services", "distance": 891.26154312 }, { "id": "a66c6f8a2dd529c1f732eca59f1657611191c204", "name": "Agence nationale des fréquences", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 60, "name_fr": "Agence nationale des fréquences", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4265301, 48.8045404 ] }, "township_name": "Maisons-Alfort", "subtype_name": "Autre", "distance": 4543.54298479 }, { "id": "375a885d7109ecd3532adb2f2d2b9336b2632395", "name": "A la mère de famille", "subtype_id": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "price_min": null, "price_max": null, "address": "30 rue du midi", "postal_code": "94300", "visit_time": 30, "name_fr": "A la mère de famille", "image": "https://api.visitmoov.com/getSrcImage/?n0=7f8560bd2aaa1564a5e59a784d1272580a078b17&n1=e9d09d04b2bee607cfdb8a0693ce64422299de6e&id=297aa3af755127cbed27baca207d3532fa218255", "geometry": { "type": "Point", "coordinates": [ 2.436102, 48.84731 ] }, "township_name": "Vincennes", "subtype_name": "Commerce", "distance": 366.64914021 }, { "id": "a725b24d9f7644ecba789a56a7e16283d29cc45b", "name": "Alfortville/Charles de Gaulle/16", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 30, "name_fr": "Alfortville/Charles de Gaulle/16", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4135848, 48.8146076 ] }, "township_name": "Alfortville", "subtype_name": "Autre", "distance": 3813.73318961 }, { "id": "ae8fd9e12af32d3e1628496c92223a6722f5e27f", "name": "Alfortville/Joseph Franceschi/1", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 30, "name_fr": "Alfortville/Joseph Franceschi/1", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4209957, 48.8053567 ] }, "township_name": "Alfortville", "subtype_name": "Autre", "distance": 4554.38371309 }, { "id": "92cdabc40512cf19fe16285cae4cfc4655677814", "name": "Alfortville/Malleret-Joinville/16", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 30, "name_fr": "Alfortville/Malleret-Joinville/16", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4255222, 48.8025584 ] }, "township_name": "Alfortville", "subtype_name": "Autre", "distance": 4774.30964663 }, { "id": "5df4488f181460c6a1bfff4f4adbf7851618bba4", "name": "Ambroise Croizat", "subtype_id": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "price_min": null, "price_max": null, "address": "46 Villa Godin, Paris 75020, France", "postal_code": null, "visit_time": 15, "name_fr": "Ambroise Croizat", "image": "https://api.visitmoov.com/getSrcImage/?n0=428e2cb3cf108f5b0fa54a2d8597b98c157a17e9&n1=c71ca05f0c0e96c6feaffb9b2ef590e5ceb31642&id=a7eded470b5457ac8e709f7ecaf181460ad215e9", "geometry": { "type": "Point", "coordinates": [ 2.3999147, 48.8599935 ] }, "township_name": "Paris", "subtype_name": "Monument", "distance": 3328.48335545 }, { "id": "32ce23b2ff176013a4b110eb6ef2e7d7b6e2de85", "name": "Ane x Thon", "subtype_id": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "price_min": null, "price_max": null, "address": "91 Rue de Fontenay", "postal_code": "94300", "visit_time": 30, "name_fr": "Ane x Thon", "image": "https://api.visitmoov.com/getSrcImage/?n0=08977b115c7a13f78c66ac1224087788bbeaa6d7&n1=918ab69f62e3d9bea05d235f6230ca309772adcb&id=82d61bde06be2dc2e55ca6f641d5f176013aa63d", "geometry": { "type": "Point", "coordinates": [ 2.436311, 48.84821 ] }, "township_name": "Vincennes", "subtype_name": "Commerce", "distance": 446.26092706 }, { "id": "383694f1fcc9791f104147888bfd803411735ded", "name": "Aquarium du Palais de la Porte Dorée", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "address": "293 Avenue Daumesnil, 75012 Paris, France", "postal_code": null, "visit_time": 60, "name_fr": "Aquarium du Palais de la Porte Dorée", "image": "https://api.visitmoov.com/getSrcImage/?n0=11a15a8490b89ea67ecc02cb1af569a1152bf4d0&n1=864b5bc70a9764c49f3999f453740f12a0d57215&id=739f1041478bf57d60daeed35ce6d96c45ab70b9", "geometry": { "type": "Point", "coordinates": [ 2.4090231, 48.8352321 ] }, "township_name": "Paris", "subtype_name": "Loisir", "distance": 2421.81844778 }, { "id": "44de54925db5c1fb1c298c7b521fd2d433d4cd4776", "name": "Aquarium tropical du Palais de la Porte Dorée", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": 7, "price_max": 7, "address": "293, avenue Daumesnil", "postal_code": "75012", "visit_time": 90, "name_fr": "Aquarium tropical du Palais de la Porte Dorée", "image": "https://api.visitmoov.com/getSrcImage/?n0=7584aa141de4309477e5f7634f395df8c1d042bc&n1=a0cf33a4079f7942058a0fe3c5d52500d841bcc9&id=1c9da7d4776a9f88846bd726c20b7615f5a2d4ce", "geometry": { "type": "Point", "coordinates": [ 2.409642, 48.835056 ] }, "township_name": "Paris", "subtype_name": "Loisir", "distance": 2389.60454108 }, { "id": "6592c158cfa70269f125086b3265a89139d1b20d", "name": "Arboretum de Paris", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "address": "37 Route de la Ferme, Paris 75012, France", "postal_code": null, "visit_time": 30, "name_fr": "Arboretum de Paris", "image": "https://api.visitmoov.com/getSrcImage/?n0=cab90e069a11b9816decba1722e6844619e66040&n1=ca377c773a05cffe86551c3ac9d4f9518850382a&id=3934a0e91b3c3d39f1250864fa410a3a585a3faa", "geometry": { "type": "Point", "coordinates": [ 2.4566194, 48.8213975 ] }, "township_name": "Paris", "subtype_name": "Loisir", "distance": 2885.2728719 }, { "id": "14a04d62a0626a7fab4bcb837495e1009f142612", "name": "Arkose", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": 13, "price_max": null, "address": "33 rue du Progrès", "postal_code": "93100", "visit_time": 30, "name_fr": "Arkose", "image": "https://api.visitmoov.com/getSrcImage/?n0=37aa536d258d54a1b5c0781f0b878151bca604d1&n1=0f16a018cfc9534ae72716d063469989049bf066&id=a8be8837bf2c24a368c25fc77fcf1426126252f0", "geometry": { "type": "Point", "coordinates": [ 2.419235, 48.851629 ] }, "township_name": "Montreuil", "subtype_name": "Loisir", "distance": 1639.34352657 }, { "id": "519ce58b6e1ca86f8632443f182018afeb2cd93b", "name": "Association des parents gays et lesbiens", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": null, "postal_code": null, "visit_time": 60, "name_fr": "Association des parents gays et lesbiens", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4115212, 48.876763 ] }, "township_name": "Les Lilas", "subtype_name": "Autre", "distance": 4101.38490753 }, { "id": "4e602adf1633182c24e3acc510b4626030924787", "name": "ATD Quart Monde", "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "price_min": null, "price_max": null, "address": "63 Rue Beaumarchais, Montreuil 93100, France", "postal_code": null, "visit_time": 60, "name_fr": "ATD Quart Monde", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.4308474, 48.8551007 ] }, "township_name": "Montreuil", "subtype_name": "Autre", "distance": 1310.24948331 }, { "id": "abb9ee9cdb47ac83d4c49e2f3d955e0af1452546", "name": "Atelier de graffiti mural - Street Art Paris", "subtype_id": "d45adb232bf337a2f8f44522c4db227f9d072f7e", "price_min": 35, "price_max": null, "address": "Métro Bercy", "postal_code": "75012", "visit_time": 30, "name_fr": "Atelier de graffiti mural - Street Art Paris", "image": "https://api.visitmoov.com/getSrcImage/?n0=e65cd97d9ab43ed259a1fa78348dfc111282a595&n1=1a82a0fe77bfb2698803323530cc5a393efb9e44&id=84980a90e1a2c9d2447ffbfb73691cf1452541d0", "geometry": { "type": "Point", "coordinates": [ 2.379913, 48.840158 ] }, "township_name": "Paris", "subtype_name": "Culturel", "distance": 4345.52219312 }, { "id": "e8d66f02031cb588028ce12665ea019653fc2a6b", "name": "Atelier de Paris", "subtype_id": "061398a58a28fe7638b268702ae80f4d45ed7e96", "price_min": null, "price_max": null, "address": "30 Rue du Faubourg Saint-Antoine, Paris 75012, France", "postal_code": null, "visit_time": 30, "name_fr": "Atelier de Paris", "image": null, "geometry": { "type": "Point", "coordinates": [ 2.3716438, 48.8524032 ] }, "township_name": "Paris", "subtype_name": "Musée - Art", "distance": 4998.43994782 }, { "id": "2b01c2f740150a4d7ff1b8aa593a9eff1756838f", "name": "Atelier de Paris - Carolyn Carlson", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "address": "Route du Champ-de-Manoeuvre", "postal_code": "75012", "visit_time": 30, "name_fr": "Atelier de Paris - Carolyn Carlson", "image": "https://api.visitmoov.com/getSrcImage/?n0=9a71c868cd8bbc849f11215f8eca1e6547f2e837&n1=717827393b65c5a12f03cab494356ad6fded29a0&id=8e78e411139f1756832cbb00525b33e5fc1a7e0d", "geometry": { "type": "Point", "coordinates": [ 2.449931, 48.835157 ] }, "township_name": "Paris", "subtype_name": "Loisir", "distance": 1322.18942888 } ], "nb_element": 826, "nb_page": 42 }

Paged place search.

HTTP Request

GET https://api.visitmoov.com/api/v1/search_place/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
name STRING OPTIONAL Text contains in data name.
subtype_ids STRING OPTIONAL List of subtype ids separated by comma.
exclude_ids STRING OPTIONAL List of exclude data ids separated by comma.
price_min FLOAT OPTIONAL Data minimum price (UNIT: euros)
price_max FLOAT OPTIONAL Data maximum price (UNIT: euros)
date_begin STRING DATE OPTIONAL Data minimun opening date (FORMAT: "yyyy-mm-dd", MIN: today, DEFAULT: today)
date_end STRING DATE OPTIONAL Data maximun opening date (FORMAT: "yyyy-mm-dd")
time_begin INTEGER OPTIONAL Data minimun opening time (UNIT: minutes)
time_end INTEGER OPTIONAL Data maximun opening time (UNIT: minutes)
with_child INTEGER OPTIONAL Data for children (VALUES: 0 or 1)
with_pets INTEGER OPTIONAL Data accepts pets (VALUES: 0 or 1)
accessibility INTEGER OPTIONAL Data accessibility (VALUES: 0 or 1)
indoor INTEGER OPTIONAL Data indoor (VALUES: 0 or 1)
bbox STRING OPTIONAL Data within bounded box (FORMAT: "lat1,lng1,lat2,lng2")
latlng STRING OPTIONAL Data within "max_dist" meters of latlng (FORMAT: "lat,lng")
max_dist INTEGER OPTIONAL Data maximum distance from "latlng" (NOTE: only used with "latlng")
order STRING OPTIONAL Data Sorting (NOTE: Any field, "distance" only used with "latlng")
dir STRING OPTIONAL Sorting Direction (VALUES: "asc" or "desc") Default: asc
limit INTEGER OPTIONAL Limit results per page (MAX: 20) Default: 20
page INTEGER OPTIONAL Page offset (MAX: 4) Default: 0
vtime_min INTEGER OPTIONAL Data minimum visit time (UNIT: minutes)
vtime_max INTEGER OPTIONAL Data maximum visit time (UNIT: minutes)

Response model

{ "success": "Boolean (true/false)", "result": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "address": "String", "postal_code": "String", "visit_time": "Integer (minutes)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "distance": "Float" } ], "nb_element": "Integer", "nb_page": "Integer" }

Errors

Code Message Description
missing_area_id Missing area_id field.

Search hotel

Example request:

https://api.visitmoov.com/api/v1/search_hotel/?api_key=API_KEY?area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&dummy=0&name=Hôtel

This request returns JSON structured like this:

{ "success": true, "result": [ { "id": "3ffa635d91496f20af3cfc143654d46db971855e", "name": "25hours Hotel Terminus Nord", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "12 Boulevard de Denain, 75010 Paris", "postal_code": null, "stars": null, "name_fr": "25hours Hotel Terminus Nord", "image": "https://api.visitmoov.com/getSrcImage/?n0=4fd21162a1e1c51c1ff6966ed8f6a6569fc285b5&n1=bf1f0c79abafd3b07a235f270dba49bca4ffd387&id=d6f595b3086e33003f8523034316ad914905eb7f", "geometry": { "type": "Point", "coordinates": [ 2.35513, 48.87957 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "fad255e527a94d184487efa8f8f04bc07aa400b2", "name": "9 Hôtel Montparnasse", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "55 rue de Plaisance, 75014 Paris", "postal_code": "75014", "stars": 3, "name_fr": "55 Hôtel Montparnasse", "image": "https://api.visitmoov.com/getSrcImage/?n0=2835aa70085f3cd70450cce905a1665f9ec8665d&n1=7f37e522acda2f9378765074e926f0a70bb6b52b&id=09dec98a2c24d1844596ef24d78c51828da04ff7", "geometry": { "type": "Point", "coordinates": [ 2.3175871, 48.8337574 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "eca716c7c4c05acdc96a54e031d7116680344f5e", "name": "9Hotel Montparnasse", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "76 Rue Raymond Losserand, 75014 Paris", "postal_code": "75014", "stars": 3, "name_fr": "9Hotel Montparnasse", "image": "https://api.visitmoov.com/getSrcImage/?n0=a90d603d02d7ae40350624c707afa19d069d4ad0&n1=62e1025b24a79a2ea3463b8fc3f648c69432ff6e&id=f80bec938d7116aa552367b0ce4e37b06e8df6e3", "geometry": { "type": "Point", "coordinates": [ 2.3177, 48.83375 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "7639f2d94240a70dd72b07c3890dbf598898b93c", "name": "9Hotel Opera", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "14, Rue Papillon, 75009 Paris", "postal_code": "75009", "stars": 3, "name_fr": "9Hotel Opera", "image": "https://api.visitmoov.com/getSrcImage/?n0=d1f2b4f09e21a76ae2233b34a1d5b3bfdbf9c543&n1=50c5258df176355bb3cf5fa25b678798a192be93&id=4a0a3ddfd9424e985ac86780f480bf0df444fb35", "geometry": { "type": "Point", "coordinates": [ 2.34713, 48.87632 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "160be8040b3fdfa5a33052ef3b80ac15f28e12186", "name": "9 Hotel République", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "7-9 rue Pierre-Chausson", "postal_code": "75010", "stars": 4, "name_fr": "9 Hotel République", "image": "https://api.visitmoov.com/getSrcImage/?n0=b525d6f3daabda12ced8abfdefb6f6b6783ae42c&n1=29078d261314a62673c0c0b3d5ea208b45a900ec&id=6f0966f9c0e12186c071edd85b18b68fd298ee57", "geometry": { "type": "Point", "coordinates": [ 2.3606889, 48.8708308 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "437d60a7b86c10099f880f95ec626bb0c85de11420", "name": "Abbaye des Vaux de Cernay Hôtel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 20, "price_max": 20, "address": "Domaine des Vaux de Cernay", "postal_code": "78720", "stars": null, "name_fr": "Abbaye des Vaux de Cernay Hôtel", "image": "https://api.visitmoov.com/getSrcImage/?n0=576e5da4e1450faae68ee1f8a0a19a19d4a5cfb6&n1=57d1daa6d5097e0ef53a5f3ae17bda2b00fd0734&id=c67e1142072c9d8650eb9d1ef9fc9c7f32756698", "geometry": { "type": "Point", "coordinates": [ 1.936166, 48.68413 ] }, "township_name": "Cernay-La-Ville", "subtype_name": "Hôtel" }, { "id": "30d4e8cd7549b5d9b250f352b1677381ed7f191f", "name": "Académie Hôtel Saint Germain", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "32 rue des Saints Pères, 75007 Paris", "postal_code": null, "stars": null, "name_fr": "Académie Hôtel Saint Germain", "image": "https://api.visitmoov.com/getSrcImage/?n0=35cf6da2f3d3a10596a344f7dc3786e4718865e7&n1=9ee981c5cc12a27bae7282f1382de924b00bb2f5&id=71ae24a4e78019c0b652ca5eefe8b4c816cc6bd7549", "geometry": { "type": "Point", "coordinates": [ 2.3306959, 48.855222 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "601a744c6b1c680bf633b5b4ce7cd631258a106d", "name": "Accor Hôtel Ibis Styles", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 99, "price_max": null, "address": "ZA St Nicolas 6 rue du Perré", "postal_code": "77950", "stars": null, "name_fr": "Accor Hôtel Ibis Styles", "image": "https://api.visitmoov.com/getSrcImage/?n0=8cca128bc2204a6231ccf327730c261a31bc5832&n1=f7a3009ca2bc7daa3e97143bb72471316202a463&id=bd2a878d4e3414fc680211ee88499f899a56a223", "geometry": { "type": "Point", "coordinates": [ 2.671466, 48.552346 ] }, "township_name": "Rubelles", "subtype_name": "Hôtel" }, { "id": "1ddd12868d908cff0efbdfd4473ff0a6a6961f90", "name": "Ace Hôtel Paris Marne la Vallée", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "3 Boulevard des artisans", "postal_code": "77700", "stars": null, "name_fr": "Ace Hôtel Paris Marne la Vallée", "image": "https://api.visitmoov.com/getSrcImage/?n0=eaec3b97a5cf042981ad1ef6a1ec1dee3d9a3139&n1=2f4297a224cdd14eb6e7e76e87fd06a89b57a968&id=0b6e4a9898dacc84d1286d71a7e04f031729fffe", "geometry": { "type": "Point", "coordinates": [ 2.830706, 48.848497 ] }, "township_name": "Bailly-Romainvilliers", "subtype_name": "Hôtel" }, { "id": "d6f5d188a20166817f44fc162122cd61022e4680", "name": "AC Hotel Paris Le Bourget Airport by Marriott", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "2 Rue de la Haye, 93440 Le Bourget", "postal_code": null, "stars": null, "name_fr": "AC Hotel Paris Le Bourget Airport by Marriott", "image": "https://api.visitmoov.com/getSrcImage/?n0=a218ce9438dac521644dca1d06714e69419c8908&n1=0f4da202163d2adff560cd197578ccfa188805bf&id=8dd53ae40fd610288b00b19b0f38de95530655f2", "geometry": { "type": "Point", "coordinates": [ 2.44357, 48.95629 ] }, "township_name": "Bonneuil-En-France", "subtype_name": "Hôtel" }, { "id": "efe55f53ffb36c6728e6e10132e9ae19fcf1e3a0", "name": "Acropolis Hôtel Paris Boulogne", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "63 rue Thiers, 92100 Boulogne-Billancourt France", "postal_code": "92100", "stars": 3, "name_fr": "Acropolis Hotel Paris Boulogne", "image": "https://api.visitmoov.com/getSrcImage/?n0=013ea164d8a55842ed7a5f3dbc0be2dcbc996f03&n1=70341170c985c5763eb58b7f284735e683773a2c&id=94f22ba2251372ca767e101320252ad7ed17414d", "geometry": { "type": "Point", "coordinates": [ 2.249321, 48.83602 ] }, "township_name": "Boulogne-Billancourt", "subtype_name": "Hôtel" }, { "id": "f7f55291c793256838c226c386bc46fb6de1d3e7", "name": "Adagio City Aparthotel Val d'Europe", "subtype_id": "91b2cb76ffc1bdd1b31db12e0c279b420ae8288c", "price_min": null, "price_max": null, "address": "42 cours du Danube", "postal_code": "77700", "stars": null, "name_fr": "Adagio City Aparthotel Val d'Europe", "image": "https://api.visitmoov.com/getSrcImage/?n0=8fdbb14b588ea1fbe9f5fb0d65f6e0fdf452de7c&n1=4b8ab41eea2b5c48acf6b2500369baabaaefd180&id=6c2c3f25e478889645295675ec7935e20c7f51ce", "geometry": { "type": "Point", "coordinates": [ 2.786358, 48.855793 ] }, "township_name": "Serris", "subtype_name": "Résidence" }, { "id": "9222906a334b4bdd4d72049a3a7f9f1b29966365", "name": "Adonis Sacré Coeur Hotel Roma", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "101, Rue Caulaincourt, 75018 Paris", "postal_code": null, "stars": null, "name_fr": "Adonis Sacré Coeur Hotel Roma", "image": "https://api.visitmoov.com/getSrcImage/?n0=8120932364d763a1958a1cd926da14f4c0dfcfea&n1=c14763c0e2bb6bbeafd81dab7d28d4ea7f4a236d&id=388f5d557a07516d72049867c112651438c3abc3", "geometry": { "type": "Point", "coordinates": [ 2.3388, 48.88974 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "8ef4e54ab40c84162caf7effa0968a202255f680", "name": "Aigle Noir Hôtel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 165, "price_max": 230, "address": "Aigle Noir Hôtel, 27 place Napoléon Bonaparte", "postal_code": "77300", "stars": null, "name_fr": "Aigle Noir Hôtel", "image": "https://api.visitmoov.com/getSrcImage/?n0=d6e871f03d46c1aee5ce277efbf59a147b8a1b83&n1=577024b4db089c58d2827a1792a24a266bba034a&id=f9022b64ecc841810972bfb47112611c785dd287", "geometry": { "type": "Point", "coordinates": [ 2.699146, 48.403793 ] }, "township_name": "Fontainebleau", "subtype_name": "Hôtel" }, { "id": "2d07e10581bc13fec5d351c96bc266c2053270ff", "name": "Albert's Hotel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "22 rue du Grand Prieuré, 75011 Paris France", "postal_code": "75011", "stars": null, "name_fr": "Albert's Hotel", "image": "https://api.visitmoov.com/getSrcImage/?n0=4a127936a13e0dcd7b97d274878151f345678c09&n1=432d962aea430a0eefcda07a64b298c20c9ba2f6&id=a6bc37f80b42b15a5c988133ce105819972af14a", "geometry": { "type": "Point", "coordinates": [ 2.368424, 48.866146 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "eb6ecf2dd125310bd3a6c4334d6977f0c2e699bc", "name": "Albert's Hotel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "22, rue du Grand Prieuré, 75011 Paris", "postal_code": null, "stars": null, "name_fr": "Albert's Hotel", "image": "https://api.visitmoov.com/getSrcImage/?n0=f26a174491152b087e860bad1138e17f0ad6c48f&n1=28bfadda11ae3cd00ab2feb324a251c9c5374146&id=e9e1594b39c6b188db364d697793e6100d820cd6", "geometry": { "type": "Point", "coordinates": [ 2.3685293, 48.8661043 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "bf0fd6c792084d56fd57531255fec954cbb5570b", "name": "alfa hotel paris nation", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "12 Rue Guénot, 75011 Paris", "postal_code": null, "stars": null, "name_fr": "alfa hotel paris nation", "image": "https://api.visitmoov.com/getSrcImage/?n0=e24781f8516312a10e7b3d76d8c2f1cb41a38ac7&n1=f2fa28a96c4231ab4a168878819203b0aec5aa22&id=9986dd7d63ebdbd6ffff7ef0d57536374591d9ce", "geometry": { "type": "Point", "coordinates": [ 2.39241, 48.85131 ] }, "township_name": "Paris", "subtype_name": "Hôtel" }, { "id": "2d79d1169698e50f00c29b74b2be30a6b304008d", "name": "A L'Hôtel des Roys", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 12.5, "price_max": 12.5, "address": "14 avenue de Paris", "postal_code": "78000", "stars": 3, "name_fr": "A L'Hôtel des Roys", "image": "https://api.visitmoov.com/getSrcImage/?n0=eba231741f5d82f0594bf28d5a14c6e377857320&n1=6b5aaf553ad2a2c3058fa41fa2af065d27a957db&id=d51be01882a96fc4f1386ab962e1d11695cf3318", "geometry": { "type": "Point", "coordinates": [ 2.13262, 48.800899 ] }, "township_name": "Versailles", "subtype_name": "Hôtel" }, { "id": "8be10944b7c3d85a174051c924d8e7b83b694afc", "name": "Alpha hotel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": null, "price_max": null, "address": "4 rue de l Erable, 78410 Bouafle France", "postal_code": "78410", "stars": null, "name_fr": "Alpha Hotel", "image": "https://api.visitmoov.com/getSrcImage/?n0=cf0b5c583a1f9b9af9a182719fbb411590c29c7a&n1=612396ed5ba8a220907a85ca366784fd2f0ba5c6&id=2688497d8f0fcf4b663dac83e1094446c2c04d65", "geometry": { "type": "Point", "coordinates": [ 1.90261, 48.96913 ] }, "township_name": "Bouafle", "subtype_name": "Hôtel" }, { "id": "db29a69e1a979bc0b0e4f884b2caef1da939e10480", "name": "AMADEUS Hotel", "subtype_id": "44e8d3a418e035c3fe965fb40d9a183bad0cda17", "price_min": 71.8846585915263, "price_max": 71.8846585915263, "address": "39 rue Claude Tillier 12th Arr., 75012 Paris France", "postal_code": "75012", "stars": null, "name_fr": "Amadeus Hotel", "image": "https://api.visitmoov.com/getSrcImage/?n0=ccea916b143a1d1df1ec0d242d692e903884e43f&n1=5de1561a2dc922e40b5f3e6bbdb8d35260e42d85&id=99c06f3f7ac9abb2977ac3c2e1048030510ff68b", "geometry": { "type": "Point", "coordinates": [ 2.389269, 48.849148 ] }, "township_name": "Paris", "subtype_name": "Hôtel" } ], "nb_element": 805, "nb_page": 41 }

Paged hotel search.

HTTP Request

GET https://api.visitmoov.com/api/v1/search_hotel/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
name STRING OPTIONAL Text contains in data name.
subtype_ids STRING OPTIONAL List of subtype ids separated by comma.
exclude_ids STRING OPTIONAL List of exclude data ids separated by comma.
price_min FLOAT OPTIONAL Data minimum price (UNIT: euros)
price_max FLOAT OPTIONAL Data maximum price (UNIT: euros)
date_begin STRING DATE OPTIONAL Data minimun opening date (FORMAT: "yyyy-mm-dd", MIN: today, DEFAULT: today)
date_end STRING DATE OPTIONAL Data maximun opening date (FORMAT: "yyyy-mm-dd")
time_begin INTEGER OPTIONAL Data minimun opening time (UNIT: minutes)
time_end INTEGER OPTIONAL Data maximun opening time (UNIT: minutes)
with_child INTEGER OPTIONAL Data for children (VALUES: 0 or 1)
with_pets INTEGER OPTIONAL Data accepts pets (VALUES: 0 or 1)
accessibility INTEGER OPTIONAL Data accessibility (VALUES: 0 or 1)
indoor INTEGER OPTIONAL Data indoor (VALUES: 0 or 1)
bbox STRING OPTIONAL Data within bounded box (FORMAT: "lat1,lng1,lat2,lng2")
latlng STRING OPTIONAL Data within "max_dist" meters of latlng (FORMAT: "lat,lng")
max_dist INTEGER OPTIONAL Data maximum distance from "latlng" (NOTE: only used with "latlng")
order STRING OPTIONAL Data Sorting (NOTE: Any field, "distance" only used with "latlng")
dir STRING OPTIONAL Sorting Direction (VALUES: "asc" or "desc") Default: asc
limit INTEGER OPTIONAL Limit results per page (MAX: 20) Default: 20
page INTEGER OPTIONAL Page offset (MAX: 4) Default: 0
stars_min INTEGER OPTIONAL Data minimum stars
stars_max INTEGER OPTIONAL Data maximum stars

Response model

{ "success": "Boolean (true/false)", "result": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "address": "String", "postal_code": "String", "visit_time": "Integer (minutes)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "stars": "Integer (can be null)" } ], "nb_element": "Integer", "nb_page": "Integer" }

Errors

Code Message Description
missing_area_id Missing area_id field.

Search restaurant

Example request:

https://api.visitmoov.com/api/v1/search_restaurant/?api_key=API_KEY&?area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&bbox=48.838961105496054%2C2.2851562500000004%2C48.84845083589778%2C2.357597351074219&dummy=0

This request returns JSON structured like this:

{ "success": true, "result": [ { "id": "21dc3e6a2df0d63e41ee398812c4dcce1145ff6c", "name": "Anicia Bistrot Nature", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 26, "price_max": 69, "address": "97 rue du Cherche-Midi", "postal_code": "75006", "stars": 0, "name_fr": "Anicia Bistrot Nature", "image": "https://api.visitmoov.com/getSrcImage/?n0=f468da185cd688600bab3c3f447ceaf4b979288f&n1=1dba1abde04e89fb1be737b9b4aafc95177e40d5&id=197c5f63925811832ce1fb953b3032b396ff8fe39881", "geometry": { "type": "Point", "coordinates": [ 2.321361, 48.846737 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "1aa8e34348b603318b89ceb99dfc546908d1d9be", "name": "Bistroy… les Papilles", "subtype_id": "62067ccdaedcaa6a9dcb1e6183f1deb1924e587f", "price_min": null, "price_max": null, "address": "30 Rue Gay-Lussac, 75005 Paris, France", "postal_code": null, "stars": null, "name_fr": "Bistroy… les Papilles", "image": "https://api.visitmoov.com/getSrcImage/?n0=2939182df0bb94b7c1cd5f156a3a10978e71e6db&n1=a7bb1856b92f6f95f65442d0f3a1cc38bce156b1&id=1193b1c4fcfc7ce66d856d2d383c75e343489d7e", "geometry": { "type": "Point", "coordinates": [ 2.3417111, 48.8446323 ] }, "township_name": "Paris", "subtype_name": "Brasserie" }, { "id": "1998884e3a619459f75bffbce1125e9ff4b18cd1974", "name": "Brasserie Lola", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "99 rue du Theatre, 75015 Paris France", "postal_code": "75015", "stars": null, "name_fr": "Brasserie Lola", "image": "https://api.visitmoov.com/getSrcImage/?n0=299b26652a96dbccd5eb3f17ce3a1eea88334398&n1=bbe2b450316fb333887cba1ba00e45f602e05887&id=e99d7d226d1d51149ab34d197470e381f3c55e65", "geometry": { "type": "Point", "coordinates": [ 2.293727, 48.846836 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "ad4bfb47fe418de42636fdacb7f0dc7a24a5440c", "name": "Chinaski", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 35, "price_max": 35, "address": "46 rue Daubenton", "postal_code": "75005", "stars": 0, "name_fr": "Chinaski", "image": "https://api.visitmoov.com/getSrcImage/?n0=341aacce3bfa1a1e4ec2780340d3e446078dc77b&n1=e02eee8b9704a11f4d2cc9ea1d4d0269b3c2c18e&id=8fa1f7d3b3ace4263679f65a83caddf9c84627f3", "geometry": { "type": "Point", "coordinates": [ 2.35034, 48.8401925 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "f84852040e3953780d010a8616a80effd4b0d169", "name": "Ciasa Mia", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 31, "price_max": 94, "address": "19 rue Laplace", "postal_code": "75005", "stars": 0, "name_fr": "Ciasa Mia", "image": "https://api.visitmoov.com/getSrcImage/?n0=4082babe53cab980e045be9a34de94778a182da3&n1=f1a1694f9d18f857ea9e25c4305506e387bb71c3&id=162ecd06760b26ddf7df952d4b90ce8583be39537", "geometry": { "type": "Point", "coordinates": [ 2.3469983, 48.8474307 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "178e1fde98425882b275dbe69afc39c7464fe39631", "name": "Cucina", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 42, "price_max": 60, "address": "20 Rue Saint-Victor", "postal_code": "75005", "stars": 0, "name_fr": "Cucina", "image": "https://api.visitmoov.com/getSrcImage/?n0=e9ed0751f2dd3b3075bc4a15ed248e45396430bd&n1=5876cdea5407121f6ef29e953d92f2a14eb27d5c&id=3d4d8e396317f8556aaae26b74d75f0b051e94f2", "geometry": { "type": "Point", "coordinates": [ 2.35088, 48.84832 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "f8e84b2a5e426338c4929dc8826f11cfcdf09cec", "name": "Esttia", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 22, "price_max": 36, "address": "11 rue de la Grande-Chaumière", "postal_code": "75006", "stars": 0, "name_fr": "Esttia", "image": "https://api.visitmoov.com/getSrcImage/?n0=d8fbe11aa59082a5c766c48265c03e2a1488f2cc&n1=20742d216e4bfd33b5a165e4a69f2d2065891dfe&id=ca651bf19e4263392648384be92df25282123138", "geometry": { "type": "Point", "coordinates": [ 2.3310161, 48.8422899 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "0e0e39947cf820aa27459d1fc6fcc2234f56e651", "name": "Ida by Denny Imbroisi", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 30, "price_max": 70, "address": "117 rue de Vaugirard", "postal_code": "75015", "stars": 0, "name_fr": "Ida by Denny Imbroisi", "image": "https://api.visitmoov.com/getSrcImage/?n0=6303cab9bf7b29a1af50f25a93649069872bfc34&n1=3374acefd8a1542e14ca0d5695889fb2529072fa&id=d9766b988f4113be3872f3a0fbfba4b1e3994717", "geometry": { "type": "Point", "coordinates": [ 2.3190431, 48.8447389 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "459a7b4fee16b45034b8c9e1eb0d7812d6608ae39931", "name": "Kokoro", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 25, "price_max": 34, "address": "36 rue des Boulangers", "postal_code": "75005", "stars": 0, "name_fr": "Kokoro", "image": "https://api.visitmoov.com/getSrcImage/?n0=31f24c90a1407fab4381ba248cb38312b7e06751&n1=41593c7390889e5ed4bb123445347063aaa1d082&id=5138f13bbd5e40562304c2ae39931bac2ebe3241", "geometry": { "type": "Point", "coordinates": [ 2.3518202, 48.8464457 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "e9a2001915e9b02b64cf7d4464ce1deb13a69943", "name": "Kook", "subtype_id": "100bb8b60215485e464a48d0567bda3c686f0c76", "price_min": null, "price_max": null, "address": "133 Rue de Sèvres, 75006 Paris France", "postal_code": "75006", "stars": null, "name_fr": "KOOK", "image": "https://api.visitmoov.com/getSrcImage/?n0=c1b53843a02899629e34894ee8fbfba65eda1bab&n1=b6ef7571f85c5fa1bc54d94b8c123c01e24c8fc9&id=d7682a8382260bf642a88ce8b60b17d446414711", "geometry": { "type": "Point", "coordinates": [ 2.31801, 48.84724 ] }, "township_name": "Paris", "subtype_name": "Fast Food - Restauration Rapide" }, { "id": "b561f5e804f7be1037222e222f6bca3837477069", "name": "La Closerie des Lilas", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "171 bd. du Montparnasse, 6e, Paris, 75006, France", "postal_code": null, "stars": null, "name_fr": "La Closerie des Lilas", "image": "https://api.visitmoov.com/getSrcImage/?n0=7938046efa1485fa72d2d234d1d8744c1c42ae47&n1=392e34c48477410aa142c48be70ee212b35d6360&id=28e1c00e72d28034780bf73195e1037267d860f6", "geometry": { "type": "Point", "coordinates": [ 2.3360729, 48.8400813 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "7dcececedd7850d9ab02ef50ccb8f4f0a4d245b4", "name": "La Coupole", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "1, 0, 2", "postal_code": "75014", "stars": null, "name_fr": "La Coupole", "image": "https://api.visitmoov.com/getSrcImage/?n0=6ec19a9baa1c16b5f0b7cbfc084731c7920f45ca&n1=3ad24a9e720e3707a61a153b857555865f4db558&id=123357d9457aaf68433ee8202c9ae5fd78508e8e", "geometry": { "type": "Point", "coordinates": [ 2.3280738, 48.8422661 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "e5af931f309903ba0e39579a7f489bbc6099aaf9", "name": "L'Antre Amis", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 38, "price_max": 65, "address": "9 rue Bouchut", "postal_code": "75015", "stars": 0, "name_fr": "L'Antre Amis", "image": "https://api.visitmoov.com/getSrcImage/?n0=d60929aca58e1232f921b901e7b6ea1e9933b674&n1=69a3ea9c315ba22aad3ca17fed6d7ba1e7894333&id=f665984e395793f112ce2a2b9c8ea2eebd968bf1", "geometry": { "type": "Point", "coordinates": [ 2.3101451, 48.8467763 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "11cb454267a837b246c1cd27e4605de11426b817", "name": "La Rotonde", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "1, 0, 5", "postal_code": "75006", "stars": null, "name_fr": "La Rotonde", "image": "https://api.visitmoov.com/getSrcImage/?n0=5c27866a1c48715cb06dad7c7bfe91142039a1b5&n1=09ddb6f042c1a11c9d6f4e83054a3d8ff5874b91&id=dc0ed47a0aa62673e6ebe4137eb67196832ebe11426", "geometry": { "type": "Point", "coordinates": [ 2.329226, 48.8423444 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "dde2146827aa46851e394092921e031ad5717119", "name": "La Truffière", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 39, "price_max": 155, "address": "4 rue Blainville", "postal_code": "75005", "stars": 0, "name_fr": "La Truffière", "image": "https://api.visitmoov.com/getSrcImage/?n0=b9f0e247df092f9e7a10de3954dcf315af467310&n1=ab227bb2bebee491301cc1358180ab1ea15dd13c&id=7b4ad71d9ee0fe394095cd3d7f407735dab706d2", "geometry": { "type": "Point", "coordinates": [ 2.3488724, 48.8445464 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "d845fac65b80d0e70e2137085ff4576e39599b3a", "name": "Le Cette", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 35, "price_max": 60, "address": "7 rue Campagne-Première", "postal_code": "75014", "stars": 0, "name_fr": "Le Cette", "image": "https://api.visitmoov.com/getSrcImage/?n0=ac35c1c19c717624e83bf4285a4c95adea184074&n1=83dc65379b68a91b705692b3317eaa1a7bee9310&id=6595fd552c254115e395992af77decbee9de4517", "geometry": { "type": "Point", "coordinates": [ 2.3333639, 48.8402935 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "4d26e7e426467f9160fc26b1ac18a55cd8246251", "name": "Le Cherine", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 18, "price_max": 50, "address": "74 rue de la Croix-Nivert", "postal_code": "75015", "stars": 0, "name_fr": "Le Cherine", "image": "https://api.visitmoov.com/getSrcImage/?n0=126489888d4750e5a40e8b3c689b647a10113c7c&n1=bb36875d537661d6475e2a12c5539c1df52a69e0&id=1fd46e42646b25683a9b6a979904fe7209e73602", "geometry": { "type": "Point", "coordinates": [ 2.2966397, 48.84463 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "befed9fd90b6c49de25297e1a5b3c5473cd56981", "name": "LE CIEL DE PARIS", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": null, "price_max": null, "address": "33 AVENUE DU MAINE", "postal_code": null, "stars": null, "name_fr": "Le ciel de Paris", "image": "https://api.visitmoov.com/getSrcImage/?n0=f1a144bfa170715d309955dff1e8eb857f806b23&n1=403784aeedc937a1de0e28eaa2f48ac34a13ebda&id=e035d97dde89e252973eaf6fdf74ac76322d40b3", "geometry": { "type": "Point", "coordinates": [ 2.32111, 48.8422900009208 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "036a68e39481301a14fa8b76c4690adb652a6df1", "name": "Le Clos Y", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 38, "price_max": 68, "address": "27 avenue du Maine", "postal_code": "75015", "stars": 0, "name_fr": "Le Clos Y", "image": "https://api.visitmoov.com/getSrcImage/?n0=7cd0ac60f165dba1b48010dcb3a252d861e98f7c&n1=451da0fc8cfbe6be5709d39c0de33a53fb57e6a1&id=fc02bfc2d1e974de39481682ff16b9920b60e598", "geometry": { "type": "Point", "coordinates": [ 2.3207894, 48.8429138 ] }, "township_name": "Paris", "subtype_name": "Restaurant" }, { "id": "a21e2236682c5a0680b01e42632ccaacbe99a286", "name": "Le Radis Beurre", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "price_min": 37, "price_max": 45, "address": "51 boulevard Garibaldi", "postal_code": "75015", "stars": 0, "name_fr": "Le Radis Beurre", "image": "https://api.visitmoov.com/getSrcImage/?n0=72a12fabd5a55938cb8ca6746014478f56278e0d&n1=7fb3c34f00da10a71995560e1b95f64f1788d29d&id=f6be1ece42632ef8303ffbba73ab96c2b232e70d", "geometry": { "type": "Point", "coordinates": [ 2.3080778, 48.8461702 ] }, "township_name": "Paris", "subtype_name": "Restaurant" } ], "nb_element": 59, "nb_page": 3 }

Paged restaurant search.

HTTP Request

GET https://api.visitmoov.com/api/v1/search_restaurant/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
name STRING OPTIONAL Text contains in data name.
subtype_ids STRING OPTIONAL List of subtype ids separated by comma.
exclude_ids STRING OPTIONAL List of exclude data ids separated by comma.
price_min FLOAT OPTIONAL Data minimum price (UNIT: euros)
price_max FLOAT OPTIONAL Data maximum price (UNIT: euros)
date_begin STRING DATE OPTIONAL Data minimun opening date (FORMAT: "yyyy-mm-dd", MIN: today, DEFAULT: today)
date_end STRING DATE OPTIONAL Data maximun opening date (FORMAT: "yyyy-mm-dd")
time_begin INTEGER OPTIONAL Data minimun opening time (UNIT: minutes)
time_end INTEGER OPTIONAL Data maximun opening time (UNIT: minutes)
with_child INTEGER OPTIONAL Data for children (VALUES: 0 or 1)
with_pets INTEGER OPTIONAL Data accepts pets (VALUES: 0 or 1)
accessibility INTEGER OPTIONAL Data accessibility (VALUES: 0 or 1)
indoor INTEGER OPTIONAL Data indoor (VALUES: 0 or 1)
bbox STRING OPTIONAL Data within bounded box (FORMAT: "lat1,lng1,lat2,lng2")
latlng STRING OPTIONAL Data within "max_dist" meters of latlng (FORMAT: "lat,lng")
max_dist INTEGER OPTIONAL Data maximum distance from "latlng" (NOTE: only used with "latlng")
order STRING OPTIONAL Data Sorting (NOTE: Any field, "distance" only used with "latlng")
dir STRING OPTIONAL Sorting Direction (VALUES: "asc" or "desc") Default: asc
limit INTEGER OPTIONAL Limit results per page (MAX: 20) Default: 20
page INTEGER OPTIONAL Page offset (MAX: 4) Default: 0
stars_min INTEGER OPTIONAL Data minimum stars
stars_max INTEGER OPTIONAL Data maximum stars

Response model

{ "success": "Boolean (true/false)", "result": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "address": "String", "postal_code": "String", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "stars": "Integer (can be null)" } ], "nb_element": "Integer", "nb_page": "Integer" }

Errors

Code Message Description
missing_area_id Missing area_id field.

Search event

Example request:

https://api.visitmoov.com/api/v1/search_event/?api_key=API_KEY&?area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&limit=10&vtime_max=60&dummy=0&page=1

This request returns JSON structured like this:

{ "success": true, "result": [ { "id": "f5bf6cd78366ca8b903671c3d6e2a52187c5c983", "name": "12/04 Nicolas Gabet", "subtype_id": "65af77d6a71d4acac1339bbad75a35ee34f6ac05", "price_min": null, "price_max": null, "visit_time": 60, "name_fr": "12/04 Nicolas Gabet", "image": "https://api.visitmoov.com/getSrcImage/?n0=9fe2b48c8e43ca15ed586a043d90546dee0bc73a&n1=9dbf7eb1a53a3a147694af1cbba6531f01bc7d4a&id=65499eb39da62670d7836434e94ef7c521948ecd", "subtype_name": "Institutions du tourisme", "place": [ { "id": "aa777bbdd0ae445feb59fdc43431236d9203987c", "name": "Gare d'Austerlitz", "name_fr": "Gare d'Austerlitz", "geometry": { "type": "Point", "coordinates": [ 2.3660383, 48.8429754 ] }, "subtype_name": "Parking", "subtype_name_fr": "Parking" } ], "hotel": [], "restaurant": [] }, { "id": "b46a838cc5e1e307557dd8330d53418c5bbf8424", "name": "1 - 2- 3 - Images", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": 0, "price_max": null, "visit_time": 60, "name_fr": "1 - 2- 3 - Images", "image": "https://api.visitmoov.com/getSrcImage/?n0=4d9302a13fbd32851a088e4b4e0f53cb87457fe3&n1=94e2892c57185a87ff7a330194777502def71bf0&id=ffe16b163ee9f7bc6ce55e30755fe54c05229946", "subtype_name": "Loisir", "place": [ { "id": "248333ae5db0fde60eef25f140886ac311333251", "name": "Bibliothèque Goutte d’Or", "name_fr": "Bibliothèque Goutte d’Or", "geometry": { "type": "Point", "coordinates": [ 2.3542487, 48.8844037 ] }, "subtype_name": "Monument", "subtype_name_fr": "Monument" } ], "hotel": [], "restaurant": [] }, { "id": "afdf3bbf65d5edd1d471013d7ffe512fba933104", "name": "1, 2, 3 SOLEIL", "subtype_id": "0fbaa8724323c1b54e2451016ea0e4d983e4d838", "price_min": 0, "price_max": null, "visit_time": 60, "name_fr": "1, 2, 3 SOLEIL", "image": "https://api.visitmoov.com/getSrcImage/?n0=43164acc06ad12ec1ea9dfe5d306ccfac59fa125&n1=065dceabda3d7b9db58741118319f19b31621b91&id=5ca5808e2e9366116360c69325d20e405af7d4710", "subtype_name": "Musique", "place": [ { "id": "b0e4ad2bd5548d2436c3d560f0e406a1a106dd32", "name": "Station E", "name_fr": "Station E", "geometry": { "type": "Point", "coordinates": [ 2.419846, 48.8552 ] }, "subtype_name": "Autre", "subtype_name_fr": "Autre" } ], "hotel": [], "restaurant": [] }, { "id": "3874781d7441644e333064c9d786553f928c43a0", "name": "12 SEPTEMBRE 1683 : VIENNE EST DELIVRÉE DES TURCS", "subtype_id": "65af77d6a71d4acac1339bbad75a35ee34f6ac05", "price_min": null, "price_max": null, "visit_time": 60, "name_fr": "12 SEPTEMBRE 1683 : VIENNE EST DELIVRÉE DES TURCS", "image": "https://api.visitmoov.com/getSrcImage/?n0=67164fd61541752643a126b37872bed420c7ce36&n1=a8cf8aaed71e3ba7240385b5420a3b193c9c9ad2&id=d866b144a782dda0471095a11dbb949e3330617f", "subtype_name": "Institutions du tourisme", "place": [ { "id": "609d069036fd609910a0f3a5c1cd58a684cde9bd", "name": "Collège des Bernardins", "name_fr": "Collège des Bernardins", "geometry": { "type": "Point", "coordinates": [ 2.352287, 48.84875 ] }, "subtype_name": "Monument", "subtype_name_fr": "Monument" } ], "hotel": [], "restaurant": [] }, { "id": "4df705e31530010c4f39fb1e4e27e455f54b32b1", "name": "12 septembre - Croisière Découverte", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "price_min": null, "price_max": null, "visit_time": 30, "name_fr": "12 septembre - Croisière Découverte", "image": "https://api.visitmoov.com/getSrcImage/?n0=19d971a954b27cfa29be677d5e050dc9637266a1&n1=46a374728e5c3939e6feb820fb432a8e3d3fc386&id=eecac088567c6c3443ce31530d7d9e520f96f5ce", "subtype_name": "Loisir", "place": [ { "id": "2e3c6c57003b517db9543e14b830d08b16d33ec8", "name": "Halte fluviale", "name_fr": "Halte fluviale", "geometry": { "type": "Point", "coordinates": [ 2.880988, 48.956916 ] }, "subtype_name": "Loisir", "subtype_name_fr": "Loisir" } ], "hotel": [], "restaurant": [] }, { "id": "afffd750ecb92a8bd648649e4cffafebba7e9cc3", "name": "13 Block / Cheu-B", "subtype_id": "0fbaa8724323c1b54e2451016ea0e4d983e4d838", "price_min": null, "price_max": null, "visit_time": 60, "name_fr": "13 Block / Cheu-B", "image": "https://api.visitmoov.com/getSrcImage/?n0=82ed76ed0a031ba33128bf1fe206a1da932c9cf3&n1=135c7dcce3e110d9ff85b050068e2614a32c72eb&id=4a6207dcd6486e7c15fc74f758e28fbb4e313331", "subtype_name": "Musique", "place": [ { "id": "90b6f20960d49c0c247f084d7d93c5146aa85f5f", "name": "La CLEF", "name_fr": "La CLEF", "geometry": { "type": "Point", "coordinates": [ 2.088539, 48.893702 ] }, "subtype_name": "Sport d'hiver", "subtype_name_fr": "Sport d'hiver" } ], "hotel": [], "restaurant": [] }, { "id": "847643124990a0a35fefb946d9289de3140885cd", "name": "13ème biennale d'art contemporain - jeune création", "subtype_id": "d45adb232bf337a2f8f44522c4db227f9d072f7e", "price_min": null, "price_max": null, "visit_time": 30, "name_fr": "13ème biennale d'art contemporain - jeune création", "image": "https://api.visitmoov.com/getSrcImage/?n0=3238a0dc6a196eab449f231441f599c3727ae083&n1=7a34711b17fca3a6688af1c7c30e837a358b8ba1&id=d5b66c3013e00ab575ed41837767e31408ca0468", "subtype_name": "Culturel", "place": [ { "id": "66abccca2f6f465acf1976512cc6b37096c33312", "name": "13ème biennale d'art contemporain - jeune création", "name_fr": "13ème biennale d'art contemporain - jeune création", "geometry": { "type": "Point", "coordinates": [ 2.189489, 48.925297 ] }, "subtype_name": "Loisir", "subtype_name_fr": "Loisir" } ], "hotel": [], "restaurant": [] }, { "id": "0ece31504b79f5f35dc9f43b5beca66109151cf1", "name": "13 septembre - Visite du village de Marly", "subtype_id": "d45adb232bf337a2f8f44522c4db227f9d072f7e", "price_min": null, "price_max": null, "visit_time": 30, "name_fr": "13 septembre - Visite du village de Marly", "image": "https://api.visitmoov.com/getSrcImage/?n0=b5c4913a04a69a1d6af1ad30ec756c7ce689548b&n1=4c3728eebea3b3ae4b6fd65001e74015225684b7&id=f7d11f2ae31504064b43ab03c505e512d625cc66", "subtype_name": "Culturel", "place": [ { "id": "a1134b3923ac7fcc32e6f1442263a1feda84c513", "name": "Office de Tourisme Intercommunal Saint Germain Boucles de Seine", "name_fr": "Office de Tourisme Intercommunal Saint Germain Boucles de Seine", "geometry": { "type": "Point", "coordinates": [ 2.096583, 48.896698 ] }, "subtype_name": "Institutions du tourisme", "subtype_name_fr": "Institutions du tourisme" } ], "hotel": [], "restaurant": [] }, { "id": "9fa445625cd26d1305b6aa778ed39984214aae0f", "name": "14-18 : De la guerre à la paix", "subtype_id": "d45adb232bf337a2f8f44522c4db227f9d072f7e", "price_min": null, "price_max": null, "visit_time": 30, "name_fr": "14-18 : De la guerre à la paix", "image": "https://api.visitmoov.com/getSrcImage/?n0=d4fd8a45e3e029738e040d361a2a1e1a048de247&n1=d2ad720b8d7dfd7aff62550e2a39765fe41b8404&id=17103fa4e8915e60290a60875e6ee3f7aeaed1305", "subtype_name": "Culturel", "place": [ { "id": "c430de2b61c7f7b2f709a45ac33a4d1ec73cebd4519", "name": "14-18 : De la guerre à la paix", "name_fr": "14-18 : De la guerre à la paix", "geometry": { "type": "Point", "coordinates": [ 2.381645, 48.912574 ] }, "subtype_name": "Loisir", "subtype_name_fr": "Loisir" } ], "hotel": [], "restaurant": [] }, { "id": "a09d22ce31eab8bbadcd6288591571535d92bc8b", "name": "14-18, Mémoire et Renaissance, Noisy-le-Sec et la Grande Guerre", "subtype_id": "65af77d6a71d4acac1339bbad75a35ee34f6ac05", "price_min": 0, "price_max": null, "visit_time": 60, "name_fr": "14-18, Mémoire et Renaissance, Noisy-le-Sec et la Grande Guerre", "image": "https://api.visitmoov.com/getSrcImage/?n0=ac9467246884270d6c08c2392902992cba1a19c7&n1=1316837ce88de05fbd8351a5cd7cfd6aa3ab2aba&id=6b9e467f09af80195604a031d6288cfdc6983524", "subtype_name": "Institutions du tourisme", "place": [ { "id": "1cecf4e23684c3c4edf16cf5a90f76a1be2f4cea", "name": "Médiathèque Roger Gouhier", "name_fr": "Médiathèque Roger Gouhier", "geometry": { "type": "Point", "coordinates": [ 2.4535332, 48.8910792 ] }, "subtype_name": "Arts et loisirs", "subtype_name_fr": "Arts et loisirs" } ], "hotel": [], "restaurant": [] } ], "nb_element": 13711, "nb_page": 1372 }

Paged event search.

HTTP Request

GET https://api.visitmoov.com/api/v1/search_event/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
name STRING OPTIONAL Text contains in data name.
subtype_ids STRING OPTIONAL List of subtype ids separated by comma.
exclude_ids STRING OPTIONAL List of exclude data ids separated by comma.
price_min FLOAT OPTIONAL Data minimum price (UNIT: euros)
price_max FLOAT OPTIONAL Data maximum price (UNIT: euros)
date_begin STRING DATE OPTIONAL Data minimun opening date (FORMAT: "yyyy-mm-dd", MIN: today, DEFAULT: today)
date_end STRING DATE OPTIONAL Data maximun opening date (FORMAT: "yyyy-mm-dd")
time_begin INTEGER OPTIONAL Data minimun opening time (UNIT: minutes)
time_end INTEGER OPTIONAL Data maximun opening time (UNIT: minutes)
with_child INTEGER OPTIONAL Data for children (VALUES: 0 or 1)
with_pets INTEGER OPTIONAL Data accepts pets (VALUES: 0 or 1)
accessibility INTEGER OPTIONAL Data accessibility (VALUES: 0 or 1)
indoor INTEGER OPTIONAL Data indoor (VALUES: 0 or 1)
bbox STRING OPTIONAL Data within bounded box (FORMAT: "lat1,lng1,lat2,lng2")
latlng STRING OPTIONAL Data within "max_dist" meters of latlng (FORMAT: "lat,lng")
max_dist INTEGER OPTIONAL Data maximum distance from "latlng" (NOTE: only used with "latlng")
order STRING OPTIONAL Data Sorting (NOTE: Any field, "distance" only used with "latlng")
dir STRING OPTIONAL Sorting Direction (VALUES: "asc" or "desc") Default: asc
limit INTEGER OPTIONAL Limit results per page (MAX: 20) Default: 20
page INTEGER OPTIONAL Page offset (MAX: 4) Default: 0
vtime_min INTEGER OPTIONAL Data minimum visit time (UNIT: minutes)
vtime_max INTEGER OPTIONAL Data maximum visit time (UNIT: minutes)

Response model

{ "success": "Boolean (true/false)", "result": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "visit_time": "Integer (minutes)", "image": "String (url)", "subtype_name": "String", "place": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ], "hotel": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ], "restaurant": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } ], "nb_element": "Integer", "nb_page": "Integer" }

Errors

Code Message Description
missing_area_id Missing area_id field.

Place detail

Example request:

https://api.visitmoov.com/api/v1/detail_place/?api_key=API_KEY&area_id=f0970b50e71920d393a20c6399c6d3cce65723a1&id=706b5d93ac048566c846065d3b2deee7a0410f125086

This request returns JSON structured like this:

{ "success": true, "result": { "id": "706b5d93ac048566c846065d3b2deee7a0410f125086", "name": "Arboretum de Paris", "name_fr": "Arboretum de Paris", "subtype_id": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "desc": "L’arboretum de l’école Du Breuil, ou arboretum de Paris, est situé à Paris, dans le bois de Vincennes. Il fait partie des quatre pôles du Jardin botanique de la Ville de Paris avec le Parc floral de Paris, lui aussi dans le Bois de Vincennes, ainsi que le Parc de Bagatelle et le Jardin des serres d'Auteuil, tous deux dans le Bois de Boulogne.", "desc_fr": "L’arboretum de l’école Du Breuil, ou arboretum de Paris, est situé à Paris, dans le bois de Vincennes. Il fait partie des quatre pôles du Jardin botanique de la Ville de Paris avec le Parc floral de Paris, lui aussi dans le Bois de Vincennes, ainsi que le Parc de Bagatelle et le Jardin des serres d'Auteuil, tous deux dans le Bois de Boulogne.", "price_min": null, "price_max": null, "email": null, "phone": null, "resa_url": null, "website": null, "with_child": null, "with_pets": null, "accessibility": null, "indoor": null, "source_name": "SYGIC", "address": "37 Route de la Ferme, Paris 75012, France", "postal_code": null, "visit_time": 30, "image": "https://api.visitmoov.com/getSrcImage/?n0=d0356946e6099a005159686a145dc6f3ae859cfe&n1=812823dc149bd04161c24757559a0bf12117edb3&id=77bac8ef12508620be2de2b3637564e69aa045bf", "geometry": { "type": "Point", "coordinates": [ 2.4566194, 48.8213975 ] }, "township_name": "Paris", "subtype_name": "Loisir", "extra_image": [], "influence": [], "opening": [ { "id": "56aa427f75c8e16fa78eaa485221a2bda0f1eeef", "end": "2200-01-01 23:59:59", "begin": "1990-01-01 00:00:00", "dweek": "1,1,1,1,1,1,1", "is_closed": false, "extra_data": {} } ], "affluence": [], "event": [] } }

Get the detailed information of a place.

HTTP Request

GET https://api.visitmoov.com/api/v1/detail_place/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
id STRING REQUIRED Data identifier.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr

Response model

{ "success": "Boolean", "result": { "id": "String", "name": "String", "name_fr": "String (Depends on lang chosen, can be null)", "subtype_id": "String", "desc": "String", "desc_fr": "String (Depends on lang chosen, can be null)", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "email": "String (can be null)", "phone": "String (can be null)", "resa_url": "String (can be null)", "website": "String (can be null)", "with_child": "Integer (can be null)", "with_pets": "Integer (can be null)", "accessibility": "Integer (can be null)", "indoor": "Integer (can be null)", "source_name": "String", "address": "String (can be null)", "postal_code": "String (can be null)", "visit_time": "Integer (minutes)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "extra_image": "Array of string (url)", "influence": [ { "influence": "Integer (1-10)", "subtype_id": "String" } ], "opening": [ { "id": "String", "end": "String (Datetime format YYYY-MM-DD hh-mm-ss)", "begin": "String (Datetime format YYYY-MM-DD hh-mm-ss)", "dweek": "String (Seven 0/1 separated by commas)", "is_closed": "Boolean", "extra_data": { "every_year": "Boolean (key can be undefined)", "fixed_date": "Array of string (Format 'MM-DD', key can be undefined)", "variable_date": "Array of string (key can be undefined)" } } ], "affluence": [ { "end": "String (can be null, Datetime format YYYY-MM-DD hh-mm-ss)", "ids": "Array of string (id)", "name": "String (can be null)", "begin": "String (can be null, Datetime format YYYY-MM-DD hh-mm-ss)", "dweek": "String (Seven 0/1 separated by commas)", "hours": "Array of integer (1-100)" } ], "event": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } }

Errors

Code Message Description
missing_area_id Missing area_id field.
missing_id Missing id field.

Hotel detail

Example request:

https://api.visitmoov.com/api/v1/detail_hotel/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&id=4ee7c2ed8025471c4b68e48cf4db569791dedee1

This request returns JSON structured like this:

{ "success": true, "result": { "id": "4ee7c2ed8025471c4b68e48cf4db569791dedee1", "name": "A Parisian Boutique Hotels", "name_fr": "A Parisian Boutique Hotels", "subtype_id": "94e7293c88e277ebb09b127357d19b83463fa021", "desc": "<p><b>Situation de l'établissement</b> <br />En choisissant A Parisian Boutique Hotels, vous profiterez d'un séjour en plein centre de Paris, à moins de 10 minutes en voiture de Arc de Triomphe et Parc Monceau. Cette auberge de jeunesse se trouve à 3,5 km de Galeries Lafayette et à 4 km de Tour Eiffel.</p><p><b>Chambres</b> <br />Les 12 chambres de l'établissement vous invitent à la détente et comprennent un réfrigérateur et un micro-ondes. Un accès gratuit au réseau Wi-Fi et câblé est offert. Les salles de bain comprennent une douche et des articles de toilette gratuits. Les équipements et services offerts par l'établissement comprennent un bureau et une cafetière ou une bouilloire. Le service d'entretien est assuré tous les jours.</p><p><b>Affaires, autres prestations</b> <br />Les équipements et services proposés incluent un micro-onde dans l'espace commun et un réfrigérateur dans l'espace commun.</p>", "desc_fr": "<p><b>Situation de l'établissement</b> <br />En choisissant A Parisian Boutique Hotels, vous profiterez d'un séjour en plein centre de Paris, à moins de 10 minutes en voiture de Arc de Triomphe et Parc Monceau. Cette auberge de jeunesse se trouve à 3,5 km de Galeries Lafayette et à 4 km de Tour Eiffel.</p><p><b>Chambres</b> <br />Les 12 chambres de l'établissement vous invitent à la détente et comprennent un réfrigérateur et un micro-ondes. Un accès gratuit au réseau Wi-Fi et câblé est offert. Les salles de bain comprennent une douche et des articles de toilette gratuits. Les équipements et services offerts par l'établissement comprennent un bureau et une cafetière ou une bouilloire. Le service d'entretien est assuré tous les jours.</p><p><b>Affaires, autres prestations</b> <br />Les équipements et services proposés incluent un micro-onde dans l'espace commun et un réfrigérateur dans l'espace commun.</p>", "price_min": 0, "price_max": 0, "email": null, "phone": null, "resa_url": null, "website": null, "with_child": null, "with_pets": null, "accessibility": null, "indoor": null, "source_name": "Expedia", "address": "3 Villa Niel", "postal_code": "75017", "stars": 0, "image": "https://api.visitmoov.com/getSrcImage/?n0=f8703e395a191ced134a53b3c4df2fcd6444eb6b&n1=c4b8cc75b4888c84cc968ff9597a93bfab0fcda2&id=5ba0c3f53aea031c92cc07732b61c0a3d40d8025", "geometry": { "type": "Point", "coordinates": [ 2.2961, 48.88152 ] }, "township_name": "Paris", "subtype_name": "Auberge de jeunesse", "extra_image": [], "influence": [], "opening": [ { "id": "57fd376b5d0c0cf8e5c3122e98e48a253c946d2d", "end": "2200-01-01 23:59:59", "begin": "1990-01-01 00:00:00", "dweek": "1,1,1,1,1,1,1", "is_closed": false, "extra_data": {} } ], "affluence": [], "event": [] } }

Get the detailed information of a hotel.

HTTP Request

GET https://api.visitmoov.com/api/v1/detail_hotel/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
id STRING REQUIRED Data identifier.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr

Response model

{ "success": "Boolean", "result": { "id": "String", "name": "String", "name_fr": "String (Depends on lang chosen, can be null)", "subtype_id": "String", "desc": "String", "desc_fr": "String (Depends on lang chosen, can be null)", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "email": "String (can be null)", "phone": "String (can be null)", "resa_url": "String (can be null)", "website": "String (can be null)", "with_child": "Integer (can be null)", "with_pets": "Integer (can be null)", "accessibility": "Integer (can be null)", "indoor": "Integer (can be null)", "source_name": "String", "address": "String (can be null)", "postal_code": "String (can be null)", "stars": "Integer (can be null)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "extra_image": "Array of string (url)", "influence": [ { "influence": "Integer (1-10)", "subtype_id": "String" } ], "opening": [ { "id": "String", "end": "String (Datetime format YYYY-MM-DD hh-mm-ss)", "begin": "String (Datetime format YYYY-MM-DD hh-mm-ss)", "dweek": "String (Seven 0/1 separated by commas)", "is_closed": "Boolean", "extra_data": { "every_year": "Boolean (key can be undefined)", "fixed_date": "Array of string (Format 'MM-DD', key can be undefined)", "variable_date": "Array of string (key can be undefined)" } } ], "affluence": [ { "end": "String (can be null, Datetime format YYYY-MM-DD hh-mm-ss)", "ids": "Array of string (id)", "name": "String (can be null)", "begin": "String (can be null, Datetime format YYYY-MM-DD hh-mm-ss)", "dweek": "String (Seven 0/1 separated by commas)", "hours": "Array of integer (1-100)" } ], "event": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } }

Errors

Code Message Description
missing_area_id Missing area_id field.
missing_id Missing id field.

Restaurant detail

Example request:

https://api.visitmoov.com/api/v1/detail_restaurant/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&id=67d42b36701e2669cbe399012ff8bc48c228076f

This request returns JSON structured like this:

{ "success": true, "result": { "id": "67d42b36701e2669cbe399012ff8bc48c228076f", "name": "Clamato", "name_fr": "Clamato", "subtype_id": "c1800e8299993f98866215134d12e8fd55ea1464", "desc": "L'annexe de Septime a tout du \"hit\" bistronomique, avec ce décor tendance et cette carte courte qui met en avant la mer et les légumes. Les produits sont choisis avec grand soin : on se régale dans une atmosphère franchement conviviale. Attention, la réservation est impossible : premier arrivé, premier servi !", "desc_fr": "L'annexe de Septime a tout du \"hit\" bistronomique, avec ce décor tendance et cette carte courte qui met en avant la mer et les légumes. Les produits sont choisis avec grand soin : on se régale dans une atmosphère franchement conviviale. Attention, la réservation est impossible : premier arrivé, premier servi !", "price_min": 30, "price_max": 40, "email": "clamato@septime-charonne.fr", "phone": "+33143727453", "resa_url": null, "website": "www.clamato-charonne.fr", "with_child": null, "with_pets": null, "accessibility": null, "indoor": null, "source_name": "ViaMichelin", "address": "80 rue de Charonne", "postal_code": "75011", "stars": 0, "image": "https://api.visitmoov.com/getSrcImage/?n0=87b840b8886c9b937b9be88d8a3b70359a1d1703&n1=0224da18f5709bf7e5d1d010ce2901d6de167cf5&id=7b54bd1314c5be399012ae4385736ae5c3de19aa", "geometry": { "type": "Point", "coordinates": [ 2.3806195, 48.8536111 ] }, "township_name": "Paris", "subtype_name": "Restaurant", "extra_image": [], "influence": [], "opening": [ { "id": "a2eef1c3f6d084f0e5733d355368056f63d2977b", "end": "2100-01-01 19:00:00", "begin": "1990-01-01 07:00:00", "dweek": "1,1,1,1,1,1,1", "is_closed": false, "extra_data": {} } ], "affluence": [], "event": [] } }

Get the detailed information of a restaurant.

HTTP Request

GET https://api.visitmoov.com/api/v1/detail_restaurant/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
id STRING REQUIRED Data identifier.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr

Response model

{ "success": "Boolean", "result": { "id": "String", "name": "String", "name_fr": "String (Depends on lang chosen, can be null)", "subtype_id": "String", "desc": "String", "desc_fr": "String (Depends on lang chosen, can be null)", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "email": "String (can be null)", "phone": "String (can be null)", "resa_url": "String (can be null)", "website": "String (can be null)", "with_child": "Integer (can be null)", "with_pets": "Integer (can be null)", "accessibility": "Integer (can be null)", "indoor": "Integer (can be null)", "source_name": "String", "address": "String (can be null)", "postal_code": "String (can be null)", "visit_time": "Integer (minutes)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "extra_image": "Array of string (url)", "influence": [ { "influence": "Integer (1-10)", "subtype_id": "String" } ], "opening": [ { "id": "String", "end": "String (Datetime format YYYY-MM-DD hh-mm-ss)", "begin": "String (Datetime format YYYY-MM-DD hh-mm-ss)", "dweek": "String (Seven 0/1 separated by commas)", "is_closed": "Boolean", "extra_data": { "every_year": "Boolean (key can be undefined)", "fixed_date": "Array of string (Format 'MM-DD', key can be undefined)", "variable_date": "Array of string (key can be undefined)" } } ], "affluence": [ { "end": "String (can be null, Datetime format YYYY-MM-DD hh-mm-ss)", "ids": "Array of string (id)", "name": "String (can be null)", "begin": "String (can be null, Datetime format YYYY-MM-DD hh-mm-ss)", "dweek": "String (Seven 0/1 separated by commas)", "hours": "Array of integer (1-100)" } ], "event": [ { "id": "String", "name": "String", "name_fr": "String (can be null)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } }

Errors

Code Message Description
missing_area_id Missing area_id field.
missing_id Missing id field.

Event detail

Example request:

https://api.visitmoov.com/api/v1/detail_event/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&id=5a5b7d66e2093010b3f7c82d85e49155cce17044

This request returns JSON structured like this:

{ "success": true, "result": { "id": "5a5b7d66e2093010b3f7c82d85e49155cce17044", "name": "100 ans d'uniformes de l'armée française. De 1914 à la guerre du Golfe", "name_fr": "100 ans d'uniformes de l'armée française. De 1914 à la guerre du Golfe", "subtype_id": "23fe6e8dbcc0dbaeba12bb21e0c5552d2f468918", "desc": "Nombreuses animations par les groupes d'histoire vivante à l'occasion du week-end des Journées européennes du patrimoine\nAnimations tout au long du week-end avec une animation particulière de danse napoléonienne le samedi.", "desc_fr": "Nombreuses animations par les groupes d'histoire vivante à l'occasion du week-end des Journées européennes du patrimoine\nAnimations tout au long du week-end avec une animation particulière de danse napoléonienne le samedi.", "price_min": null, "price_max": null, "email": null, "phone": null, "resa_url": null, "website": "http://openagenda.com/event/100-ans-duniformes-de-larmee-francaise-de-1914-a-la-guerre-du-golfe", "with_child": null, "with_pets": null, "accessibility": null, "indoor": null, "source_name": "Open Agenda", "visit_time": 60, "image": null, "subtype_name": "Lieu de culte", "extra_image": [], "influence": [], "opening": [ { "id": "3e1a83a2fab45057cfc483a856a521ecac23534e", "end": "2200-01-01 23:59:59", "begin": "1990-01-01 00:00:00", "dweek": "1,1,1,1,1,1,1", "is_closed": false, "element_id": "c917c5f1705535321366b8af3a103dbe8d24019d", "extra_data": {}, "element_type": "place" } ], "place": [ { "id": "c917c5f1705535321366b8af3a103dbe8d24019d", "name": "Service historique de la Défense", "name_fr": "Service historique de la Défense", "geometry": { "type": "Point", "coordinates": [ 2.438912, 48.84458 ] }, "subtype_id": "cf3b91787b9beda655b991797d80f7a639d1fa64", "subtype_name": "Autre", "subtype_name_fr": "Autre" } ], "hotel": [], "restaurant": [] } }

Get the detailed information of an event.

HTTP Request

GET https://api.visitmoov.com/api/v1/detail_event/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
id STRING REQUIRED Data identifier.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr

Response model

{ "success": "Boolean", "result": { "id": "String", "name": "String", "name_fr": "String (Depends on lang chosen, can be null)", "subtype_id": "String", "desc": "String", "desc_fr": "String (Depends on lang chosen, can be null)", "price_min": "Float (can be null)", "price_max": "Float (can be null)", "email": "String (can be null)", "phone": "String (can be null)", "resa_url": "String (can be null)", "website": "String (can be null)", "with_child": "Integer (can be null)", "with_pets": "Integer (can be null)", "accessibility": "Integer (can be null)", "indoor": "Integer (can be null)", "source_name": "String", "address": "String (can be null)", "postal_code": "String (can be null)", "stars": "Integer (can be null)", "image": "String (url)", "geometry": "Object (Dictionnary geojson)", "township_name": "String", "subtype_name": "String", "extra_image": "Array of string (url)", "influence": [ { "influence": "Integer (1-10)", "subtype_id": "String" } ], "opening": [ { "id": "String", "end": "String (Datetime format YYYY-MM-DD hh-mm-ss)", "begin": "String (Datetime format YYYY-MM-DD hh-mm-ss)", "dweek": "String (Seven 0/1 separated by commas)", "is_closed": "Boolean", "extra_data": { "every_year": "Boolean (key can be undefined)", "fixed_date": "Array of string (Format 'MM-DD', key can be undefined)", "variable_date": "Array of string (key can be undefined)" } } ], "place": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ], "hotel": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ], "restaurant": [ { "id": "String", "name": "String", "name_fr": "String", "geometry": "Object (Dictionnary geojson)", "subtype_id": "String", "subtype_name": "String", "subtype_name_fr": "String" } ] } }

Errors

Code Message Description
missing_area_id Missing area_id field.
missing_id Missing id field.

Creative Tour

Example request:

https://api.visitmoov.com/api/v1/creative_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&date=2022-12-07&tr_mode=4&time=540&maxtime=300&dep_lat=48.8701364&dep_lng=2.3465613&dep_name=Paris&arr_lat=48.8601364&arr_lng=2.3475613&arr_name=Paris&visits=[{"id":"5a95f410bd9e2de75376937e1c31508c9cf112154","kind":0,"poi_id":"5a95f410bd9e2de75376937e1c31508c9cf112154","poi_kind":0,"visittime":20},{"id":"55c523321c6d4ec1211dec53edef1168092c8896","kind":0,"poi_id":"55c523321c6d4ec1211dec53edef1168092c8896","poi_kind":0,"visittime":20}]&pauses=[{"id":"745de42560c6a80adae444a46076f86aa1bd2df4","kind":1,"begin":720,"end":780}]

This request returns JSON structured like this:

{ "result": { "tour_id": "1", "start_date": "2022-12-07", "end_date": "2022-12-07", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 0, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": false }, "tours": [ { "id": "1", "t_length": 2615, "time": 75, "visit_kind": 0, "nb_stops": 4, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": false, "stops": [ { "id": "3fce08fh10000051e2d009c1335d4e3cf2c6b585", "geometry": { "type": "Point", "coordinates": [ 2.3465613, 48.8701364 ] }, "length_to_next_point": 490, "time_to_next_point": 8, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-07", "place_id": "94752f7dd9ebe0c0ac4h100000514e584d4f9e1a", "place_name": "Paris", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "e104524ace54ef1121542905892a13f4def73bd5", "geometry": { "type": "Point", "coordinates": [ 2.3473209, 48.8666458 ] }, "length_to_next_point": 2017, "time_to_next_point": 25, "visit_time": 20, "visit_kind": 1, "min": 548, "max": 573, "arrival": 548, "departure": 568, "date": "2022-12-07", "place_id": "9ac80ca558f007b366eb9f502eef1121548e1435", "place_name": "Au planteur", "desc": "Au planteur est un ancien marchand de café de Paris, en France.", "place_type": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "b2fab47ed3f1121542d751bfa00dde7348ab1b33", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "6d7ce4c3f11680990761b3a074a86ac6ec2370e5", "geometry": { "type": "Point", "coordinates": [ 2.347227, 48.8593828 ] }, "length_to_next_point": 108, "time_to_next_point": 2, "visit_time": 20, "visit_kind": 1, "min": 593, "max": 618, "arrival": 593, "departure": 613, "date": "2022-12-07", "place_id": "7f381bd59bdf1168092feb3d324af219708c8ef7", "place_name": "Maison Aurouze", "desc": "Cet endroit est l'une des attractions touristiques les plus étranges. Il s'agit en fait d'un magasin de lutte antiparasitaire exposant des rats morts et autres nuisibles dans sa vitrine. Encore inconnu du grand public il n'y a pas si longtemps, le magasin n'a jamais cherché à attirer l'attention des touristes. La raison pour laquelle la boutique est devenue une telle attraction est parce qu'on l'aperçoit dans le film Pixar « Ratatouille ». Chaque jour, des fans de cette production se pressent devant la Maison Aurouze pour voir de leurs propres yeux une scène de l'un des films les plus populaires de 2007.\n\nLa station de métro la plus proche est Châtelet (accessible depuis les lignes 1, 4, 7, 11 et 14).", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d383137343836313334.jpg", "resa_url": "", "event_id": "821b8b1cfd3786f1c7354d782db7f116809b130c", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "6e31ddaf2h1000005298c9e5e031e8ce90b9ef63", "geometry": { "type": "Point", "coordinates": [ 2.3475613, 48.8601364 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 615, "max": 615, "arrival": 615, "departure": 0, "date": "2022-12-07", "place_id": "3c235adf142ea4eeef1eah100000521260049e48", "place_name": "Paris", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "3fce08fh10000051e2d009c1335d4e3cf2c6b585", "to_id": "e104524ace54ef1121542905892a13f4def73bd5", "mode": 2, "geometry": "s}giH{giMhBr@lAn@LFDQ\\mCDa@^iD@Mz@FJ@JDl@Vh@TLFH@h@D`@BN@L@J@F@J@`BL", "emission": { "co2": 0 }, "duration": 365, "distance": 505, "steps": [ { "distance": 116.2, "driving_side": "right", "duration": 83.7, "geometry": "s}giH{giMhBr@lAn@LF", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.346381, 48.870175 ] } }, "mode": 2, "name": "Rue du Sentier", "emission": { "co2": 0 } }, { "distance": 145, "driving_side": "right", "duration": 104.4, "geometry": "mwgiHodiMDQ\\mCDa@^iD@M", "instructions": "Tourner à gauche sur la rue des Jeûneurs", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.345841, 48.869193 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } }, { "distance": 39.8, "driving_side": "right", "duration": 28.7, "geometry": "augiHipiMz@FJ@", "instructions": "Tourner à droite sur la rue Poissonnière", "maneuver": { "modifier": "right", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.347731, 48.868806 ] } }, "mode": 2, "name": "Rue Poissonnière", "emission": { "co2": 0 } }, { "distance": 124, "driving_side": "right", "duration": 91.2, "geometry": "yrgiH_piMJDl@Vh@TLFH@h@D`@BN@", "instructions": "Aller tout droit sur la rue des Petits Carreaux", "maneuver": { "modifier": "straight", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347678, 48.86845 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } }, { "distance": 80, "driving_side": "right", "duration": 57.7, "geometry": "algiHumiML@J@F@J@`BL", "instructions": "Continuer tout droit pour rester sur la rue des Petits Carreaux", "maneuver": { "modifier": "straight", "type": "continue", "geometry": { "type": "Point", "coordinates": [ 2.347308, 48.86737 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "qggiH_miM??", "instructions": "Vous êtes arrivé à Rue des Petits Carreaux, sur la gauche", "maneuver": { "modifier": "left", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.3472, 48.866654 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } } ] }, { "from_id": "e104524ace54ef1121542905892a13f4def73bd5", "to_id": "6d7ce4c3f11680990761b3a074a86ac6ec2370e5", "mode": 4, "geometry": "qggiHwmiM?X|@F`BRd@FXBpARhARb@LHBRD@O@G\\}BHc@@KPgARsA?AFc@Jo@F_@FD@BDM?@?B?D?BDT@KBMB@?@?AhFpQ|P}BESPO?MAMHGVUDE?GDI", "emission": { "co2": 26 }, "duration": 600, "distance": 1711, "steps": [ { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.347321, 48.866646 ] }, "name": "", "time": 569 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.348976, 48.863703 ] }, "name": "ÉTIENNE MARCEL", "time": 576 }, "details": [ { "distance": 34.63, "relativeDirection": "DEPART", "streetName": "Rue des Petits Carreaux", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3471995421925604, 48.86665389343214 ] } }, { "distance": 215.92, "relativeDirection": "CONTINUE", "streetName": "Rue Montorgueil", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.347153, 48.866344000000005 ] } }, { "distance": 183.59, "relativeDirection": "LEFT", "streetName": "Rue Étienne Marcel", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3466747000000003, 48.864429 ] } }, { "distance": 12.76, "relativeDirection": "RIGHT", "streetName": "Rue de Turbigo", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3490334, 48.8638647 ] } }, { "distance": 27.32, "relativeDirection": "HARD_RIGHT", "streetName": "plateau piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3490534000000003, 48.8637865 ] } }, { "distance": 1.12, "relativeDirection": "RIGHT", "streetName": "escalier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3489856000000002, 48.8637054 ] } } ], "emission": { "co2": 0 }, "geometry": "qggiHwmiM?X|@F`BRd@FXBpARhARb@LHBRD@O@G\\}BHc@@KPgARsA?AFc@Jo@F_@FD@BDM?@?B?D?BDT@KBMB@?@?A", "duration": 8, "distance": 475.33, "mode": 2, "time": 569 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.348976, 48.863703 ] }, "name": "Étienne Marcel", "time": 577, "id": "IDFM:463171" }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.346641, 48.859661 ] }, "name": "Châtelet", "time": 579, "id": "IDFM:22092" }, "emission": { "co2": 26 }, "route": { "color": "CF009E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "Bagneux - Lucie Aubrac", "direction": 1, "long_name": "Mairie de Montrouge - Porte de Clignancourt", "short_name": "4", "id": "IDFM:C01374", "type": 400 }, "geometry": "cufiHcxiMhFpQ|P}B", "duration": 2, "stops": [ { "code": "", "name": "Les Halles", "id": 4933819, "geometry": { "type": "Point", "coordinates": [ 2.346006, 48.862527 ] } } ], "mode": 4, "time": 576 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.346641, 48.859661 ] }, "name": "CHÂTELET", "time": 579 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.347227, 48.859383 ] }, "name": "", "time": 579 }, "details": [ { "distance": 12.18, "relativeDirection": "DEPART", "streetName": "Rue des Halles", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3467421884488404, 48.85969806075405 ] } }, { "distance": 10.48, "relativeDirection": "LEFT", "streetName": "Place Sainte-Opportune", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3468231, 48.859602300000006 ] } }, { "distance": 29.29, "relativeDirection": "RIGHT", "streetName": "plateau piétonnier", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3469645000000003, 48.8596171 ] } } ], "emission": { "co2": 0 }, "geometry": "{{eiHoiiMESPO?MAMHGVUDE?GDI", "duration": 1, "distance": 51.95, "mode": 2, "time": 579 } ] }, { "from_id": "6d7ce4c3f11680990761b3a074a86ac6ec2370e5", "to_id": "6e31ddaf2h1000005298c9e5e031e8ce90b9ef63", "mode": 2, "geometry": "ozeiHmliMQIIAGACDEAC?EAc@ImAUDs@", "emission": { "co2": 0 }, "duration": 84, "distance": 117, "steps": [ { "distance": 21, "driving_side": "right", "duration": 15.2, "geometry": "ozeiHmliMQIIAGA", "instructions": "Se diriger vers le nord-est sur la place Sainte-Opportune", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.347108, 48.859437 ] } }, "mode": 2, "name": "Place Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 3.4, "driving_side": "right", "duration": 2.4, "geometry": "s{eiH{liMCD", "instructions": "Tourner à gauche pour rester sur la place Sainte-Opportune", "maneuver": { "modifier": "left", "type": "continue", "geometry": { "type": "Point", "coordinates": [ 2.347179, 48.859618 ] } }, "mode": 2, "name": "Place Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 73.7, "driving_side": "right", "duration": 53, "geometry": "w{eiHuliMEAC?EAc@ImAU", "instructions": "Tourner à droite sur la rue Sainte-Opportune", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347146, 48.859639 ] } }, "mode": 2, "name": "Rue Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 19.6, "driving_side": "right", "duration": 14.1, "geometry": "y_fiHymiMDs@", "instructions": "Tourner à droite sur la rue de la Ferronnerie", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347329, 48.86029 ] } }, "mode": 2, "name": "Rue de la Ferronnerie", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "s_fiHmoiM??", "instructions": "Vous êtes arrivé à Rue de la Ferronnerie, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.347593, 48.86026 ] } }, "mode": 2, "name": "Rue de la Ferronnerie", "emission": { "co2": 0 } } ] } ], "emission": { "co2": 26 } } ] }, "calc_tour_key": "25c7016c68528b1e6e071d0a15722cfa2ffab5b2", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [ { "id": "fb4dd532263b44e4256013f89cae9d2b9a25a69c", "name": "Accents Table Bourse", "place_id": "43896d531d08e1bf8bd1b3fb7f90b1b97ee5e42560", "place": "Accents Table Bourse", "kind": 1, "city": "Paris" } ], "tours": [] }, "success": true, "credit": 0 }

The Creative Tour allows you to organize a tourist tour according to a starting point, an arrival point and a list of places to visit chosen in advance. Determines the optimized route to complete it.

HTTP Request

GET https://api.visitmoov.com/api/v1/creative_tour/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
dep_lat FLOAT REQUIRED1 Latitude of departure (WGS84)
dep_lng FLOAT REQUIRED1 Longitude of departure (WGS84)
dep_name STRING REQUIRED1 Name of departure
dep_id STRING REQUIRED1 Id of departure
dep_kind INTEGER REQUIRED1 Kind of departure
dep_price_min FLOAT OPTIONAL1 Price minimum of departure
dep_price_max FLOAT OPTIONAL1 Price maximum of departure
arr_lat FLOAT REQUIRED1 Latitude of arrival (WGS84)
arr_lng FLOAT REQUIRED1 Longitude of arrival (WGS84)
arr_name STRING REQUIRED1 Name of departure
arr_id STRING REQUIRED1 Id of arrival
arr_kind INTEGER REQUIRED1 Kind of arrival
arr_price_min FLOAT OPTIONAL1 Price minimum of arrival
arr_price_max FLOAT OPTIONAL1 Price maximum of arrival
date STRING DATE OPTIONAL date_tour_param_description
time INTEGER OPTIONAL time_tour_param_description
maxtime INTEGER OPTIONAL Maximum duration of tour (UNIT: minutes)
maxdist INTEGER OPTIONAL Maximum distance of tour (UNIT: meters) Default: 5000
arrive_at INTEGER OPTIONAL Arrive at those date/time (VALUES: 0 or 1)
tr_mode INTEGER OPTIONAL Mode of transportation, the possible values ​​are 1, 2, 3 et 4.
1: Car,
2: Walking,
3: Bicycle,
4: Public transport Default: 4
accessibility INTEGER OPTIONAL Data accessibility (VALUES: 0 or 1)
budget INTEGER OPTIONAL Budget
with_child INTEGER OPTIONAL Data for children (VALUES: 0 or 1)
nb_person INTEGER OPTIONAL Number of person
pauses JSON ARRAY OPTIONAL List of pauses
{
  "id": string,
  "kind": integer,
  "begin": integer,
  "end": integer
}

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "begin": integer,
  "end": integer
}
visits JSON ARRAY OPTIONAL List of visits
{
  "id": string,
  "kind": integer,
  "poi_id": string,
  "poi_kind": integer,
  "visittime": integer
},

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "visittime": integer
}
matrix_url STRING OPTIONAL2 URL of your matrix calculator
encode_line INTEGER OPTIONAL Allow to encode polyline geometry (encoding algorithm). 0 return geojson format. 1 return encoded format. Default: 1
transit_min_dist INTEGER OPTIONAL Minimum distance between two places in order to calculate the itinerary by public transport. Default: 500
use_traffic INTEGER OPTIONAL Allows you to choose different modes for taking disturbances into account when calculating the itinerary by public transport.
The possible values ​​are as follows:
0 - Does not use traffic disruptions
1 - Use server disruption

If use_traffic = 1, can use parameter traffic_source Default: 0
traffic_source STRING OPTIONAL Comma separated list of disruption source ids.

Response model

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Errors

Code Message Description
missing_area_id Missing area_id field.
bad_departure Bad tour departure.
bad_arrival Bad tour arrival.
bad_time Bad tour time.
bad_tour_maxtime Bad tour maxtime (Must be between 0 and 1440 included).
bad_tour_maxdist Bad tour maxdist (Must be an integer >= 0).
bad_tour_arrive_at Bad tour arrive_at (Must be 0 or 1).
bad_tour_accessibility Bad tour accessibility (Must be 0 or 1).
bad_tour_budget Bad tour budget (Must be an integer >= 0).
bad_tour_with_child Bad tour with_child (Must be 0 or 1).
bad_tour_with_hotel Bad tour with_hotel (Must be 0 or 1).
bad_tour_nb_person Bad tour nb_person (Must be an integer >= 1).
bad_tour_transit Bad tour transit (Must be 0 or 1).
bad_departure_isinstance Bad tour departure.
bad_arrival_isinstance Bad tour arrival.
bad_tour_add_pause Pause invalid, could not be added.
bad_tour_add_visit Visit invalid, could not be added.
bad_json_visits [Non-blocking] Parameter visits has a bad JSON format.
bad_visit_visittime_missing [Non-blocking] Missing visit visittime.
bad_visit_visittime [Non-blocking] Bad visit visittime (must be a positive integer).
bad_visit_lat [Non-blocking] Bad visit latitude.
bad_visit_lng [Non-blocking] Bad visit longitude.
bad_visit_name [Non-blocking] Bad visit name.
geom_not_in_area [Non-blocking] Visit/Pause geometry not in the area.
visit_not_open [Non-blocking] Visit not open.
bad_visit_id [Non-blocking] Bad visit id.
bad_visit_kind [Non-blocking] Bad visit kind.
bad_format_visit [Non-blocking] Bad visit format.
bad_visit_poi_id [Non-blocking] Bad visit poi id.
bad_visit_poi_kind [Non-blocking] Bad visit poi id.
bad_json_pauses [Non-blocking] Pauses parameter has a bad JSON format.
bad_pause_begin_missing [Non-blocking] Missing pause begin.
bad_pause_end_missing [Non-blocking] Missing pause end.
bad_pause_begin [Non-blocking] Bad pause begin.
bad_pause_end [Non-blocking] Bad pause end.
bad_pause_begin_end [Non-blocking] Bad pause begin/end (begin must be inferior than the end)
bad_pause_lat [Non-blocking] Bad pause latitude.
bad_pause_lng [Non-blocking] Bad pause longitude.
bad_pause_name [Non-blocking] Bad pause name.
pause_not_open [Non-blocking] Pause not open.
bad_pause_id [Non-blocking] Bad pause id.
bad_pause_kind [Non-blocking] Bad pause kind.
bad_format_pause [Non-blocking] Bad pause format.
error_matrix_distancer Error with the matrix distancer
error_matrix_xml Error matrix is none
no_matrix_data Erreur, no matrix data
not_enough_time There is not enougth time to make tour with those parameters
tour is undefined Tour is undefined
Optimisation Request Error :[ERROR] Optimisation Request Error :[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Error Server Unreachable or [ERROR] at [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Error Server Unreachable or [ERROR] at [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Error Server Unreachable or [ERROR] at [URL]
params_not_defined Trip optimisation error: parameters not defined
M1001: [ERROR] Trip optimisation error: M1001: [ERROR]
M1002: [ERROR] Trip optimisation error: M1002: [ERROR]
unknow method Trip optimisation error: unknow method
unknown matrix method Trip optimisation error: unknow matrix method

Magic Tour

Example request:

https://api.visitmoov.com/api/v1/magic_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&date=2022-12-07&time=1080&maxtime=180&dep_lat=48.865208754588785&dep_lng=2.293681057532141&dep_name=Paris%2C+Mus%C3%A9e+des+arts+asiatiques&arr_lat=48.87418528849915&arr_lng=2.295058814921109&arr_name=Paris%2C+Arc+de+triomphe&tr_mode=4&arrive_at=1

This request returns JSON structured like this:

{ "result": { "tour_id": "1", "start_date": "2022-12-07", "end_date": "2022-12-07", "start_time": 900, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 180, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 0, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": false }, "tours": [ { "id": "1", "t_length": 4274, "time": 113, "visit_kind": 0, "nb_stops": 4, "minmax_budget": "10-0", "min_budget": 10, "max_budget": 0, "is_shopping": false, "stops": [ { "id": "18690746e54e925b6f257ac5c47d03d4bcc65h10000049", "geometry": { "type": "Point", "coordinates": [ 2.293681057532141, 48.865208754588785 ] }, "length_to_next_point": 1025, "time_to_next_point": 13, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 900, "date": "2022-12-07", "place_id": "7ac1d13e46f2h10000049fba4def450ee0e273f9", "place_name": "Paris, Musée des arts asiatiques", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "3ccfaf8925d4e8498bc8dc6697423c13d35602a8", "geometry": { "type": "Point", "coordinates": [ 2.299264, 48.865602 ] }, "length_to_next_point": 1212, "time_to_next_point": 15, "visit_time": 30, "visit_kind": 1, "min": 913, "max": 948, "arrival": 913, "departure": 943, "date": "2022-12-07", "place_id": "c159dd9f243441306815212c0a3000384a9c6697", "place_name": "Musée Yves Saint Laurent", "desc": "Plein tarif : à partir de 10 €\nTarif réduit : à partir de 7 € (Enseignants et étudiants (justificatif de moins de 3 mois))\nGroupe adultes : à partir de 23 € (Visite guidée avec Cultival).\n\n Gratuit pour les moins de 10 ans, les demandeurs d'emploi, les personnes handicapées et leurs accompagnants.", "place_type": "061398a58a28fe7638b268702ae80f4d45ed7e96", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/7/40/5842951-diaporama.jpg", "resa_url": "https://museeyslparis.com/", "event_id": "8c0c66918c299ca80632a307f1b07485c3251e74", "stars": null, "rate": 0, "nb_rate": 0, "price_min": 10, "price_max": null, "tripadvisor": null }, { "id": "35cbe6964f66d2783b43d6d97f679b2ed32136c4", "geometry": { "type": "Point", "coordinates": [ 2.30315, 48.869141 ] }, "length_to_next_point": 2037, "time_to_next_point": 25, "visit_time": 30, "visit_kind": 1, "min": 958, "max": 993, "arrival": 958, "departure": 988, "date": "2022-12-07", "place_id": "17b332adba474bf8868814da72ebdc6ce117d2783", "place_name": "La Maison du Chocolat - rue François Ier", "desc": "Plusieurs magasins dans la région vous propose des saveurs chocolatées mises en musique par Nicolas Cloiseau, Meilleur Ouvrier de France Chocolatier.\nDepuis avril 2012, Nicolas Cloiseau, Meilleur Ouvrier de France Chocolatier, est le Chef de La Maison du chocolat. Ce qui affirme le caractère artisanal et de la qualité propres aux chocolats et pâtisseries qui vous seront proposés.\nVous pouvez craquer pour les truffes \"haute couture\", des tablettes maison, ou (vous) offrir des coffrets signature garnis de bonbons de chocolat et/ou de truffes ou bien les élégantes boites chapeau...\nA chaque fête (Pâques, Saint-Valentin, fêtes de fin d'année...), La Maison du chocolat propose des créations spéciales à faire craquer les yeux et les papilles.\nParmi toutes les adresses de la Maison du chocolat, nous vous avons sélectionné celle de la rue François Ier, où vous pouvez récupérer votre commande faite par Internet.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/47/12/2100271-diaporama.jpg", "resa_url": "", "event_id": "12013b7b7f01779f9fd896604b3f86cd27831725", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "b78e919f3d49918h100000503d9da9114d809803", "geometry": { "type": "Point", "coordinates": [ 2.295058814921109, 48.87418528849915 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 1013, "max": 1013, "arrival": 1013, "departure": 0, "date": "2022-12-07", "place_id": "67f9c2f4383c6f4544h1000005019e8da3724de3", "place_name": "Paris, Arc de triomphe", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "18690746e54e925b6f257ac5c47d03d4bcc65h10000049", "to_id": "3ccfaf8925d4e8498bc8dc6697423c13d35602a8", "mode": 4, "geometry": "q~fiHo~~L^`ALM\\g@PFb@SMq@KBF}k@B@Mb@CFK`@M^Sv@Eh@Ad@K@S@UAe@As@PAXAXAn@Z@", "emission": { "co2": 24 }, "duration": 360, "distance": 1341, "steps": [ { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.293681, 48.865209 ] }, "name": "", "time": 905 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.293906, 48.864686 ] }, "name": "IÉNA", "time": 906 }, "details": [ { "distance": 31.83, "relativeDirection": "DEPART", "streetName": "Rue Boissière", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.293353615951486, 48.86505270669876 ] } }, { "distance": 31.62, "relativeDirection": "RIGHT", "streetName": "Place d'Iéna", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.2936278000000003, 48.864830600000005 ] } }, { "distance": 20.45, "relativeDirection": "LEFT", "streetName": "Place d'Iéna", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.2936837000000003, 48.864561900000005 ] } } ], "emission": { "co2": 0 }, "geometry": "q~fiHo~~L^`ALM\\g@PFb@SMq@KB", "duration": 1, "distance": 83.91, "mode": 2, "time": 905 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.293906, 48.864686 ] }, "name": "Iéna", "time": 907, "id": "IDFM:21927" }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.301104, 48.864647 ] }, "name": "Alma - Marceau", "time": 908, "id": "IDFM:463052" }, "emission": { "co2": 24 }, "route": { "color": "B6BD00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "Mairie de Montreuil", "direction": 1, "long_name": "Pont de Sèvres - Mairie de Montreuil", "short_name": "9", "id": "IDFM:C01379", "type": 400 }, "geometry": "i{fiH}__MF}k@", "duration": 1, "stops": [], "mode": 4, "time": 906 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.301104, 48.864647 ] }, "name": "ALMA - MARCEAU", "time": 908 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.299264, 48.865602 ] }, "name": "", "time": 911 }, "details": [ { "distance": 99.88, "relativeDirection": "DEPART", "streetName": "Avenue du Président Wilson", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.301092186571562, 48.86463485111742 ] } }, { "distance": 18.2, "relativeDirection": "RIGHT", "streetName": "bretelle d'accès", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.2998663, 48.8649928 ] } }, { "distance": 63.31, "relativeDirection": "CONTINUE", "streetName": "Avenue Marceau", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.299843, 48.865155800000004 ] } }, { "distance": 36.76, "relativeDirection": "LEFT", "streetName": "Rue Léonce Reynaud", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.2997777, 48.8657185 ] } } ], "emission": { "co2": 0 }, "geometry": "a{fiH{l`MB@Mb@CFK`@M^Sv@Eh@Ad@K@S@UAe@As@PAXAXAn@Z@", "duration": 3, "distance": 218.16, "mode": 2, "time": 908 } ] }, { "from_id": "3ccfaf8925d4e8498bc8dc6697423c13d35602a8", "to_id": "35cbe6964f66d2783b43d6d97f679b2ed32136c4", "mode": 4, "geometry": "_agiHka`M[A@o@@Y@Yr@Qd@@T@?QFq@H]Ne@Lc@@?IIuP|G??XGf@VO_@EKKWAA}@{BgAkCUk@Uk@Yq@?AKUWo@eAkCEIEILUT_@OW", "emission": { "co2": 57 }, "duration": 600, "distance": 1415, "steps": [ { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.299264, 48.865602 ] }, "name": "", "time": 948 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.300746, 48.864951 ] }, "name": "ALMA - MARCEAU", "time": 950 }, "details": [ { "distance": 36.76, "relativeDirection": "DEPART", "streetName": "Rue Léonce Reynaud", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.2992762038304475, 48.86574030887283 ] } }, { "distance": 63.32, "relativeDirection": "RIGHT", "streetName": "Avenue Marceau", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.2997777, 48.8657185 ] } }, { "distance": 70.3, "relativeDirection": "LEFT", "streetName": "Avenue du Président Wilson", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.299843, 48.865155800000004 ] } } ], "emission": { "co2": 0 }, "geometry": "_agiHka`M[A@o@@Y@Yr@Qd@@T@?QFq@H]Ne@Lc@@?II", "duration": 3, "distance": 170.38, "mode": 2, "time": 948 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.300746, 48.864951 ] }, "name": "Alma - Marceau", "time": 951, "id": "IDFM:26789" }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.299317, 48.867784 ] }, "name": "Marceau - Pierre 1er de Serbie - Place de Beyrouth", "time": 953, "id": "IDFM:37392" }, "emission": { "co2": 57 }, "route": { "color": "FFBE00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "PORTE DE CHAMPERRET", "direction": 1, "long_name": "Porte d'Orléans - Porte de Champerret", "short_name": "92", "id": "IDFM:C01123", "type": 700 }, "geometry": "}|fiHuj`MuP|G", "duration": 2, "stops": [], "mode": 4, "time": 950 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.299317, 48.867784 ] }, "name": "MARCEAU - PIERRE 1ER DE SERBIE - PLACE DE BEYROUTH", "time": 953 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.30315, 48.869141 ] }, "name": "", "time": 958 }, "details": [ { "distance": 38.98, "relativeDirection": "DEPART", "streetName": "route de service", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.2993265292922818, 48.86778567477206 ] } }, { "distance": 175.15, "relativeDirection": "HARD_LEFT", "streetName": "Avenue Pierre 1er de Serbie", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.2992472, 48.867453600000005 ] } }, { "distance": 150.38, "relativeDirection": "CONTINUE", "streetName": "Rue Pierre Charron", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3011386000000003, 48.8684196 ] } }, { "distance": 27.77, "relativeDirection": "RIGHT", "streetName": "Rue François-Ier", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3027694000000003, 48.869243100000006 ] } } ], "emission": { "co2": 0 }, "geometry": "sngiHwa`M??XGf@VO_@EKKWAA}@{BgAkCUk@Uk@Yq@?AKUWo@eAkCEIEILUT_@OW", "duration": 6, "distance": 392.28, "mode": 2, "time": 953 } ] }, { "from_id": "35cbe6964f66d2783b43d6d97f679b2ed32136c4", "to_id": "b78e919f3d49918h100000503d9da9114d809803", "mode": 4, "geometry": "cwgiHuy`MNVU^MTKPe@z@U`@_BzCCDINGVKj@m@BO?sAFa@@uADC@Q?M@E?A?SMJi@SMYrADByJfb@QC?@EN?@ECAFSG", "emission": { "co2": 21 }, "duration": 480, "distance": 1469, "steps": [ { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.30315, 48.869141 ] }, "name": "", "time": 989 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.30076, 48.872038 ] }, "name": "GEORGE V", "time": 995 }, "details": [ { "distance": 202.12, "relativeDirection": "DEPART", "streetName": "Rue François-Ier", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.303039495523544, 48.86906753955149 ] } }, { "distance": 185.03, "relativeDirection": "RIGHT", "streetName": "Avenue George V", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3009758000000002, 48.8702569 ] } }, { "distance": 17.14, "relativeDirection": "RIGHT", "streetName": "Avenue des Champs-Élysées", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3009226000000003, 48.871909900000006 ] } }, { "distance": 46.31, "relativeDirection": "UTURN_LEFT", "streetName": "Avenue des Champs-Élysées", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3012034000000003, 48.8719485 ] } } ], "emission": { "co2": 0 }, "geometry": "cwgiHuy`MNVU^MTKPe@z@U`@_BzCCDINGVKj@m@BO?sAFa@@uADC@Q?M@E?A?SMJi@SMYrADB", "duration": 7, "distance": 450.59, "mode": 2, "time": 989 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.30076, 48.872038 ] }, "name": "George V", "time": 996, "id": "IDFM:463185" }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.295117, 48.873929 ] }, "name": "Charles de Gaulle - Etoile", "time": 997, "id": "IDFM:463013" }, "emission": { "co2": 21 }, "route": { "color": "FFCD00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "La Défense (Grande Arche)", "direction": 1, "long_name": "Château de Vincennes - La Défense (Grande Arche)", "short_name": "1", "id": "IDFM:C01371", "type": 400 }, "geometry": "gihiHwj`MyJfb@", "duration": 1, "stops": [], "mode": 4, "time": 995 }, { "departure": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.295117, 48.873929 ] }, "name": "CHARLES DE GAULLE - ETOILE", "time": 997 }, "arrival": { "date": "2022-12-07", "geometry": { "type": "Point", "coordinates": [ 2.295059, 48.874185 ] }, "name": "", "time": 997 }, "details": [ { "distance": 14.39, "relativeDirection": "DEPART", "streetName": "escalier", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.2951464, 48.8740241 ] } }, { "distance": 4.73, "relativeDirection": "RIGHT", "streetName": "tunnel", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.2950579, 48.874052400000004 ] } }, { "distance": 3.08, "relativeDirection": "LEFT", "streetName": "Passage du Souvenir", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.295061, 48.874084800000006 ] } } ], "emission": { "co2": 0 }, "geometry": "auhiHog_MQC?@EN?@ECAFSG", "duration": 0, "distance": 22.2, "mode": 2, "time": 997 } ] } ], "emission": { "co2": 102 } } ] }, "calc_tour_key": "d2aef22a5af663afa2c113545a1675b1120ac6c1", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0, "total_process": "0:00:01.618537" }

The Magic Tour makes it possible to organize a tourist tour according to user preferences. A starting point, an ending point, the weather, preferences (leisure, sport, culture ...), a budget ... With these different parameters, this request returns a tour with the different visits to be made.

HTTP Request

GET https://api.visitmoov.com/api/v1/magic_tour/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
dep_lat FLOAT REQUIRED1 Latitude of departure (WGS84)
dep_lng FLOAT REQUIRED1 Longitude of departure (WGS84)
dep_name STRING REQUIRED1 Name of departure
dep_id STRING REQUIRED1 Id of departure
dep_kind INTEGER REQUIRED1 Kind of departure
dep_price_min FLOAT OPTIONAL1 Price minimum of departure
dep_price_max FLOAT OPTIONAL1 Price maximum of departure
arr_lat FLOAT REQUIRED1 Latitude of arrival (WGS84)
arr_lng FLOAT REQUIRED1 Longitude of arrival (WGS84)
arr_name STRING REQUIRED1 Name of departure
arr_id STRING REQUIRED1 Id of arrival
arr_kind INTEGER REQUIRED1 Kind of arrival
arr_price_min FLOAT OPTIONAL1 Price minimum of arrival
arr_price_max FLOAT OPTIONAL1 Price maximum of arrival
date STRING DATE OPTIONAL date_tour_param_description
time INTEGER OPTIONAL time_tour_param_description
maxtime INTEGER OPTIONAL Maximum duration of tour (UNIT: minutes)
maxdist INTEGER OPTIONAL Maximum distance of tour (UNIT: meters) Default: 5000
arrive_at INTEGER OPTIONAL Arrive at those date/time (VALUES: 0 or 1)
tr_mode INTEGER OPTIONAL Mode of transportation, the possible values ​​are 1, 2, 3 et 4.
1: Car,
2: Walking,
3: Bicycle,
4: Public transport Default: 4
distribution STRING OPTIONAL Distribution of the POIs selected for the tour calculation:
- departure, poi close to the starting point
- arrival, poi close to the arrival point
- smooth, poi distributed between the starting point and the arrival point
Default: departure
accessibility INTEGER OPTIONAL Data accessibility (VALUES: 0 or 1)
budget INTEGER OPTIONAL Budget
with_child INTEGER OPTIONAL Data for children (VALUES: 0 or 1)
social_distancing INTEGER OPTIONAL Allow to avoid crowded areas (VALEURS: 0 ou 1) Default: 0
nb_person INTEGER OPTIONAL Number of person
etype_einflu JSON ARRAY OPTIONAL Influences (VALUES: '{"1":2,"2":2,"3":2,"4":2,"5":2}')
1 - Culture
2 - Sport
3 - Leisure
4 - Events
5 - Shopping
6 - Others
use_weather INTEGER OPTIONAL Weather (VALUES: 0 or 1) Default: 0
excluded_pois JSON ARRAY OPTIONAL List of POIs or events to exclude from Magic Tour
{
  "id": string,
  "place_id": string,
  "kind": integer
}
matrix_url STRING OPTIONAL2 URL of your matrix calculator
encode_line INTEGER OPTIONAL Allow to encode polyline geometry (encoding algorithm). 0 return geojson format. 1 return encoded format. Default: 1
transit_min_dist INTEGER OPTIONAL Minimum distance between two places in order to calculate the itinerary by public transport. Default: 500
use_traffic INTEGER OPTIONAL Allows you to choose different modes for taking disturbances into account when calculating the itinerary by public transport.
The possible values ​​are as follows:
0 - Does not use traffic disruptions
1 - Use server disruption

If use_traffic = 1, can use parameter traffic_source Default: 0
traffic_source STRING OPTIONAL Comma separated list of disruption source ids.

Response model

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Errors

Code Message Description
missing_area_id Missing area_id field.
bad_departure Bad tour departure.
bad_arrival Bad tour arrival.
bad_time Bad tour time.
bad_tour_maxtime Bad tour maxtime (Must be between 0 and 1440 included).
bad_tour_maxdist Bad tour maxdist (Must be an integer >= 0).
bad_tour_arrive_at Bad tour arrive_at (Must be 0 or 1).
bad_tour_accessibility Bad tour accessibility (Must be 0 or 1).
bad_tour_budget Bad tour budget (Must be an integer >= 0).
bad_tour_with_child Bad tour with_child (Must be 0 or 1).
bad_tour_with_hotel Bad tour with_hotel (Must be 0 or 1).
bad_tour_nb_person Bad tour nb_person (Must be an integer >= 1).
bad_tour_transit Bad tour transit (Must be 0 or 1).
bad_departure_isinstance Bad tour departure.
bad_arrival_isinstance Bad tour arrival.
bad_tour_add_pause Pause invalid, could not be added.
bad_tour_add_visit Visit invalid, could not be added.
bad_influences Bad influences (etype_einflu).
error_matrix_distancer Error with the matrix distancer
error_matrix_xml Error matrix is none
no_matrix_data Erreur, no matrix data
not_enough_time There is not enougth time to make tour with those parameters
tour is undefined Tour is undefined
Optimisation Request Error :[ERROR] Optimisation Request Error :[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Error Server Unreachable or [ERROR] at [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Error Server Unreachable or [ERROR] at [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Error Server Unreachable or [ERROR] at [URL]
params_not_defined Trip optimisation error: parameters not defined
M1001: [ERROR] Trip optimisation error: M1001: [ERROR]
M1002: [ERROR] Trip optimisation error: M1002: [ERROR]
unknow method Trip optimisation error: unknow method
unknown matrix method Trip optimisation error: unknow matrix method

Update Tour Informations

Example request:

https://api.visitmoov.com/api/v1/update_tour_info_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&calc_tour_key=845d47fb5d521aea0223141f49cb6ba1c164d853&tour_id=1&accessibility=1&with_child=1&nb_person=4&time=550&maxtime=200

This request returns JSON structured like this:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 550, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 200, "distmax": 5000, "with_child": 1, "with_hotel": 0, "social_distancing": 0, "accessibility": 1, "budget": 0, "nb_person": 4, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 10110, "time": 189, "visit_kind": 0, "nb_stops": 5, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": null, "stops": [ { "id": "043bc9eh1000000374b744882b93c7f031bd998b", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "length_to_next_point": 1397, "time_to_next_point": 17, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 550, "date": "2022-12-09", "place_id": "96d785493cb44d4ce68b2h10000003bd953b5583", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "dae9a344d114504a1e81ee4f90e80862205f148184", "geometry": { "type": "Point", "coordinates": [ 2.3627993, 48.8806979 ] }, "length_to_next_point": 196, "time_to_next_point": 3, "visit_time": 30, "visit_kind": 1, "min": 567, "max": 602, "arrival": 567, "departure": 597, "date": "2022-12-09", "place_id": "470f148184c2fc54c15a3fd95326aa09af563c8c", "place_name": "Ownsport", "desc": "Ownsport est le leader français du coaching sportif à domicile. Plus d'infos sur https://www.ownsport.fr", "place_type": "8acd804a556526777439ab79174e5e8b1ee651a3", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "153ce9357b217a95f0729663233772c2c2f148184", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "477f1181107927d57c5a9501221a3f5287284b98", "geometry": { "type": "Point", "coordinates": [ 2.3635484, 48.8820287 ] }, "length_to_next_point": 2422, "time_to_next_point": 30, "visit_time": 5, "visit_kind": 1, "min": 600, "max": 610, "arrival": 600, "departure": 605, "date": "2022-12-09", "place_id": "46f11811074f1d8c99c0a9cd71cf88982d1bf2d0", "place_name": "Louis Blanc", "desc": "Louis Blanc est une station des lignes 7 et 7 bis du métro de Paris, située dans le 10e arrondissement de Paris. Elle a la particularité d'être constituée de deux stations à quai central dont l'une est située nettement plus profondément dans le sol que l'autre.", "place_type": "8acd804a556526777439ab79174e5e8b1ee651a3", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "f4a3ef11811049319470f3852eeea10bef014bd4", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "2866fbf00cd74010bac78e8f9de491251d8b0690", "geometry": { "type": "Point", "coordinates": [ 2.35033, 48.8827200009207 ] }, "length_to_next_point": 6095, "time_to_next_point": 74, "visit_time": 30, "visit_kind": 1, "min": 635, "max": 670, "arrival": 635, "departure": 665, "date": "2022-12-09", "place_id": "6cbcae77ea7338b8b3586c267e49125088cf4917", "place_name": "Magenta", "desc": "La gare de Magenta est une gare ferroviaire française de la ligne E du réseau express régional d'Île-de-France ; elle est située à l'est de la gare du Nord, dans le 10e arrondissement de Paris. À l'origine du projet, cette gare aurait dû porter le nom de gare Nord-Est.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d383335383130363834.jpg", "resa_url": "", "event_id": "46e491256aeace820e1564e9b2a857a4b3164cec", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "3d308h10000004a37ed4f51e4837098bb47e5c8d", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 739, "max": 739, "arrival": 739, "departure": 0, "date": "2022-12-09", "place_id": "d38f77c19f2c8a6f9b1de5b524h100000041be15", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "043bc9eh1000000374b744882b93c7f031bd998b", "to_id": "dae9a344d114504a1e81ee4f90e80862205f148184", "mode": 4, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLDAJo@Dg@LqBH@D@F@@OBE@K|@NJ@NBTDTBE[W{AJGuC{PsE}WKFX|ARM", "emission": { "co2": 92 }, "duration": 600, "distance": 1582, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "name": "", "time": 554 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356393, 48.879059 ] }, "name": "LA FAYETTE - SAINT-QUENTIN - GARE DU NORD", "time": 560 }, "details": [ { "distance": 118.55, "relativeDirection": "DEPART", "streetName": "7 - 8", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3552521168996474, 48.88161485642306 ] } }, { "distance": 21.39, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547713000000003, 48.880596700000005 ] } }, { "distance": 68.25, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3550507, 48.880539600000006 ] } }, { "distance": 76.2, "relativeDirection": "LEFT", "streetName": "Place Napoléon III", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547629000000003, 48.879960700000005 ] } }, { "distance": 14.09, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3557768, 48.8798078 ] } }, { "distance": 13.96, "relativeDirection": "LEFT", "streetName": "trottoir", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3557444000000003, 48.879682900000006 ] } }, { "distance": 75.74, "relativeDirection": "RIGHT", "streetName": "Rue de Saint-Quentin", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3559188, 48.879646400000006 ] } }, { "distance": 46.57, "relativeDirection": "HARD_LEFT", "streetName": "Rue La Fayette", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3557598, 48.8789735 ] } } ], "emission": { "co2": 0 }, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLDAJo@Dg@LqBH@D@F@@OBE@K|@NJ@NBTDTBE[W{A??JG", "duration": 7, "distance": 434.74, "mode": 2, "time": 554 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356393, 48.879059 ] }, "name": "La Fayette - Saint-Quentin - Gare du Nord", "time": 561, "id": "IDFM:29412" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.363243, 48.880867 ] }, "name": "Château Landon", "time": 564, "id": "IDFM:8423" }, "emission": { "co2": 92 }, "route": { "color": "FF5A00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "NATION - TRONE", "direction": 1, "long_name": "Nation - Gare Saint-Lazare", "short_name": "26", "id": "IDFM:C01076", "type": 700 }, "geometry": "cuiiHmfkMuC{PsE}W", "duration": 3, "stops": [ { "code": "", "name": "La Fayette - Dunkerque", "id": 4928358, "geometry": { "type": "Point", "coordinates": [ 2.359247, 48.879812 ] } } ], "mode": 4, "time": 560 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.363243, 48.880867 ] }, "name": "CHÂTEAU LANDON", "time": 564 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.362799, 48.880698 ] }, "name": "", "time": 564 }, "details": [ { "distance": 37.12, "relativeDirection": "DEPART", "streetName": "Rue La Fayette", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3632030403837514, 48.88093210677285 ] } } ], "emission": { "co2": 0 }, "geometry": "m`jiHgqlMKFX|ARM", "duration": 1, "distance": 37.12, "mode": 2, "time": 564 } ] }, { "from_id": "dae9a344d114504a1e81ee4f90e80862205f148184", "to_id": "477f1181107927d57c5a9501221a3f5287284b98", "mode": 2, "geometry": "a`jiHanlM@HLr@UK{DkBGEGI[e@KIEEFOFO", "emission": { "co2": 0 }, "duration": 156, "distance": 208, "steps": [ { "distance": 24.8, "driving_side": "right", "duration": 20, "geometry": "a`jiHanlM@HLr@", "instructions": "Se diriger vers le sud-ouest sur la rue La Fayette", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.362732, 48.880808 ] } }, "mode": 2, "name": "Rue La Fayette", "emission": { "co2": 0 } }, { "distance": 168.8, "driving_side": "right", "duration": 125.6, "geometry": "q_jiHcllMUK{DkBGEGI[e@KIEE", "instructions": "Tourner franchement à droite sur la rue du Château Landon", "maneuver": { "modifier": "sharp right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.362416, 48.880726 ] } }, "mode": 2, "name": "Rue du Château Landon", "emission": { "co2": 0 } }, { "distance": 14.7, "driving_side": "right", "duration": 10.5, "geometry": "ahjiHarlMFOFO", "instructions": "Tourner à droite sur la rue Louis Blanc", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.363369, 48.882094 ] } }, "mode": 2, "name": "Rue Louis Blanc", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "qgjiHaslM??", "instructions": "Vous êtes arrivé à Rue Louis Blanc", "maneuver": { "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.363526, 48.882011 ] } }, "mode": 2, "name": "Rue Louis Blanc", "emission": { "co2": 0 } } ] }, { "from_id": "477f1181107927d57c5a9501221a3f5287284b98", "to_id": "2866fbf00cd74010bac78e8f9de491251d8b0690", "mode": 4, "geometry": "ugjiHeslMBDLWvAaDTg@HSJSFKBGLUFQLNBDJNj@r@RVKTdL|NzK`GdApKgIhLaLpFkGbUmKhJACDEPODRlAcAAE", "emission": { "co2": 300 }, "duration": 1560, "distance": 3133, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.363548, 48.882029 ] }, "name": "", "time": 608 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.364472, 48.880703 ] }, "name": "LOUIS BLANC", "time": 611 }, "details": [ { "distance": 155.43, "relativeDirection": "DEPART", "streetName": "Rue Louis Blanc", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3635255391561394, 48.882011125216486 ] } }, { "distance": 66.49, "relativeDirection": "RIGHT", "streetName": "Rue du Faubourg Saint-Martin", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3651516000000004, 48.881111100000005 ] } } ], "emission": { "co2": 0 }, "geometry": "ugjiHeslMBDLWvAaDTg@HSJSFKBGLUFQLNBDJNj@r@RVKT", "duration": 3, "distance": 221.91, "mode": 2, "time": 608 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.364472, 48.880703 ] }, "name": "Louis Blanc", "time": 612, "id": "IDFM:28388" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.349932, 48.883242 ] }, "name": "Barbès - Rochechouart", "time": 634, "id": "IDFM:36542" }, "emission": { "co2": 300 }, "route": { "color": "82C8E6", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "GABRIEL PERI-METRO", "direction": 1, "long_name": "Gabriel Péri - Porte d'Aubervilliers", "short_name": "54", "id": "IDFM:C01092", "type": 700 }, "geometry": "k_jiH}xlMdL|NzK`GdApKgIhLaLpFkGbUmKhJ", "duration": 22, "stops": [ { "code": "", "name": "Château Landon", "id": 4942735, "geometry": { "type": "Point", "coordinates": [ 2.361921, 48.878585 ] } }, { "code": "", "name": "Verdun", "id": 4931711, "geometry": { "type": "Point", "coordinates": [ 2.360633, 48.876528 ] } }, { "code": "", "name": "Gare de l'Est", "id": 4940464, "geometry": { "type": "Point", "coordinates": [ 2.358623, 48.876184 ] } }, { "code": "", "name": "Valenciennes", "id": 4945978, "geometry": { "type": "Point", "coordinates": [ 2.35649, 48.877818 ] } }, { "code": "", "name": "Gare du Nord - Dunkerque", "id": 4929207, "geometry": { "type": "Point", "coordinates": [ 2.355278, 48.879907 ] } }, { "code": "", "name": "Magenta - Maubeuge - Gare du Nord", "id": 4937233, "geometry": { "type": "Point", "coordinates": [ 2.351743, 48.881246 ] } } ], "mode": 4, "time": 611 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.349932, 48.883242 ] }, "name": "BARBÈS - ROCHECHOUART", "time": 634 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.35033, 48.88272 ] }, "name": "", "time": 635 }, "details": [ { "distance": 73.84, "relativeDirection": "DEPART", "streetName": "Boulevard de Magenta", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3499579982368286, 48.88325271744114 ] } } ], "emission": { "co2": 0 }, "geometry": "gojiHa~iMACDEPODRlAcAAE", "duration": 1, "distance": 73.84, "mode": 2, "time": 634 } ] }, { "from_id": "2866fbf00cd74010bac78e8f9de491251d8b0690", "to_id": "3d308h10000004a37ed4f51e4837098bb47e5c8d", "mode": 4, "geometry": "_ljiHq`jM@D`CqBFGHItAkAPONLDDB@zAXJBH@rB`@JBESOu@AEIDfEnSfFnU|GrQlCdLk@fTa@fWdCp\\bGpBx@xHw@nl@VGSqBAKOBeAPK@K@R}CBk@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "emission": { "co2": 462 }, "duration": 2040, "distance": 5069, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.35033, 48.88272 ] }, "name": "", "time": 668 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.351332, 48.880282 ] }, "name": "MAGENTA - MAUBEUGE", "time": 673 }, "details": [ { "distance": 161.77, "relativeDirection": "DEPART", "streetName": "Boulevard de Magenta", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.350307717997173, 48.88271144104704 ] } }, { "distance": 154.28, "relativeDirection": "RIGHT", "streetName": "Rue de Rocroy", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3514274, 48.8814567 ] } }, { "distance": 32.29, "relativeDirection": "HARD_LEFT", "streetName": "Rue de Maubeuge", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3509646, 48.880111400000004 ] } } ], "emission": { "co2": 0 }, "geometry": "_ljiHq`jM@D`CqBFGHItAkAPONLDDB@zAXJBH@rB`@JBESOu@AEID", "duration": 5, "distance": 348.34, "mode": 2, "time": 668 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.351332, 48.880282 ] }, "name": "Magenta - Maubeuge", "time": 674, "id": "IDFM:29789" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.317934, 48.874385 ] }, "name": "Saint-Augustin - la Boétie", "time": 699, "id": "IDFM:27327" }, "emission": { "co2": 462 }, "route": { "color": "FF1400", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "BAGATELLE", "direction": 1, "long_name": "Place de Bagatelle - Gare du Nord", "short_name": "43", "id": "IDFM:C01086", "type": 700 }, "geometry": "w|iiHyfjMfEnSfFnU|GrQlCdLk@fTa@fWdCp\\bGpBx@xHw@nl@", "duration": 25, "stops": [ { "code": "", "name": "Condorcet", "id": 4954114, "geometry": { "type": "Point", "coordinates": [ 2.348045, 48.879283 ] } }, { "code": "", "name": "Maubeuge - Rochechouart", "id": 4927238, "geometry": { "type": "Point", "coordinates": [ 2.344446, 48.878122 ] } }, { "code": "", "name": "Châteaudun - Lamartine", "id": 4938269, "geometry": { "type": "Point", "coordinates": [ 2.341465, 48.876693 ] } }, { "code": "", "name": "Carrefour de Châteaudun", "id": 4939936, "geometry": { "type": "Point", "coordinates": [ 2.33936, 48.87598 ] } }, { "code": "", "name": "Saint-Georges - Châteaudun", "id": 4945899, "geometry": { "type": "Point", "coordinates": [ 2.335963, 48.876195 ] } }, { "code": "", "name": "Trinité", "id": 4956332, "geometry": { "type": "Point", "coordinates": [ 2.332075, 48.876372 ] } }, { "code": "", "name": "Gare Saint-Lazare - Budapest", "id": 4949608, "geometry": { "type": "Point", "coordinates": [ 2.327352, 48.875698 ] } }, { "code": "", "name": "Gare Saint-Lazare - Havre", "id": 4948007, "geometry": { "type": "Point", "coordinates": [ 2.326783, 48.874399 ] } }, { "code": "", "name": "Pasquier - Anjou", "id": 4953886, "geometry": { "type": "Point", "coordinates": [ 2.325205, 48.874112 ] } } ], "mode": 4, "time": 673 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.317934, 48.874385 ] }, "name": "SAINT-AUGUSTIN - LA BOÉTIE", "time": 699 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "name": "", "time": 703 }, "details": [ { "distance": 47.6, "relativeDirection": "DEPART", "streetName": "Rue La Boétie", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.317978432419112, 48.8742764816184 ] } }, { "distance": 61.68, "relativeDirection": "LEFT", "streetName": "Rue Roy", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3186076, 48.874386 ] } }, { "distance": 75.35, "relativeDirection": "RIGHT", "streetName": "Boulevard Haussmann", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3184761000000003, 48.8749339 ] } }, { "distance": 78.37, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3194888000000002, 48.8748103 ] } } ], "emission": { "co2": 0 }, "geometry": "}whiHavcMVGSqBAKOBeAPK@K@R}CBk@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "duration": 4, "distance": 263, "mode": 2, "time": 699 } ] } ], "emission": { "co2": 854 } } ] }, "calc_tour_key": "845d47fb5d521aea0223141f49cb6ba1c164d853", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "4143", "name": "Point éphémère", "place_id": 4143, "place": "Point éphémère", "kind": 0, "city": "Paris" }, { "id": "6337", "name": "Eglise Saint-Bernard de la Chapelle", "place_id": 6337, "place": "Eglise Saint-Bernard de la Chapelle", "kind": 0, "city": "Paris" } ], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Allow to update general information about an existing tour.

HTTP Request

GET https://api.visitmoov.com/api/v1/update_tour_info_tour/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
tour_id INTEGER REQUIRED Tour identifier
date STRING DATE OPTIONAL date_tour_param_description
time INTEGER OPTIONAL time_tour_param_description
maxtime INTEGER OPTIONAL Maximum duration of tour (UNIT: minutes)
maxdist INTEGER OPTIONAL Maximum distance of tour (UNIT: meters)
tr_mode INTEGER OPTIONAL Mode of transportation, the possible values ​​are 1, 2, 3 et 4.
1: Car,
2: Walking,
3: Bicycle,
4: Public transport Default: 4
accessibility INTEGER OPTIONAL Data accessibility (VALUES: 0 or 1)
budget INTEGER OPTIONAL Budget
with_child INTEGER OPTIONAL Data for children (VALUES: 0 or 1)
nb_person INTEGER OPTIONAL Number of person
calc_tour_key STRING REQUIRED Tour calculation key
encode_line INTEGER OPTIONAL Allow to encode polyline geometry (encoding algorithm). 0 return geojson format. 1 return encoded format. Default: 1
transit_min_dist INTEGER OPTIONAL Minimum distance between two places in order to calculate the itinerary by public transport. Default: 500
use_traffic INTEGER OPTIONAL Allows you to choose different modes for taking disturbances into account when calculating the itinerary by public transport.
The possible values ​​are as follows:
0 - Does not use traffic disruptions
1 - Use server disruption

If use_traffic = 1, can use parameter traffic_source Default: 0
traffic_source STRING OPTIONAL Comma separated list of disruption source ids.

Response model

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Errors

Code Message Description
missing_area_id Missing area_id field.
calc_tour_key not found Missing calc_tour_key field.
tour_id not found tour_id not found
Xml file [CALC_TOUR_KEY] - error: [ERROR] For the tour with the key [CALC_TOUR_KEY] there was the following [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Error with the matrix distancer
error_matrix_xml Error matrix is none
no_matrix_data Erreur, no matrix data
not_enough_time There is not enougth time to make tour with those parameters
tour is undefined Tour is undefined
Optimisation Request Error :[ERROR] Optimisation Request Error :[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Error Server Unreachable or [ERROR] at [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Error Server Unreachable or [ERROR] at [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Error Server Unreachable or [ERROR] at [URL]
params_not_defined Trip optimisation error: parameters not defined
M1001: [ERROR] Trip optimisation error: M1001: [ERROR]
M1002: [ERROR] Trip optimisation error: M1002: [ERROR]
unknow method Trip optimisation error: unknow method
unknown matrix method Trip optimisation error: unknow matrix method

Update Tour Departure/Arrival

Example request:

https://api.visitmoov.com/api/v1/update_tour_dep_arr_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&calc_tour_key=8632e2379dce68603231a54d4d5e08eda1fc2473&tour_id=1&dep_lat=48.87&dep_lng=2.3465613&dep_name=Paris&arr_lat=48.87&arr_lng=2.3465613&arr_name=Paris

This request returns JSON structured like this:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 1, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 4896, "time": 121, "visit_kind": 0, "nb_stops": 4, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": null, "stops": [ { "id": "f9dae4a2efh1000001080722019888d28ac590ad", "geometry": { "type": "Point", "coordinates": [ 2.3465613, 48.87 ] }, "length_to_next_point": 2205, "time_to_next_point": 27, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-09", "place_id": "f89d08ceah100000106454214d2721adc2b697e3", "place_name": "Paris", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "ba1a937a3d4eb3880876d94858d781d237d4a700", "geometry": { "type": "Point", "coordinates": [ 2.3563825, 48.8746096 ] }, "length_to_next_point": 261, "time_to_next_point": 4, "visit_time": 30, "visit_kind": 1, "min": 567, "max": 602, "arrival": 567, "departure": 597, "date": "2022-12-09", "place_id": "cc8ce6dd95cd9485d3731140edc1f06ab2214155", "place_name": "InterConnections", "desc": "Centre de Yoga Kundalini et Développement personnel", "place_type": "8acd804a556526777439ab79174e5e8b1ee651a3", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "fcec3c8892d86b9d948566899e375c5597dd6ff2", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "3871e7db9f02f94d1672ff453e905cac2917f989", "geometry": { "type": "Point", "coordinates": [ 2.355592, 48.876421 ] }, "length_to_next_point": 2430, "time_to_next_point": 30, "visit_time": 30, "visit_kind": 1, "min": 601, "max": 636, "arrival": 601, "departure": 631, "date": "2022-12-09", "place_id": "aa216533287dbe3a593d083cd678435d1672ee33", "place_name": "Marché couvert Saint-Quentin", "desc": "Visiter un marché couvert, c'est se balader dans un endroit authentique à Paris, au milieu des habitants du quartier, dans une atmosphère toujours bon enfant.\nLes marchés couverts de Paris sont les lointains héritiers des halles d'antan, que l'on visite encore au cœur de certains bourgs d'Île de France.\nC'est dire que vous y trouverez une certaine authenticité, et bien souvent des produits de grande qualité.\nCertains marchés disposent de stands où l'on peut même déguster les plats que l'on vient d'acheter !", "place_type": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "69e6ef5fc10c17a6e984d1672a1d86075164ed01", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "b8f260fc7dcf57d9h1000001100ffe9634cf4011", "geometry": { "type": "Point", "coordinates": [ 2.3465613, 48.87 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 661, "max": 661, "arrival": 661, "departure": 0, "date": "2022-12-09", "place_id": "6af8e55a8f923f2118d62dch1000001171f37426", "place_name": "Paris", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "f9dae4a2efh1000001080722019888d28ac590ad", "to_id": "ba1a937a3d4eb3880876d94858d781d237d4a700", "mode": 4, "geometry": "o|giH_iiMIp@pAf@lAn@JDJDrBf@LBl@JlAXRKFi@PqA?CJs@D[BM@MTHnD_f@}JqEeUoKCVCAWKKGKESKQIaAe@iB{@GCiAi@GCIEg@WwAo@GEMPCDEFCND^LfAOD", "emission": { "co2": 191 }, "duration": 1020, "distance": 2858, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346561, 48.87 ] }, "name": "", "time": 547 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346585, 48.867404 ] }, "name": "SENTIER", "time": 552 }, "details": [ { "distance": 264.51, "relativeDirection": "DEPART", "streetName": "Rue du Sentier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3463197032746668, 48.87005233781502 ] } }, { "distance": 90.7, "relativeDirection": "LEFT", "streetName": "Rue Réaumur", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3454616, 48.8677682 ] } } ], "emission": { "co2": 0 }, "geometry": "o|giH_iiMIp@pAf@lAn@JDJDrBf@LBl@JlAXRKFi@PqA?CJs@D[BM@MTH", "duration": 5, "distance": 355.21, "mode": 2, "time": 547 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346585, 48.867404 ] }, "name": "Sentier", "time": 553, "id": "IDFM:26767" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.35588, 48.871978 ] }, "name": "Château d'Eau", "time": 560, "id": "IDFM:22986" }, "emission": { "co2": 191 }, "route": { "color": "A0006E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "GARE DU NORD", "direction": 0, "long_name": "Victor Hugo - Gare du Nord", "short_name": "39", "id": "IDFM:C01084", "type": 700 }, "geometry": "glgiHeiiMnD_f@}JqEeUoK", "duration": 7, "stops": [ { "code": "", "name": "Réaumur - Sébastopol", "id": 4943034, "geometry": { "type": "Point", "coordinates": [ 2.352826, 48.866521 ] } }, { "code": "", "name": "Strasbourg - Saint-Denis", "id": 4958651, "geometry": { "type": "Point", "coordinates": [ 2.353879, 48.868433 ] } } ], "mode": 4, "time": 552 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.35588, 48.871978 ] }, "name": "CHÂTEAU D'EAU", "time": 560 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356383, 48.87461 ] }, "name": "", "time": 565 }, "details": [ { "distance": 295.68, "relativeDirection": "DEPART", "streetName": "Boulevard de Strasbourg", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.355764520318629, 48.87200678662922 ] } }, { "distance": 63.46, "relativeDirection": "LEFT", "streetName": "Rue de la Fidélité", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3571778, 48.874498100000004 ] } } ], "emission": { "co2": 0 }, "geometry": "{hhiHgckMCVCAWKKGKESKQIaAe@iB{@GCiAi@GCIEg@WwAo@GEMPCDEFCND^LfAOD", "duration": 5, "distance": 359.14, "mode": 2, "time": 560 } ] }, { "from_id": "ba1a937a3d4eb3880876d94858d781d237d4a700", "to_id": "3871e7db9f02f94d1672ff453e905cac2917f989", "mode": 2, "geometry": "yxhiHsfkMUgBE_@GOKIEAQMq@j@sAjAQN[Xo@j@c@^ONMHWRQLJZ?FAB", "emission": { "co2": 0 }, "duration": 232, "distance": 314, "steps": [ { "distance": 82.1, "driving_side": "right", "duration": 59.2, "geometry": "yxhiHsfkMUgBE_@GOKIEAQM", "instructions": "Se diriger vers l’est sur la rue de la Fidélité", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.356419, 48.874532 ] } }, "mode": 2, "name": "Rue de la Fidélité", "emission": { "co2": 0 } }, { "distance": 215.8, "driving_side": "right", "duration": 161.4, "geometry": "a{hiHelkMq@j@sAjAQN[Xo@j@c@^ONMHWRQL", "instructions": "Tourner à gauche sur le boulevard de Magenta", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.357312, 48.874893 ] } }, "mode": 2, "name": "Boulevard de Magenta", "emission": { "co2": 0 } }, { "distance": 16.6, "driving_side": "right", "duration": 12, "geometry": "qeiiH{bkMJZ?FAB", "instructions": "Tourner à gauche sur la rue de Chabrol", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.355819, 48.876566 ] } }, "mode": 2, "name": "Rue de Chabrol", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "geiiHsakM??", "instructions": "Vous êtes arrivé à Rue de Chabrol, sur la gauche", "maneuver": { "modifier": "left", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.355618, 48.876516 ] } }, "mode": 2, "name": "Rue de Chabrol", "emission": { "co2": 0 } } ] }, { "from_id": "3871e7db9f02f94d1672ff453e905cac2917f989", "to_id": "b8f260fc7dcf57d9h1000001100ffe9634cf4011", "mode": 4, "geometry": "sdiiHmakMGU\\WLMJIDKDI^WPQXW@DDLFJXNZRDBr@^B@vBlA@@HDJFJFHDPHf@Xd@VlDjBHDHNHBBB~Ax@@?zBhAJFFBNHlAh@B@NFJDB@DBlBx@z@\\DBB@H|@BN?BBBB@CL@@?B?D?DEPETETEVM`AAAiDxXRHE^Gr@CNRHpChAHq@", "emission": { "co2": 54 }, "duration": 1020, "distance": 2125, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355592, 48.876421 ] }, "name": "", "time": 639 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.351405, 48.870039 ] }, "name": "PORTE SAINT-DENIS", "time": 652 }, "details": [ { "distance": 94.99, "relativeDirection": "DEPART", "streetName": "Boulevard de Magenta", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3557003979887785, 48.87646148203462 ] } }, { "distance": 700.17, "relativeDirection": "RIGHT", "streetName": "Rue du Faubourg Saint-Denis", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3563848000000003, 48.8757427 ] } }, { "distance": 35.58, "relativeDirection": "RIGHT", "streetName": "Porte Saint-Denis", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3527612, 48.869942800000004 ] } }, { "distance": 5.31, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3523254000000002, 48.869834600000004 ] } }, { "distance": 66.79, "relativeDirection": "LEFT", "streetName": "trottoir", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.352258, 48.869852400000006 ] } } ], "emission": { "co2": 0 }, "geometry": "sdiiHmakMGU\\WLMJIDKDI^WPQXW@DDLFJXNZRDBr@^B@vBlA@@HDJFJFHDPHf@Xd@VlDjBHDHNHBBB~Ax@@?zBhAJFFBNHlAh@B@NFJDB@DBlBx@z@\\DBB@H|@BN?BBBB@CL@@?B?D?DEPETETEVM`AAA", "duration": 13, "distance": 902.85, "mode": 2, "time": 639 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.351405, 48.870039 ] }, "name": "Porte Saint-Denis", "time": 653, "id": "IDFM:22957" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347278, 48.870889 ] }, "name": "Poissonnière - Bonne Nouvelle", "time": 655, "id": "IDFM:26769" }, "emission": { "co2": 54 }, "route": { "color": "FF5A00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "LOUISON BOBET", "direction": 0, "long_name": "Centre Commercial / Louison Bobet - Porte des Lilas", "short_name": "20", "id": "IDFM:C01072", "type": 700 }, "geometry": "w|giHigjMiDxX", "duration": 2, "stops": [], "mode": 4, "time": 652 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347278, 48.870889 ] }, "name": "POISSONNIÈRE - BONNE NOUVELLE", "time": 655 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346561, 48.87 ] }, "name": "", "time": 656 }, "details": [ { "distance": 38.07, "relativeDirection": "DEPART", "streetName": "Boulevard Poissonnière", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3472380928619767, 48.870791675878266 ] } }, { "distance": 97.02, "relativeDirection": "LEFT", "streetName": "Rue du Sentier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3467356, 48.8708809 ] } } ], "emission": { "co2": 0 }, "geometry": "abhiHomiMRHE^Gr@CNRHpChAHq@", "duration": 2, "distance": 135.09, "mode": 2, "time": 655 } ] } ], "emission": { "co2": 245 } } ] }, "calc_tour_key": "8632e2379dce68603231a54d4d5e08eda1fc2473", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "118110", "name": "Louis Blanc", "place_id": 118110, "place": "Louis Blanc", "kind": 0, "city": "Paris" }, { "id": "4143", "name": "Point éphémère", "place_id": 4143, "place": "Point éphémère", "kind": 0, "city": "Paris" }, { "id": "148184", "name": "Ownsport", "place_id": 148184, "place": "Ownsport", "kind": 0, "city": "Paris" } ], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Allow you to change the departure and arrival of an existing tour.

HTTP Request

GET https://api.visitmoov.com/api/v1/update_tour_dep_arr_tour/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
tour_id INTEGER REQUIRED Tour identifier
dep_lat FLOAT REQUIRED1 Latitude of departure (WGS84)
dep_lng FLOAT REQUIRED1 Longitude of departure (WGS84)
dep_name STRING REQUIRED1 Name of departure
dep_id STRING REQUIRED1 Id of departure
dep_kind STRING REQUIRED1 Kind of departure
arr_lat FLOAT REQUIRED1 Latitude of arrival (WGS84)
arr_lng FLOAT REQUIRED1 Longitude of arrival (WGS84)
arr_name STRING REQUIRED1 Name of departure
arr_id STRING REQUIRED1 Id of arrival
arr_kind STRING REQUIRED1 Kind of arrival
calc_tour_key STRING REQUIRED Tour calculation key
encode_line INTEGER OPTIONAL Allow to encode polyline geometry (encoding algorithm). 0 return geojson format. 1 return encoded format. Default: 1
transit_min_dist INTEGER OPTIONAL Minimum distance between two places in order to calculate the itinerary by public transport. Default: 500
use_traffic INTEGER OPTIONAL Allows you to choose different modes for taking disturbances into account when calculating the itinerary by public transport.
The possible values ​​are as follows:
0 - Does not use traffic disruptions
1 - Use server disruption

If use_traffic = 1, can use parameter traffic_source Default: 0
traffic_source STRING OPTIONAL Comma separated list of disruption source ids.

Response model

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Errors

Code Message Description
missing_area_id Missing area_id field.
calc_tour_key not found Missing calc_tour_key field.
tour_id not found tour_id not found
Xml file [CALC_TOUR_KEY] - error: [ERROR] For the tour with the key [CALC_TOUR_KEY] there was the following [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Error with the matrix distancer
error_matrix_xml Error matrix is none
no_matrix_data Erreur, no matrix data
not_enough_time There is not enougth time to make tour with those parameters
tour is undefined Tour is undefined
Optimisation Request Error :[ERROR] Optimisation Request Error :[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Error Server Unreachable or [ERROR] at [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Error Server Unreachable or [ERROR] at [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Error Server Unreachable or [ERROR] at [URL]
params_not_defined Trip optimisation error: parameters not defined
M1001: [ERROR] Trip optimisation error: M1001: [ERROR]
M1002: [ERROR] Trip optimisation error: M1002: [ERROR]
unknow method Trip optimisation error: unknow method
unknown matrix method Trip optimisation error: unknow matrix method

Add Tour POI

Example request:

https://api.visitmoov.com/api/v1/update_tour_addpoi_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&calc_tour_key=1e9da1a62c75fb7b10151168c575a2546f76638b&tour_id=1&visits=[{"id":"1e96d9485c5540f109403bea3186a788833fb84b","kind":0,"poi_id":"1e96d9485c5540f109403bea3186a788833fb84b","poi_kind":0,"visittime":10}]

This request returns JSON structured like this:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 1, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 10444, "time": 261, "visit_kind": 0, "nb_stops": 7, "minmax_budget": "2-50", "min_budget": 2, "max_budget": 50, "is_shopping": null, "stops": [ { "id": "dd7c72f490e584456h1000000985535b0ff6c87c", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "length_to_next_point": 1955, "time_to_next_point": 24, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-09", "place_id": "1420961e935aefcc6d0b791dfcc7e6bfch10000009", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "73cd94855efc1f1c1cd4a9f100c022a4dac51571", "geometry": { "type": "Point", "coordinates": [ 2.3563825, 48.8746096 ] }, "length_to_next_point": 2617, "time_to_next_point": 32, "visit_time": 10, "visit_kind": 1, "min": 564, "max": 579, "arrival": 564, "departure": 574, "date": "2022-12-09", "place_id": "c2de850558b4d763211dad0bee7cfa4ab9e7d9485", "place_name": "InterConnections", "desc": "Centre de Yoga Kundalini et Développement personnel", "place_type": "8acd804a556526777439ab79174e5e8b1ee651a3", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "0dd94854a7ea5a1d04e98910f45934eb50afa8bf", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "b07fa797f142615452338824b44a4a6842c38f47", "geometry": { "type": "Point", "coordinates": [ 2.342094, 48.873923 ] }, "length_to_next_point": 335, "time_to_next_point": 6, "visit_time": 30, "visit_kind": 1, "min": 606, "max": 641, "arrival": 606, "departure": 636, "date": "2022-12-09", "place_id": "4580f5eb9b7fef01ba4a1a8762bb8920e24614f142615", "place_name": "test equipement site desti", "desc": "test\ntest", "place_type": "b72c8602824da2fb2342216aa3303a959941e367", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "48b6f1426155783d9d5c303befc9b0a5aef19a5c", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "697a706abf83d8374963c98707d4dbc192a3da70", "geometry": { "type": "Point", "coordinates": [ 2.341904, 48.871511 ] }, "length_to_next_point": 280, "time_to_next_point": 5, "visit_time": 30, "visit_kind": 1, "min": 642, "max": 677, "arrival": 642, "departure": 672, "date": "2022-12-09", "place_id": "1bef0c987b21119b0ab46b10f1608d2785b99162", "place_name": "Passage des Panoramas", "desc": "Déambulez sous la belle verrière du passage des Panoramas et découvrez de nombreux commerces de bouches.\nC'est le premier passage couvert de Paris, classé monument historique il offre une décoration d'époque préservée ou se sont installés de nombreux restaurateurs de talents. \nIl y en a pour tous les gouts avec de la cuisine japonaise au Gyoza bar, italienne au Caffè Stern, sans gluten chez Noglu et le plus chic au Passage 53, le restaurant du chef Shin Sato, doublement étoilé.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d3835393837373034.jpg", "resa_url": "", "event_id": "730c9875e86d3c8a97a284b908dcce18a7356061", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "32ed8efaef144379c547323d7888bf3f1b1737c3", "geometry": { "type": "Point", "coordinates": [ 2.338837, 48.871519 ] }, "length_to_next_point": 1132, "time_to_next_point": 14, "visit_time": 30, "visit_kind": 1, "min": 677, "max": 712, "arrival": 677, "departure": 707, "date": "2022-12-09", "place_id": "0523db65f144379168156e4bacc078c653d6fc6e", "place_name": "La Tête dans les Nuages", "desc": "La plus grande salle de jeux d’Europe vous ouvre ses portes sur plus de 1500m² . Elle propose plus d'une centaine d'attractions dédiées à tous les âges: billard, bowling, simulateurs de course... Il y en a pour tous les goûts !\nAu cœur de la capitale, cet espace entièrement dédié au jeu s’adresse à tous les publics ! Avec environ 130 attractions, dont plusieurs uniques en France, deux salles de réception pour l’organisation d'évènements, et un espace restauration, La Tête dans les Nuages vous accueille pour des moments de plaisirs en famille ou entre amis.\nVous trouverez cinq espaces thématiques : la tête dans le fun pour les petits dès 3 ans, la tête dans le compteur pour les fous du volant, la tête dans le viseur pour les fans de jeux d’action, la tête dans le rétro pour les nostalgiques et enfin la tête dans le billard pour les amateurs du billard anglais et américain. \nSpécialement conçu pour la famille, venez partager des moments de plaisirs avec vos enfants.\nAdulte : de 2 à 50 € (selon le nombre de jetons)\nEnfant : de 2 à 50 € (selon le nombre de jetons).\n\n\n2€ = 1 jeton\n10€ = 6 jetons\n20€ = 12 jetons\n30€ = 18 jetons \n40€ = 24 jetons\n50€ = 30 jetons.", "place_type": "b72c8602824da2fb2342216aa3303a959941e367", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/0/20/922624-diaporama.jpg", "resa_url": "", "event_id": "735f144379fa10dfb0e608caad424da1f2c760ad", "stars": null, "rate": 0, "nb_rate": 0, "price_min": 2, "price_max": 50, "tripadvisor": null }, { "id": "805db902f3499fb5d6e853305ce1110237a99b0a", "geometry": { "type": "Point", "coordinates": [ 2.3382508, 48.8674547 ] }, "length_to_next_point": 4125, "time_to_next_point": 50, "visit_time": 30, "visit_kind": 1, "min": 721, "max": 756, "arrival": 721, "departure": 751, "date": "2022-12-09", "place_id": "5602cf9a28099e28a7a918d9aaa9e111026858d6", "place_name": "Bibliothèque de l'Institut national d'histoire de l'art (INHA)", "desc": "Salle Labrouste de la Bibliothèque nationale de France, occupée par la bibliothèque de l'INHA depuis le 15 décembre 2016", "place_type": "0c013b1907d015a11c117ff67f123d71a218404a", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "235ca6d482b3988591c13e111029a46bfb5280d0", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "5fb21aa31h10000010b382b2da4fdff13dc079a3", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 801, "max": 801, "arrival": 801, "departure": 0, "date": "2022-12-09", "place_id": "51583db0fd578afbd0c7ab1h100000107da8b5fb", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "dd7c72f490e584456h1000000985535b0ff6c87c", "to_id": "73cd94855efc1f1c1cd4a9f100c022a4dac51571", "mode": 4, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLDAJo@Dg@LqBH@D@F@@OBE@K|@NJ@NBTDTBP@h@JrAVH@BWVgCBUJDRBJBLBPBC^zI{OjHhA@@IZCNCRYnADPIHOJPNLPJPDHDBCPMPCDEFCND^LfAOD", "emission": { "co2": 76 }, "duration": 960, "distance": 1898, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "name": "", "time": 546 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356192, 48.877682 ] }, "name": "VALENCIENNES", "time": 554 }, "details": [ { "distance": 118.55, "relativeDirection": "DEPART", "streetName": "7 - 8", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3552521168996474, 48.88161485642306 ] } }, { "distance": 21.39, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547713000000003, 48.880596700000005 ] } }, { "distance": 68.25, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3550507, 48.880539600000006 ] } }, { "distance": 76.2, "relativeDirection": "LEFT", "streetName": "Place Napoléon III", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547629000000003, 48.879960700000005 ] } }, { "distance": 14.09, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3557768, 48.8798078 ] } }, { "distance": 13.96, "relativeDirection": "LEFT", "streetName": "trottoir", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3557444000000003, 48.879682900000006 ] } }, { "distance": 162.18, "relativeDirection": "RIGHT", "streetName": "Rue de Saint-Quentin", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3559188, 48.879646400000006 ] } }, { "distance": 69.47, "relativeDirection": "LEFT", "streetName": "Rue de Valenciennes", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3555521, 48.8782082 ] } }, { "distance": 43.2, "relativeDirection": "RIGHT", "streetName": "Rue du Faubourg Saint-Denis", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3564686000000004, 48.878044 ] } } ], "emission": { "co2": 0 }, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLDAJo@Dg@LqBH@D@F@@OBE@K|@NJ@NBTDTBP@h@JrAVH@BWVgCBUJDRBJBLBPBC^", "duration": 9, "distance": 587.28, "mode": 2, "time": 546 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356192, 48.877682 ] }, "name": "Valenciennes", "time": 555, "id": "IDFM:463954" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.358522, 48.874439 ] }, "name": "Magenta - Saint-Martin", "time": 559, "id": "IDFM:22745" }, "emission": { "co2": 76 }, "route": { "color": "0055C8", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "PORTE D'ORLEANS", "direction": 1, "long_name": "Porte de la Chapelle - Porte d'Orléans", "short_name": "38", "id": "IDFM:C01083", "type": 700 }, "geometry": "oliiHeekMzI{OjHhA", "duration": 4, "stops": [ { "code": "", "name": "Gare de l'Est", "id": 4940658, "geometry": { "type": "Point", "coordinates": [ 2.358885, 48.875943 ] } } ], "mode": 4, "time": 554 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.358522, 48.874439 ] }, "name": "MAGENTA - SAINT-MARTIN", "time": 559 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356383, 48.87461 ] }, "name": "", "time": 562 }, "details": [ { "distance": 66.1, "relativeDirection": "DEPART", "streetName": "chemin piétonnier", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3585190786764416, 48.874434562852755 ] } }, { "distance": 16.27, "relativeDirection": "RIGHT", "streetName": "Boulevard de Magenta", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3577028, 48.8746273 ] } }, { "distance": 39.64, "relativeDirection": "HARD_LEFT", "streetName": "Boulevard de Strasbourg", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3575908, 48.87475370000001 ] } }, { "distance": 70.22, "relativeDirection": "RIGHT", "streetName": "Rue de la Fidélité", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3572621000000002, 48.8744731 ] } } ], "emission": { "co2": 0 }, "geometry": "gxhiHwskM@@IZCNCRYnADPIHOJPNLPJPDHDBCPMPCDEFCND^LfAOD", "duration": 3, "distance": 192.23, "mode": 2, "time": 559 } ] }, { "from_id": "73cd94855efc1f1c1cd4a9f100c022a4dac51571", "to_id": "b07fa797f142615452338824b44a4a6842c38f47", "mode": 4, "geometry": "iyhiHkfkMNEb@jD?LARCRG`@?DaApHCPEVU~AU|AIn@o@hFANAJQlBCLGr@y@hIALIAMEAF~KnA?KYAK??R?D?dB?N?f@?~A?NAlE?N?P?l@?T?\\?T?hA?NApI?Z?VAXX@", "emission": { "co2": 40 }, "duration": 1020, "distance": 2052, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.356383, 48.87461 ] }, "name": "", "time": 583 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.348237, 48.875912 ] }, "name": "PARADIS", "time": 592 }, "details": [ { "distance": 78.75, "relativeDirection": "DEPART", "streetName": "Rue de la Fidélité", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.356419315946003, 48.87453241599341 ] } }, { "distance": 546.06, "relativeDirection": "CONTINUE", "streetName": "Rue de Paradis", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3553833, 48.874360700000004 ] } }, { "distance": 13.19, "relativeDirection": "RIGHT", "streetName": "Rue du Faubourg Poissonnière", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3482432, 48.8757887 ] } } ], "emission": { "co2": 0 }, "geometry": "iyhiHkfkMNEb@jD?LARCRG`@?DaApHCPEVU~AU|AIn@o@hFANAJQlBCLGr@y@hIALIAMEAF", "duration": 9, "distance": 638.01, "mode": 2, "time": 583 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.348237, 48.875912 ] }, "name": "Paradis", "time": 593, "id": "IDFM:24821" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347841, 48.873832 ] }, "name": "Petites Écuries", "time": 594, "id": "IDFM:24809" }, "emission": { "co2": 40 }, "route": { "color": "A0006E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "FRERES VOISIN", "direction": 1, "long_name": "Victor Hugo - Gare du Nord", "short_name": "39", "id": "IDFM:C01084", "type": 700 }, "geometry": "maiiHosiM~KnA", "duration": 1, "stops": [], "mode": 4, "time": 592 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347841, 48.873832 ] }, "name": "PETITES ÉCURIES", "time": 594 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.342094, 48.873923 ] }, "name": "", "time": 600 }, "details": [ { "distance": 21.18, "relativeDirection": "DEPART", "streetName": "Rue du Faubourg Poissonnière", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.347909859081952, 48.87383216029324 ] } }, { "distance": 406.25, "relativeDirection": "LEFT", "streetName": "Rue Richer", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3479115, 48.8740226 ] } }, { "distance": 18.72, "relativeDirection": "CONTINUE", "streetName": "Rue de Provence", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3423567000000003, 48.874045300000006 ] } } ], "emission": { "co2": 0 }, "geometry": "mthiH_qiM?KYAK??R?D?dB?N?f@?~A?NAlE?N?P?l@?T?\\?T?hA?NApI?Z?VAXX@", "duration": 6, "distance": 446.15, "mode": 2, "time": 594 } ] }, { "from_id": "b07fa797f142615452338824b44a4a6842c38f47", "to_id": "697a706abf83d8374963c98707d4dbc192a3da70", "mode": 2, "geometry": "yuhiHcmhM?[FK@CBC?OTWDGHRHT|BVH@HBjAXB[xC|@\\H^H@?", "emission": { "co2": 0 }, "duration": 234, "distance": 325, "steps": [ { "distance": 10.1, "driving_side": "right", "duration": 7.3, "geometry": "yuhiHcmhM?[", "instructions": "Se diriger vers l’est sur la rue de Provence", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.342101, 48.874051 ] } }, "mode": 2, "name": "Rue de Provence", "emission": { "co2": 0 } }, { "distance": 36.4, "driving_side": "right", "duration": 26.2, "geometry": "yuhiH_nhMFK@CBC?OTWDG", "instructions": "Tourner à droite sur la rue du Faubourg Montmartre", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.342239, 48.874048 ] } }, "mode": 2, "name": "Rue du Faubourg Montmartre", "emission": { "co2": 0 } }, { "distance": 95.2, "driving_side": "right", "duration": 68.6, "geometry": "othiHcphMHRHT|BVH@", "instructions": "Tourner à droite sur le passage Verdeau", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.342577, 48.873839 ] } }, "mode": 2, "name": "Passage Verdeau", "emission": { "co2": 0 } }, { "distance": 183.8, "driving_side": "right", "duration": 132.2, "geometry": "sohiH_nhMHBjAXB[xC|@\\H^H@?", "instructions": "Continuer tout droit sur le passage Jouffroy", "maneuver": { "modifier": "straight", "type": "new name", "geometry": { "type": "Point", "coordinates": [ 2.342238, 48.873056 ] } }, "mode": 2, "name": "Passage Jouffroy", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "_fhiHkkhM??", "instructions": "Vous êtes arrivé à Passage des Panoramas, sur la gauche", "maneuver": { "modifier": "left", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.34182, 48.871521 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } } ] }, { "from_id": "697a706abf83d8374963c98707d4dbc192a3da70", "to_id": "32ed8efaef144379c547323d7888bf3f1b1737c3", "mode": 2, "geometry": "_fhiHkkhMA?_@IEr@g@nF@l@AP?NPDbA`@ALCRCPAFGd@?FGd@\\L", "emission": { "co2": 0 }, "duration": 203, "distance": 279, "steps": [ { "distance": 18.5, "driving_side": "right", "duration": 13.2, "geometry": "_fhiHkkhMA?_@I", "instructions": "Se diriger vers le nord sur le passage des Panoramas", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.34182, 48.871521 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } }, { "distance": 109.8, "driving_side": "right", "duration": 79, "geometry": "aghiHukhMEr@g@nF", "instructions": "Tourner à gauche sur le boulevard Montmartre", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.341865, 48.871685 ] } }, "mode": 2, "name": "Boulevard Montmartre", "emission": { "co2": 0 } }, { "distance": 29.2, "driving_side": "right", "duration": 23.1, "geometry": "ohhiHqbhM@l@AP?N", "instructions": "Tourner légèrement à gauche sur le boulevard des Italiens", "maneuver": { "modifier": "slight left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.340409, 48.871924 ] } }, "mode": 2, "name": "Boulevard des Italiens", "emission": { "co2": 0 } }, { "distance": 50, "driving_side": "right", "duration": 36, "geometry": "ohhiHa`hMPDbA`@", "instructions": "Tourner à gauche sur la rue de Richelieu", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.340011, 48.871915 ] } }, "mode": 2, "name": "Rue de Richelieu", "emission": { "co2": 0 } }, { "distance": 55.1, "driving_side": "right", "duration": 39.6, "geometry": "yehiHy~gMALCRCPAFGd@?FGd@", "instructions": "Tourner à droite", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.339812, 48.871485 ] } }, "mode": 2, "name": "", "emission": { "co2": 0 } }, { "distance": 17, "driving_side": "right", "duration": 12.2, "geometry": "ufhiHizgM\\L", "instructions": "Tourner à gauche sur le passage des Princes", "maneuver": { "modifier": "left", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.339092, 48.871627 ] } }, "mode": 2, "name": "Passage des Princes", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "wehiH{ygM??", "instructions": "Vous êtes arrivé à Passage des Princes, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.339022, 48.871481 ] } }, "mode": 2, "name": "Passage des Princes", "emission": { "co2": 0 } } ] }, { "from_id": "32ed8efaef144379c547323d7888bf3f1b1737c3", "to_id": "805db902f3499fb5d6e853305ce1110237a99b0a", "mode": 4, "geometry": "_fhiHwxgMFc@[MFe@?EFe@@GBQBS@OKEENfHnChMpFFUFBFB\\LLsA", "emission": { "co2": 76 }, "duration": 360, "distance": 927, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.338837, 48.871519 ] }, "name": "", "time": 711 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.339757, 48.871567 ] }, "name": "RICHELIEU - DROUOT", "time": 712 }, "details": [ { "distance": 31.61, "relativeDirection": "DEPART", "streetName": "Passage des Princes", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3390221767487898, 48.87148070412607 ] } }, { "distance": 40.48, "relativeDirection": "CONTINUE", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3392817000000004, 48.8715884 ] } }, { "distance": 7.45, "relativeDirection": "LEFT", "streetName": "Rue de Richelieu", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3398115, 48.8714853 ] } } ], "emission": { "co2": 0 }, "geometry": "_fhiHwxgMFc@[MFe@?EFe@@GBQBS@OKEEN", "duration": 1, "distance": 79.55, "mode": 2, "time": 711 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.339757, 48.871567 ] }, "name": "Richelieu - Drouot", "time": 713, "id": "IDFM:26770" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.337828, 48.867797 ] }, "name": "Bibliothèque Nationale", "time": 717, "id": "IDFM:28674" }, "emission": { "co2": 76 }, "route": { "color": "A0006E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "FRERES VOISIN", "direction": 1, "long_name": "Victor Hugo - Gare du Nord", "short_name": "39", "id": "IDFM:C01084", "type": 700 }, "geometry": "ifhiHo~gMfHnChMpF", "duration": 4, "stops": [ { "code": "", "name": "Richelieu - 4 Septembre", "id": 4952727, "geometry": { "type": "Point", "coordinates": [ 2.33904, 48.870088 ] } } ], "mode": 4, "time": 712 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.337828, 48.867797 ] }, "name": "BIBLIOTHÈQUE NATIONALE", "time": 717 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.338251, 48.867455 ] }, "name": "", "time": 717 }, "details": [ { "distance": 27.19, "relativeDirection": "DEPART", "streetName": "Rue de Richelieu", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.337947465508328, 48.86776954596018 ] } } ], "emission": { "co2": 0 }, "geometry": "wngiHmrgMFUFBFB\\LLsA", "duration": 0, "distance": 27.19, "mode": 2, "time": 717 } ] }, { "from_id": "805db902f3499fb5d6e853305ce1110237a99b0a", "to_id": "5fb21aa31h10000010b382b2da4fdff13dc079a3", "mode": 4, "geometry": "slgiHaugMMrAJBVLFBdBv@THHDDSNgAGC_I~Y{ItCkHtG{ClGgGvMaIjP?DHDNHD@ABEDEHGH@@?@KPGH?@C@@JOTD`@Ft@@T?LFnC@Z@JNlFDp@?JBb@?JFpA@H?JP`CD`@?`@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "emission": { "co2": 238 }, "duration": 1320, "distance": 3164, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.338251, 48.867455 ] }, "name": "", "time": 759 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.337844, 48.866565 ] }, "name": "BIBLIOTHÈQUE NATIONALE", "time": 761 }, "details": [ { "distance": 105.42, "relativeDirection": "DEPART", "streetName": "Rue de Richelieu", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.337835952265321, 48.867536317035174 ] } }, { "distance": 36.02, "relativeDirection": "LEFT", "streetName": "Rue des Petits Champs", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3373626, 48.8666409 ] } } ], "emission": { "co2": 0 }, "geometry": "slgiHaugMMrAJBVLFBdBv@THHDDSNgAGC", "duration": 2, "distance": 141.44, "mode": 2, "time": 759 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.337844, 48.866565 ] }, "name": "Bibliothèque Nationale", "time": 762, "id": "IDFM:29431" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.324892, 48.875117 ] }, "name": "Gare Saint-Lazare", "time": 774, "id": "IDFM:30011" }, "emission": { "co2": 238 }, "route": { "color": "82C8E6", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "GARE SAINT-LAZARE", "direction": 0, "long_name": "Montempoivre - Gare Saint-Lazare", "short_name": "29", "id": "IDFM:C01079", "type": 700 }, "geometry": "aggiHorgM_I~Y{ItCkHtG{ClGgGvMaIjP", "duration": 12, "stops": [ { "code": "", "name": "Petits Champs - Danielle Casanova", "id": 4943642, "geometry": { "type": "Point", "coordinates": [ 2.333516, 48.868169 ] } }, { "code": "", "name": "Opéra - 4 Septembre", "id": 4929934, "geometry": { "type": "Point", "coordinates": [ 2.332771, 48.869909 ] } }, { "code": "", "name": "Opéra", "id": 4938438, "geometry": { "type": "Point", "coordinates": [ 2.331375, 48.871412 ] } }, { "code": "", "name": "Auber", "id": 4942014, "geometry": { "type": "Point", "coordinates": [ 2.330029, 48.872187 ] } }, { "code": "", "name": "Havre - Haussmann", "id": 4935217, "geometry": { "type": "Point", "coordinates": [ 2.327667, 48.873514 ] } } ], "mode": 4, "time": 761 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.324892, 48.875117 ] }, "name": "GARE SAINT-LAZARE", "time": 774 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "name": "", "time": 782 }, "details": [ { "distance": 18.85, "relativeDirection": "DEPART", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.324864182499049, 48.87512415292801 ] } }, { "distance": 16.73, "relativeDirection": "HARD_RIGHT", "streetName": "trottoir", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3247772, 48.8749648 ] } }, { "distance": 20.2, "relativeDirection": "HARD_LEFT", "streetName": "plateau piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3246217000000002, 48.875075100000004 ] } }, { "distance": 4.86, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3244469000000003, 48.8751814 ] } }, { "distance": 11.39, "relativeDirection": "RIGHT", "streetName": "Rue de Rome", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3243816, 48.8751735 ] } }, { "distance": 329.07, "relativeDirection": "LEFT", "streetName": "Rue de la Pépinière", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3242781000000003, 48.87525 ] } }, { "distance": 24.99, "relativeDirection": "CONTINUE", "streetName": "Boulevard Haussmann", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3198244000000003, 48.874847 ] } }, { "distance": 78.37, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3194888000000002, 48.8748103 ] } } ], "emission": { "co2": 0 }, "geometry": "o|hiHqaeM?DHDNHD@ABEDEHGH@@?@??KPGH?@C@@JOTD`@Ft@@T?LFnC@Z@JNlFDp@?JBb@?JFpA@H?JP`CD`@?`@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "duration": 8, "distance": 504.46, "mode": 2, "time": 774 } ] } ], "emission": { "co2": 430 } } ] }, "calc_tour_key": "1e9da1a62c75fb7b10151168c575a2546f76638b", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Allow you to add a POI to an existing tour.

HTTP Request

GET https://api.visitmoov.com/api/v1/update_tour_addpoi_tour/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
calc_tour_key STRING REQUIRED Tour calculation key
tour_id INTEGER REQUIRED Tour identifier
visits JSON ARRAY REQUIRED List of visits
{
  "id": string,
  "kind": integer,
  "poi_id": string,
  "poi_kind": integer,
  "visittime": integer
},

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "visittime": integer
}
pauses JSON ARRAY OPTIONAL List of pauses
{
  "id": string,
  "kind": integer,
  "begin": integer,
  "end": integer
}

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "begin": integer,
  "end": integer
}
encode_line INTEGER OPTIONAL Allow to encode polyline geometry (encoding algorithm). 0 return geojson format. 1 return encoded format. Default: 1
transit_min_dist INTEGER OPTIONAL Minimum distance between two places in order to calculate the itinerary by public transport. Default: 500
use_traffic INTEGER OPTIONAL Allows you to choose different modes for taking disturbances into account when calculating the itinerary by public transport.
The possible values ​​are as follows:
0 - Does not use traffic disruptions
1 - Use server disruption

If use_traffic = 1, can use parameter traffic_source Default: 0
traffic_source STRING OPTIONAL Comma separated list of disruption source ids.

Response model

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Errors

Code Message Description
missing_area_id Missing area_id field.
calc_tour_key not found Missing calc_tour_key field.
tour_id not found tour_id not found
Xml file [CALC_TOUR_KEY] - error: [ERROR] For the tour with the key [CALC_TOUR_KEY] there was the following [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Error with the matrix distancer
error_matrix_xml Error matrix is none
no_matrix_data Erreur, no matrix data
not_enough_time There is not enougth time to make tour with those parameters
tour is undefined Tour is undefined
Optimisation Request Error :[ERROR] Optimisation Request Error :[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Error Server Unreachable or [ERROR] at [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Error Server Unreachable or [ERROR] at [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Error Server Unreachable or [ERROR] at [URL]
params_not_defined Trip optimisation error: parameters not defined
M1001: [ERROR] Trip optimisation error: M1001: [ERROR]
M1002: [ERROR] Trip optimisation error: M1002: [ERROR]
unknow method Trip optimisation error: unknow method
unknown matrix method Trip optimisation error: unknow matrix method

Delete Tour POI

Example request:

https://api.visitmoov.com/api/v1/update_tour_deletepoi_tour/?api_key=API_KEY&area_id=4aefd182a18bf7c7f8e451ae178bd2eac67c8a19&calc_tour_key=148b96250b9216323d667ed1046c41f9fa198d27&tour_id=1&visits=[{"id":"b65a7bf44f80bad23950c88a29c0367cd687cc7a","kind":0}]

This request returns JSON structured like this:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 1, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 7987, "time": 221, "visit_kind": 0, "nb_stops": 6, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": null, "stops": [ { "id": "6eb6c6e02h100000121fb9eb081fe54db051bcdd", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "length_to_next_point": 3412, "time_to_next_point": 41, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-09", "place_id": "6404552e92ac4adh10000012aae7233922c1b663", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "82d25f5d278e3f38dfc8f622a64de292750e5b53", "geometry": { "type": "Point", "coordinates": [ 2.34581, 48.8710200009208 ] }, "length_to_next_point": 246, "time_to_next_point": 4, "visit_time": 30, "visit_kind": 1, "min": 581, "max": 616, "arrival": 581, "departure": 611, "date": "2022-12-09", "place_id": "8009efabe1a127aa4dc779bd92e2927551720247", "place_name": "Aubert", "desc": "La gare d'Auber est une gare ferroviaire française de la ligne A du RER, située dans le 9e arrondissement de Paris.\n\nElle est mise en service en 1971 par la Régie autonome des transports parisiens.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d38313134323332323636.jpg", "resa_url": "", "event_id": "192212fd58050c033ceaa2769479fd274c8264e29275", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "f7415c2ad1530f6a22d62b2a1f1416c6abe74867", "geometry": { "type": "Point", "coordinates": [ 2.343746, 48.869874 ] }, "length_to_next_point": 282, "time_to_next_point": 5, "visit_time": 30, "visit_kind": 1, "min": 615, "max": 650, "arrival": 615, "departure": 645, "date": "2022-12-09", "place_id": "fb009bf5b0ddd6d15301453e66879e18c134dad5", "place_name": "Cultival", "desc": "Pour vivre et visiter les grands sites franciliens autrement, Cultival propose un large choix de visites guidées vous permettant de visiter les coulisses de ceux-ci ou encore de les découvrir sous un nouveau jour.\nVous rêvez de vous faufiler dans les coulisses du Musée Grévin ou de la Tour Eiffel ? De monter les Tour de Notre-Dame ou de visiter les Invalides après la fermeture au public? ou de vous balader au cœur de quartiers de la capitale?\nAvec Cultival, les sites parisiens et franciliens vous livrent leurs secrets. \nVisites ludiques, insolites et exclusives de Versailles, des passages couverts parisiens ou encore de la Garde Républicaine, venez faire votre choix.\nDe 7 à 85 € selon la visite choisie, individuelle ou groupée.", "place_type": "c739a7ca8d12b23c583981115b1c1cab453f3d1e", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/6/54/1783302-diaporama.jpg", "resa_url": "", "event_id": "bea0ec54a32e3e97d15302d4738ed4ae91821f49", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "c07e6c3f1a977a515c7f67cdf84fd75debc987d2", "geometry": { "type": "Point", "coordinates": [ 2.341904, 48.871511 ] }, "length_to_next_point": 280, "time_to_next_point": 5, "visit_time": 30, "visit_kind": 1, "min": 650, "max": 685, "arrival": 650, "departure": 680, "date": "2022-12-09", "place_id": "098beb7c6105c987c72fa595397fa9b4704c458a", "place_name": "Passage des Panoramas", "desc": "Déambulez sous la belle verrière du passage des Panoramas et découvrez de nombreux commerces de bouches.\nC'est le premier passage couvert de Paris, classé monument historique il offre une décoration d'époque préservée ou se sont installés de nombreux restaurateurs de talents. \nIl y en a pour tous les gouts avec de la cuisine japonaise au Gyoza bar, italienne au Caffè Stern, sans gluten chez Noglu et le plus chic au Passage 53, le restaurant du chef Shin Sato, doublement étoilé.", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d3835393837373034.jpg", "resa_url": "", "event_id": "4144b391199db389af24b959718857cd90c98760", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "cebb79b39044a6e09f144379e080b26eb4c8de20", "geometry": { "type": "Point", "coordinates": [ 2.338837, 48.871519 ] }, "length_to_next_point": 3767, "time_to_next_point": 46, "visit_time": 30, "visit_kind": 1, "min": 685, "max": 720, "arrival": 685, "departure": 715, "date": "2022-12-09", "place_id": "dfcc683b497cf7437e2f1443791389037dc29b12", "place_name": "La Tête dans les Nuages", "desc": "La plus grande salle de jeux d’Europe vous ouvre ses portes sur plus de 1500m² . Elle propose plus d'une centaine d'attractions dédiées à tous les âges: billard, bowling, simulateurs de course... Il y en a pour tous les goûts !\nAu cœur de la capitale, cet espace entièrement dédié au jeu s’adresse à tous les publics ! Avec environ 130 attractions, dont plusieurs uniques en France, deux salles de réception pour l’organisation d'évènements, et un espace restauration, La Tête dans les Nuages vous accueille pour des moments de plaisirs en famille ou entre amis.\nVous trouverez cinq espaces thématiques : la tête dans le fun pour les petits dès 3 ans, la tête dans le compteur pour les fous du volant, la tête dans le viseur pour les fans de jeux d’action, la tête dans le rétro pour les nostalgiques et enfin la tête dans le billard pour les amateurs du billard anglais et américain. \nSpécialement conçu pour la famille, venez partager des moments de plaisirs avec vos enfants.\nAdulte : de 2 à 50 € (selon le nombre de jetons)\nEnfant : de 2 à 50 € (selon le nombre de jetons).\n\n\n2€ = 1 jeton\n10€ = 6 jetons\n20€ = 12 jetons\n30€ = 18 jetons \n40€ = 24 jetons\n50€ = 30 jetons.", "place_type": "b72c8602824da2fb2342216aa3303a959941e367", "mode": "4", "kind": 0, "image": "http://static.apidae-tourisme.com/filestore/objets-touristiques/images/0/20/922624-diaporama.jpg", "resa_url": "", "event_id": "cca013b27dff144379e1e92bf007d32bec5e2bfb", "stars": null, "rate": 0, "nb_rate": 0, "price_min": 2, "price_max": 50, "tripadvisor": null }, { "id": "c1b0e466474fcc86ab89269151704396358h10000013", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 761, "max": 761, "arrival": 761, "departure": 0, "date": "2022-12-09", "place_id": "3f97e2dh10000013d793b8beb22f614f104b3cbc", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "6eb6c6e02h100000121fb9eb081fe54db051bcdd", "to_id": "82d25f5d278e3f38dfc8f622a64de292750e5b53", "mode": 4, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLD]BWBYBWAAiAtWfEnSfFnU|GrQFEBFFLFPPh@`AjCJVHRRULKNMBCvAmAXWDCHGJIJI`@e@HM|BmDPWJMTWFENO@Cf@g@DCXId@MVEFCNCFAl@ELA|@IXA`@BnANVDBY@C@U@C@O@MFg@RwBd@kF?CBSBWBS", "emission": { "co2": 192 }, "duration": 1140, "distance": 3457, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355271, 48.881611 ] }, "name": "", "time": 542 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355278, 48.879907 ] }, "name": "GARE DU NORD - DUNKERQUE", "time": 545 }, "details": [ { "distance": 118.55, "relativeDirection": "DEPART", "streetName": "7 - 8", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3552521168996474, 48.88161485642306 ] } }, { "distance": 21.39, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3547713000000003, 48.880596700000005 ] } }, { "distance": 64.03, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3550507, 48.880539600000006 ] } }, { "distance": 39.7, "relativeDirection": "LEFT", "streetName": "plateau piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.354753, 48.8799981 ] } } ], "emission": { "co2": 0 }, "geometry": "aejiHm_kM?BjE~AD[BQ@IZNPH`@R@?XLD]BWBYBWAA", "duration": 4, "distance": 243.67, "mode": 2, "time": 542 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.355278, 48.879907 ] }, "name": "Gare du Nord - Dunkerque", "time": 546, "id": "IDFM:39806" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.341465, 48.876693 ] }, "name": "Châteaudun - Lamartine", "time": 548, "id": "IDFM:36540" }, "emission": { "co2": 192 }, "route": { "color": "FF1400", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "BAGATELLE", "direction": 1, "long_name": "Place de Bagatelle - Gare du Nord", "short_name": "43", "id": "IDFM:C01086", "type": 700 }, "geometry": "mziiHo_kMiAtWfEnSfFnU|GrQ", "duration": 2, "stops": [ { "code": "", "name": "Magenta - Maubeuge", "id": 4958680, "geometry": { "type": "Point", "coordinates": [ 2.351332, 48.880282 ] } }, { "code": "", "name": "Condorcet", "id": 4954114, "geometry": { "type": "Point", "coordinates": [ 2.348045, 48.879283 ] } }, { "code": "", "name": "Maubeuge - Rochechouart", "id": 4927238, "geometry": { "type": "Point", "coordinates": [ 2.344446, 48.878122 ] } } ], "mode": 4, "time": 545 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.341465, 48.876693 ] }, "name": "CHÂTEAUDUN - LAMARTINE", "time": 548 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.34581, 48.87102 ] }, "name": "", "time": 561 }, "details": [ { "distance": 111.27, "relativeDirection": "DEPART", "streetName": "Rue de Maubeuge", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3415094838897543, 48.87665482194685 ] } }, { "distance": 8.81, "relativeDirection": "CONTINUE", "streetName": "Place Kossuth", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3402716000000003, 48.8760733 ] } }, { "distance": 573.18, "relativeDirection": "LEFT", "streetName": "Rue du Faubourg Montmartre", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3401729000000002, 48.876027900000004 ] } }, { "distance": 207.01, "relativeDirection": "LEFT", "streetName": "Boulevard Poissonnière", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3430679000000003, 48.8714816 ] } } ], "emission": { "co2": 0 }, "geometry": "ifiiHeihMFEBFFLFPPh@`AjCJVHRRULKNMBCvAmAXWDCHGJIJI`@e@HM|BmDPWJMTWFENO@Cf@g@DCXId@MVEFCNCFAl@ELA|@IXA`@BnANVDBY@C@U@C@O@MFg@RwBd@kF???CBSBWBS??", "duration": 13, "distance": 900.27, "mode": 2, "time": 548 } ] }, { "from_id": "82d25f5d278e3f38dfc8f622a64de292750e5b53", "to_id": "f7415c2ad1530f6a22d62b2a1f1416c6abe74867", "mode": 2, "geometry": "}bhiHidiMDa@PF`Bv@JFrDdBJDGXSbAg@xD", "emission": { "co2": 0 }, "duration": 226, "distance": 311, "steps": [ { "distance": 12.6, "driving_side": "right", "duration": 11.1, "geometry": "}bhiHidiMDa@", "instructions": "Se diriger vers l’est sur le boulevard Poissonnière", "maneuver": { "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.345813, 48.871028 ] } }, "mode": 2, "name": "Boulevard Poissonnière", "emission": { "co2": 0 } }, { "distance": 189.4, "driving_side": "right", "duration": 136.3, "geometry": "wbhiHkeiMPF`Bv@JFrDdBJD", "instructions": "Tourner à droite sur la rue Saint-Fiacre", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.34598, 48.871001 ] } }, "mode": 2, "name": "Rue Saint-Fiacre", "emission": { "co2": 0 } }, { "distance": 109.5, "driving_side": "right", "duration": 78.8, "geometry": "wxgiHw_iMGXSbAg@xD", "instructions": "Tourner à droite sur la rue des Jeûneurs", "maneuver": { "modifier": "right", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.345084, 48.869404 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "{zgiH_whM??", "instructions": "Vous êtes arrivé à Rue des Jeûneurs, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.34368, 48.869742 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } } ] }, { "from_id": "f7415c2ad1530f6a22d62b2a1f1416c6abe74867", "to_id": "c07e6c3f1a977a515c7f67cdf84fd75debc987d2", "mode": 2, "geometry": "{zgiH_whMa@xCCRSHWFOBK?c@IANCTCd@EbAATA?u@KI~@?BCAKAEAGAEAEAGAEAEAGAEAEAGAEA]G", "emission": { "co2": 0 }, "duration": 229, "distance": 318, "steps": [ { "distance": 67.2, "driving_side": "right", "duration": 48.5, "geometry": "{zgiH_whMa@xCCR", "instructions": "Se diriger vers l’ouest sur la rue des Jeûneurs", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.34368, 48.869742 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } }, { "distance": 61.1, "driving_side": "right", "duration": 44.1, "geometry": "a|giHqqhMSHWFOBK?c@I", "instructions": "Tourner à droite sur la rue Montmartre", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.342807, 48.86993 ] } }, "mode": 2, "name": "Rue Montmartre", "emission": { "co2": 0 } }, { "distance": 62, "driving_side": "right", "duration": 44.6, "geometry": "m_hiHeqhMANCTCd@EbAAT", "instructions": "Tourner à gauche sur la galerie Montmartre", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.342753, 48.870467 ] } }, "mode": 2, "name": "Galerie Montmartre", "emission": { "co2": 0 } }, { "distance": 57.2, "driving_side": "right", "duration": 41.2, "geometry": "_`hiH_lhMA?u@KI~@?B", "instructions": "Tourner à droite sur la galerie des Variétés", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.341918, 48.87056 ] } }, "mode": 2, "name": "Galerie des Variétés", "emission": { "co2": 0 } }, { "distance": 71.1, "driving_side": "right", "duration": 51.4, "geometry": "abhiHgjhMCAKAEAGAEAEAGAEAEAGAEAEAGAEA]G", "instructions": "Tourner à droite sur le passage des Panoramas", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.341641, 48.870893 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "_fhiHkkhM??", "instructions": "Vous êtes arrivé à Passage des Panoramas, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.34182, 48.871521 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } } ] }, { "from_id": "c07e6c3f1a977a515c7f67cdf84fd75debc987d2", "to_id": "cebb79b39044a6e09f144379e080b26eb4c8de20", "mode": 2, "geometry": "_fhiHkkhMA?_@IEr@g@nF@l@AP?NPDbA`@ALCRCPAFGd@?FGd@\\L", "emission": { "co2": 0 }, "duration": 203, "distance": 279, "steps": [ { "distance": 18.5, "driving_side": "right", "duration": 13.2, "geometry": "_fhiHkkhMA?_@I", "instructions": "Se diriger vers le nord sur le passage des Panoramas", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.34182, 48.871521 ] } }, "mode": 2, "name": "Passage des Panoramas", "emission": { "co2": 0 } }, { "distance": 109.8, "driving_side": "right", "duration": 79, "geometry": "aghiHukhMEr@g@nF", "instructions": "Tourner à gauche sur le boulevard Montmartre", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.341865, 48.871685 ] } }, "mode": 2, "name": "Boulevard Montmartre", "emission": { "co2": 0 } }, { "distance": 29.2, "driving_side": "right", "duration": 23.1, "geometry": "ohhiHqbhM@l@AP?N", "instructions": "Tourner légèrement à gauche sur le boulevard des Italiens", "maneuver": { "modifier": "slight left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.340409, 48.871924 ] } }, "mode": 2, "name": "Boulevard des Italiens", "emission": { "co2": 0 } }, { "distance": 50, "driving_side": "right", "duration": 36, "geometry": "ohhiHa`hMPDbA`@", "instructions": "Tourner à gauche sur la rue de Richelieu", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.340011, 48.871915 ] } }, "mode": 2, "name": "Rue de Richelieu", "emission": { "co2": 0 } }, { "distance": 55.1, "driving_side": "right", "duration": 39.6, "geometry": "yehiHy~gMALCRCPAFGd@?FGd@", "instructions": "Tourner à droite", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.339812, 48.871485 ] } }, "mode": 2, "name": "", "emission": { "co2": 0 } }, { "distance": 17, "driving_side": "right", "duration": 12.2, "geometry": "ufhiHizgM\\L", "instructions": "Tourner à gauche sur le passage des Princes", "maneuver": { "modifier": "left", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.339092, 48.871627 ] } }, "mode": 2, "name": "Passage des Princes", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "wehiH{ygM??", "instructions": "Vous êtes arrivé à Passage des Princes, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.339022, 48.871481 ] } }, "mode": 2, "name": "Passage des Princes", "emission": { "co2": 0 } } ] }, { "from_id": "cebb79b39044a6e09f144379e080b26eb4c8de20", "to_id": "c1b0e466474fcc86ab89269151704396358h10000013", "mode": 4, "geometry": "_fhiHwxgMFc@[MFe@?EFe@@GBQBS@OKEy@YCAKE@NDd@?PBf@?TB\\@LH|@RlBDf@J~@LtA@JDZ@PDZB\\N~ASFlBzReGvQsLri@cAtNHBALARF`@?|@QPUVD`@?`@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "emission": { "co2": 214 }, "duration": 1260, "distance": 2841, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.338837, 48.871519 ] }, "name": "", "time": 729 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.336214, 48.87143 ] }, "name": "CHOISEUL", "time": 735 }, "details": [ { "distance": 31.61, "relativeDirection": "DEPART", "streetName": "Passage des Princes", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3390221767487898, 48.87148070412607 ] } }, { "distance": 40.48, "relativeDirection": "CONTINUE", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3392817000000004, 48.8715884 ] } }, { "distance": 49.92, "relativeDirection": "LEFT", "streetName": "Rue de Richelieu", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3398115, 48.8714853 ] } }, { "distance": 282.8, "relativeDirection": "HARD_LEFT", "streetName": "Boulevard des Italiens", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3400113, 48.8719145 ] } } ], "emission": { "co2": 0 }, "geometry": "_fhiHwxgMFc@[MFe@?EFe@@GBQBS@OKEy@YCAKE@NDd@?PBf@?TB\\@LH|@RlBDf@J~@LtA@JDZ@PDZB\\N~ASF", "duration": 6, "distance": 404.81, "mode": 2, "time": 729 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.336214, 48.87143 ] }, "name": "Choiseul", "time": 736, "id": "IDFM:27317" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.320698, 48.874707 ] }, "name": "Saint-Augustin", "time": 748, "id": "IDFM:29276" }, "emission": { "co2": 214 }, "route": { "color": "FF5A00", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "000000", "headsign": "LOUISON BOBET", "direction": 0, "long_name": "Centre Commercial / Louison Bobet - Porte des Lilas", "short_name": "20", "id": "IDFM:C01072", "type": 700 }, "geometry": "mehiHihgMlBzReGvQsLri@cAtN", "duration": 12, "stops": [ { "code": "", "name": "Opéra", "id": 4953470, "geometry": { "type": "Point", "coordinates": [ 2.333031, 48.870882 ] } }, { "code": "", "name": "Auber", "id": 4942014, "geometry": { "type": "Point", "coordinates": [ 2.330029, 48.872187 ] } }, { "code": "", "name": "Pasquier - Anjou", "id": 4950688, "geometry": { "type": "Point", "coordinates": [ 2.323211, 48.87437 ] } } ], "mode": 4, "time": 735 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.320698, 48.874707 ] }, "name": "SAINT-AUGUSTIN", "time": 748 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.319005, 48.875202 ] }, "name": "", "time": 751 }, "details": [ { "distance": 100.88, "relativeDirection": "DEPART", "streetName": "Boulevard Haussmann", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3206861997248325, 48.87466661146339 ] } }, { "distance": 78.37, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3194888000000002, 48.8748103 ] } } ], "emission": { "co2": 0 }, "geometry": "}yhiHkgdMHBALARF`@?|@QPUVD`@?`@I?AI?ECCC@C@MLA@EDe@p@C@?@AB?@?@?ZJA", "duration": 3, "distance": 179.25, "mode": 2, "time": 748 } ] } ], "emission": { "co2": 406 } } ] }, "calc_tour_key": "148b96250b9216323d667ed1046c41f9fa198d27", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Allow you to delete a POI to an existing tour.

HTTP Request

GET https://api.visitmoov.com/api/v1/update_tour_deletepoi_tour/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
calc_tour_key STRING REQUIRED Tour calculation key
tour_id INTEGER REQUIRED Tour identifier
visits JSON ARRAY REQUIRED List of visits
visits = [
 {
  'id': string,
  'kind': integer,
  'to_replace': boolean (Optional)
 }
]
pauses JSON ARRAY OPTIONAL List of pauses
pauses = [
 {
  'id': string,
  'kind': integer,
  'to_replace': boolean (Optional)
 }
]
excluded_pois JSON ARRAY OPTIONAL List of POIs to exclude when replacing a deleted POI. Used only when a visit or a pause has "to_replace" at 1.
{
  "id": string,
  "kind": integer
}
encode_line INTEGER OPTIONAL Allow to encode polyline geometry (encoding algorithm). 0 return geojson format. 1 return encoded format. Default: 1
transit_min_dist INTEGER OPTIONAL Minimum distance between two places in order to calculate the itinerary by public transport. Default: 500
use_traffic INTEGER OPTIONAL Allows you to choose different modes for taking disturbances into account when calculating the itinerary by public transport.
The possible values ​​are as follows:
0 - Does not use traffic disruptions
1 - Use server disruption

If use_traffic = 1, can use parameter traffic_source Default: 0
traffic_source STRING OPTIONAL Comma separated list of disruption source ids.

Response model

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Errors

Code Message Description
missing_area_id Missing area_id field.
calc_tour_key not found Missing calc_tour_key field.
tour_id not found tour_id not found
Xml file [CALC_TOUR_KEY] - error: [ERROR] For the tour with the key [CALC_TOUR_KEY] there was the following [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Error with the matrix distancer
error_matrix_xml Error matrix is none
no_matrix_data Erreur, no matrix data
not_enough_time There is not enougth time to make tour with those parameters
tour is undefined Tour is undefined
Optimisation Request Error :[ERROR] Optimisation Request Error :[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Error Server Unreachable or [ERROR] at [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Error Server Unreachable or [ERROR] at [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Error Server Unreachable or [ERROR] at [URL]
params_not_defined Trip optimisation error: parameters not defined
M1001: [ERROR] Trip optimisation error: M1001: [ERROR]
M1002: [ERROR] Trip optimisation error: M1002: [ERROR]
unknow method Trip optimisation error: unknow method
unknown matrix method Trip optimisation error: unknow matrix method

Update Tour POIs

Example request:

https://api.visitmoov.com/api/v1/update_tour_updatepoi_tour/?api_key=API_KEY&area_id=09d542f105b5a1eff3a6bd53b31580f7b45485a0&calc_tour_key=54f8dd453f2f345f2a35dcf02ea14fb527f3001a&tour_id=1&visits=[{"id":"5a95f410bd9e2de75376937e1c31508c9cf112154","kind":0,"poi_id":"5a95f410bd9e2de75376937e1c31508c9cf112154","poi_kind":0,"visittime":10}]

This request returns JSON structured like this:

{ "result": { "tour_id": "1", "start_date": "2022-12-09", "end_date": "2022-12-09", "start_time": 540, "profile": { "name": "Default", "influences": { "1": 2, "2": 2, "3": 2, "4": 2, "5": 2 } }, "preferences": { "time": 300, "distmax": 5000, "with_child": 0, "with_hotel": 0, "social_distancing": 0, "accessibility": 0, "budget": 0, "nb_person": 1, "modec": "1,2,3,4", "tr_mode": 4, "is_shopping": null }, "tours": [ { "id": "1", "t_length": 2615, "time": 65, "visit_kind": 0, "nb_stops": 4, "minmax_budget": "0-0", "min_budget": 0, "max_budget": 0, "is_shopping": null, "stops": [ { "id": "57fcd8c138cbaa0512a1ada4c68edh1000000135", "geometry": { "type": "Point", "coordinates": [ 2.346561, 48.870136 ] }, "length_to_next_point": 490, "time_to_next_point": 8, "visit_time": 0, "visit_kind": 1, "min": 0, "max": 0, "arrival": 0, "departure": 540, "date": "2022-12-09", "place_id": "e4b1a5f69c3ce750h100000015e0200abe40c486", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "8d4a0c5bb6f11215486478332544fb0a1aeca91a", "geometry": { "type": "Point", "coordinates": [ 2.3473209, 48.8666458 ] }, "length_to_next_point": 2017, "time_to_next_point": 25, "visit_time": 10, "visit_kind": 1, "min": 548, "max": 563, "arrival": 548, "departure": 558, "date": "2022-12-09", "place_id": "7e38d2640af112154fe20f310f29c44741d8df42", "place_name": "Au planteur", "desc": "Au planteur est un ancien marchand de café de Paris, en France.", "place_type": "18e962dfa7e1cce2583c05a7c5b12c2e793b2b20", "mode": "4", "kind": 0, "image": "", "resa_url": "", "event_id": "3fc45eff1121541fa39686e0c89c131499ba671b", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "811ee24d1e1358da6b61e3ffa3bf1168091291d5", "geometry": { "type": "Point", "coordinates": [ 2.347227, 48.8593828 ] }, "length_to_next_point": 108, "time_to_next_point": 2, "visit_time": 20, "visit_kind": 1, "min": 583, "max": 608, "arrival": 583, "departure": 603, "date": "2022-12-09", "place_id": "4eac7a7f116809bb9832e3b3595091a79fe2fa3b", "place_name": "Maison Aurouze", "desc": "Cet endroit est l'une des attractions touristiques les plus étranges. Il s'agit en fait d'un magasin de lutte antiparasitaire exposant des rats morts et autres nuisibles dans sa vitrine. Encore inconnu du grand public il n'y a pas si longtemps, le magasin n'a jamais cherché à attirer l'attention des touristes. La raison pour laquelle la boutique est devenue une telle attraction est parce qu'on l'aperçoit dans le film Pixar « Ratatouille ». Chaque jour, des fans de cette production se pressent devant la Maison Aurouze pour voir de leurs propres yeux une scène de l'un des films les plus populaires de 2007.\n\nLa station de métro la plus proche est Châtelet (accessible depuis les lignes 1, 4, 7, 11 et 14).", "place_type": "84713ccbe2e264b82e8fd05e735a08b185e2b9c9", "mode": "4", "kind": 0, "image": "https://media-cdn.sygictraveldata.com/media/612664395a40232133447d33247d383137343836313334.jpg", "resa_url": "", "event_id": "21627d66b5fdf2bc537f11680918d19f7b3a3a20", "stars": null, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null }, { "id": "f0aee36fd9192eed85b7865729a785b7a49afah10000002", "geometry": { "type": "Point", "coordinates": [ 2.347561, 48.860138 ] }, "length_to_next_point": 0, "time_to_next_point": 0, "visit_time": 0, "visit_kind": 1, "min": 605, "max": 605, "arrival": 605, "departure": 0, "date": "2022-12-09", "place_id": "6d49baa6h100000021c654d3116509c6f72f82d9", "place_name": "", "desc": "", "place_type": 0, "mode": "4", "kind": 1000, "image": "", "resa_url": "", "event_id": 0, "stars": 0, "rate": 0, "nb_rate": 0, "price_min": null, "price_max": null, "tripadvisor": null } ], "trips": [ { "from_id": "57fcd8c138cbaa0512a1ada4c68edh1000000135", "to_id": "8d4a0c5bb6f11215486478332544fb0a1aeca91a", "mode": 2, "geometry": "s}giH{giMhBr@lAn@LFDQ\\mCDa@^iD@Mz@FJ@JDl@Vh@TLFH@h@D`@BN@L@J@F@J@`BL", "emission": { "co2": 0 }, "duration": 365, "distance": 505, "steps": [ { "distance": 116.2, "driving_side": "right", "duration": 83.7, "geometry": "s}giH{giMhBr@lAn@LF", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.346381, 48.870175 ] } }, "mode": 2, "name": "Rue du Sentier", "emission": { "co2": 0 } }, { "distance": 145, "driving_side": "right", "duration": 104.4, "geometry": "mwgiHodiMDQ\\mCDa@^iD@M", "instructions": "Tourner à gauche sur la rue des Jeûneurs", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.345841, 48.869193 ] } }, "mode": 2, "name": "Rue des Jeûneurs", "emission": { "co2": 0 } }, { "distance": 39.8, "driving_side": "right", "duration": 28.7, "geometry": "augiHipiMz@FJ@", "instructions": "Tourner à droite sur la rue Poissonnière", "maneuver": { "modifier": "right", "type": "end of road", "geometry": { "type": "Point", "coordinates": [ 2.347731, 48.868806 ] } }, "mode": 2, "name": "Rue Poissonnière", "emission": { "co2": 0 } }, { "distance": 124, "driving_side": "right", "duration": 91.2, "geometry": "yrgiH_piMJDl@Vh@TLFH@h@D`@BN@", "instructions": "Aller tout droit sur la rue des Petits Carreaux", "maneuver": { "modifier": "straight", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347678, 48.86845 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } }, { "distance": 80, "driving_side": "right", "duration": 57.7, "geometry": "algiHumiML@J@F@J@`BL", "instructions": "Continuer tout droit pour rester sur la rue des Petits Carreaux", "maneuver": { "modifier": "straight", "type": "continue", "geometry": { "type": "Point", "coordinates": [ 2.347308, 48.86737 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "qggiH_miM??", "instructions": "Vous êtes arrivé à Rue des Petits Carreaux, sur la gauche", "maneuver": { "modifier": "left", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.3472, 48.866654 ] } }, "mode": 2, "name": "Rue des Petits Carreaux", "emission": { "co2": 0 } } ] }, { "from_id": "8d4a0c5bb6f11215486478332544fb0a1aeca91a", "to_id": "811ee24d1e1358da6b61e3ffa3bf1168091291d5", "mode": 4, "geometry": "qggiHwmiM?X|@F`BRd@FXBpARhARb@LHBRD@O@G\\}BHc@@KPgARsA?AFc@Jo@F_@FD@BDM?@?B?D?BDT@KBMB@?@?AhFpQ|P}BESPO?MAMHGVUDE?GDI", "emission": { "co2": 26 }, "duration": 600, "distance": 1711, "steps": [ { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347321, 48.866646 ] }, "name": "", "time": 559 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.348976, 48.863703 ] }, "name": "ÉTIENNE MARCEL", "time": 566 }, "details": [ { "distance": 34.63, "relativeDirection": "DEPART", "streetName": "Rue des Petits Carreaux", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3471995421925604, 48.86665389343214 ] } }, { "distance": 215.92, "relativeDirection": "CONTINUE", "streetName": "Rue Montorgueil", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.347153, 48.866344000000005 ] } }, { "distance": 183.59, "relativeDirection": "LEFT", "streetName": "Rue Étienne Marcel", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3466747000000003, 48.864429 ] } }, { "distance": 12.76, "relativeDirection": "RIGHT", "streetName": "Rue de Turbigo", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3490334, 48.8638647 ] } }, { "distance": 27.32, "relativeDirection": "HARD_RIGHT", "streetName": "plateau piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3490534000000003, 48.8637865 ] } }, { "distance": 1.12, "relativeDirection": "RIGHT", "streetName": "escalier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3489856000000002, 48.8637054 ] } } ], "emission": { "co2": 0 }, "geometry": "qggiHwmiM?X|@F`BRd@FXBpARhARb@LHBRD@O@G\\}BHc@@KPgARsA?AFc@Jo@F_@FD@BDM?@?B?D?BDT@KBMB@?@?A", "duration": 8, "distance": 475.33, "mode": 2, "time": 559 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.348976, 48.863703 ] }, "name": "Étienne Marcel", "time": 567, "id": "IDFM:463171" }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346641, 48.859661 ] }, "name": "Châtelet", "time": 569, "id": "IDFM:22092" }, "emission": { "co2": 26 }, "route": { "color": "CF009E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "IDFM:Operator_100" }, "text_color": "ececfb", "headsign": "Bagneux - Lucie Aubrac", "direction": 1, "long_name": "Mairie de Montrouge - Porte de Clignancourt", "short_name": "4", "id": "IDFM:C01374", "type": 400 }, "geometry": "cufiHcxiMhFpQ|P}B", "duration": 2, "stops": [ { "code": "", "name": "Les Halles", "id": 4933819, "geometry": { "type": "Point", "coordinates": [ 2.346006, 48.862527 ] } } ], "mode": 4, "time": 566 }, { "departure": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.346641, 48.859661 ] }, "name": "CHÂTELET", "time": 569 }, "arrival": { "date": "2022-12-09", "geometry": { "type": "Point", "coordinates": [ 2.347227, 48.859383 ] }, "name": "", "time": 569 }, "details": [ { "distance": 12.18, "relativeDirection": "DEPART", "streetName": "Rue des Halles", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3467421884488404, 48.85969806075405 ] } }, { "distance": 10.48, "relativeDirection": "LEFT", "streetName": "Place Sainte-Opportune", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3468231, 48.859602300000006 ] } }, { "distance": 29.29, "relativeDirection": "RIGHT", "streetName": "plateau piétonnier", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3469645000000003, 48.8596171 ] } } ], "emission": { "co2": 0 }, "geometry": "{{eiHoiiMESPO?MAMHGVUDE?GDI", "duration": 1, "distance": 51.95, "mode": 2, "time": 569 } ] }, { "from_id": "811ee24d1e1358da6b61e3ffa3bf1168091291d5", "to_id": "f0aee36fd9192eed85b7865729a785b7a49afah10000002", "mode": 2, "geometry": "ozeiHmliMQIIAGACDEAC?EAc@ImAUDs@", "emission": { "co2": 0 }, "duration": 84, "distance": 117, "steps": [ { "distance": 21, "driving_side": "right", "duration": 15.2, "geometry": "ozeiHmliMQIIAGA", "instructions": "Se diriger vers le nord-est sur la place Sainte-Opportune", "maneuver": { "modifier": "right", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.347108, 48.859437 ] } }, "mode": 2, "name": "Place Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 3.4, "driving_side": "right", "duration": 2.4, "geometry": "s{eiH{liMCD", "instructions": "Tourner à gauche pour rester sur la place Sainte-Opportune", "maneuver": { "modifier": "left", "type": "continue", "geometry": { "type": "Point", "coordinates": [ 2.347179, 48.859618 ] } }, "mode": 2, "name": "Place Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 73.7, "driving_side": "right", "duration": 53, "geometry": "w{eiHuliMEAC?EAc@ImAU", "instructions": "Tourner à droite sur la rue Sainte-Opportune", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347146, 48.859639 ] } }, "mode": 2, "name": "Rue Sainte-Opportune", "emission": { "co2": 0 } }, { "distance": 19.6, "driving_side": "right", "duration": 14.1, "geometry": "y_fiHymiMDs@", "instructions": "Tourner à droite sur la rue de la Ferronnerie", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.347329, 48.86029 ] } }, "mode": 2, "name": "Rue de la Ferronnerie", "emission": { "co2": 0 } }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": "s_fiHmoiM??", "instructions": "Vous êtes arrivé à Rue de la Ferronnerie, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.347593, 48.86026 ] } }, "mode": 2, "name": "Rue de la Ferronnerie", "emission": { "co2": 0 } } ] } ], "emission": { "co2": 26 } } ] }, "calc_tour_key": "54f8dd453f2f345f2a35dcf02ea14fb527f3001a", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [], "events": [], "pauses": [], "tours": [] }, "success": true, "credit": 0 }

Allow to update the list of visits and pauses of an existing tour.

HTTP Request

GET https://api.visitmoov.com/api/v1/update_tour_updatepoi_tour/

Query Parameters

Parameter Type Constraint Description
area_id STRING REQUIRED Id of area.
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
calc_tour_key STRING REQUIRED Tour calculation key
tour_id INTEGER REQUIRED Tour identifier
visits JSON ARRAY REQUIRED List of visits
{
  "id": string,
  "kind": integer,
  "poi_id": string,
  "poi_kind": integer,
  "visittime": integer
},

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "visittime": integer
}
pauses JSON ARRAY OPTIONAL List of pauses
{
  "id": string,
  "kind": integer,
  "begin": integer,
  "end": integer
}

or
{
  "name": string,
  "lat": float,
  "lng": float,
  "begin": integer,
  "end": integer
}
encode_line INTEGER OPTIONAL Allow to encode polyline geometry (encoding algorithm). 0 return geojson format. 1 return encoded format. Default: 1
transit_min_dist INTEGER OPTIONAL Minimum distance between two places in order to calculate the itinerary by public transport. Default: 500
use_traffic INTEGER OPTIONAL Allows you to choose different modes for taking disturbances into account when calculating the itinerary by public transport.
The possible values ​​are as follows:
0 - Does not use traffic disruptions
1 - Use server disruption

If use_traffic = 1, can use parameter traffic_source Default: 0
traffic_source STRING OPTIONAL Comma separated list of disruption source ids.

Response model

{ "success": "Boolean", "result": { "tour_id": "String", "start_date": "String (Date format YYYY-MM-DD)", "end_date": "String (Date format YYYY-MM-DD)", "start_time": "Integer (minutes)", "profile": { "name": "String", "influences": { "1": "Integer", "2": "Integer", "3": "Integer", "4": "Integer", "5": "Integer" } }, "preferences": { "time": "Integer (minutes)", "distmax": "Integer (meters)", "with_child": "Integer", "with_hotel": "Integer", "social_distancing": "Integer", "accessibility": "Integer", "budget": "Integer", "nb_person": "Integer", "modec": "String (Integer separated by commas)", "tr_mode": "Integer", "is_shopping": "Boolean" }, "tours": [ { "id": "String", "t_length": "Integer (meters)", "time": "Integer (minutes)", "visit_kind": "Integer", "nb_stops": "Integer", "minmax_budget": "String (2 float separated by -)", "min_budget": "Float", "max_budget": "Float", "is_shopping": "Boolean", "stops": [ { "id": "String", "geometry": "Object (Geojson)", "length_to_next_point": "Integer (meters)", "time_to_next_point": "Integer (minutes)", "visit_time": "Integer (minutes)", "visit_kind": "Integer", "min": "Integer (minutes)", "max": "Integer (minutes)", "arrival": "Integer (minutes)", "departure": "Integer (minutes)", "date": "String (Date format YYYY-MM-DD)", "place_id": "String", "place_name": "String", "desc": "String", "place_type": "Integer/string (can be 0 or encoded id String)", "mode": "String", "kind": "Integer", "image": "String (url)", "resa_url": "String", "event_id": "Integer/string (can be 0 or encoded id String)", "stars": "Integer", "rate": "Integer", "nb_rate": "Integer", "price_min": "float (minutes)", "price_max": "float (minutes)", "tripadvisor": "Null (Nothing returned for now)" } ], "trips": [ { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 1,2,3)", "geometry": "String (polyline encoded) or Object (geojson)", "emission": { "co2": "Integer" }, "duration": "Integer (secondes)", "distance": "Integer (meters)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Float (secondes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "Se diriger vers le sud sur la rue du Sentier", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "String", "name": "String", "emission": { "co2": "Integer" } } ] }, { "from_id": "String", "to_id": "String", "mode": "Integer (trip for mode 4)", "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "String", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "emission": { "co2": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "mode": "Integer", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer", "time": "Integer (minutes)" } ] } ], "emission": { "co2": "Integer" } } ], "traffic_info": { "intern": [ { "title": "String", "message": "String" } ] } }, "calc_tour_key": "String", "errors": { "pauses": [], "visits": [], "trips": [] }, "unsatisfied": { "places": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "events": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "pauses": [ { "id": "String", "name": "String", "place_id": "Integer", "place": "String", "kind": "Integer", "city": "String" } ], "tours": [ { "code": "Integer", "message": "String", "tour_index": "Integer", "stop_index": "Integer", "value": "Integer" } ] }, "credit": "Integer", "total_process": "String (time hours:minutes:seconds)" }

Errors

Code Message Description
missing_area_id Missing area_id field.
calc_tour_key not found Missing calc_tour_key field.
tour_id not found tour_id not found
Xml file [CALC_TOUR_KEY] - error: [ERROR] For the tour with the key [CALC_TOUR_KEY] there was the following [ERROR]
tour_not_found error_description_tour_not_found
error_matrix_distancer Error with the matrix distancer
error_matrix_xml Error matrix is none
no_matrix_data Erreur, no matrix data
not_enough_time There is not enougth time to make tour with those parameters
tour is undefined Tour is undefined
Optimisation Request Error :[ERROR] Optimisation Request Error :[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Error Server Unreachable or [ERROR] at [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Error Server Unreachable or [ERROR] at [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Error Server Unreachable or [ERROR] at [URL]
params_not_defined Trip optimisation error: parameters not defined
M1001: [ERROR] Trip optimisation error: M1001: [ERROR]
M1002: [ERROR] Trip optimisation error: M1002: [ERROR]
unknow method Trip optimisation error: unknow method
unknown matrix method Trip optimisation error: unknow matrix method

Magic Tour Extern

Example request:

https://api.visitmoov.com/api/v1/magic_tour_extern/?api_key=API_KEY&dep_lat=48.88187650678903&dep_lng=2.3143386840820317&arr_lat=48.871038194878636&arr_lng=2.342319488525391&visits=%5B%7B%22id%22%3A%22id_1%22%2C%22typeid%22%3A%22typeid_1%22%2C%22lat%22%3A%2248.87837689194781%22%2C%22lng%22%3A%222.3459243774414067%22%2C%22duration%22%3A%2230%22%2C%22outside%22%3A0%7D%2C%7B%22id%22%3A%22id_2%22%2C%22typeid%22%3A%22typeid_2%22%2C%22lat%22%3A%2248.869570326277575%22%2C%22lng%22%3A%222.328758239746094%22%2C%22duration%22%3A%2230%22%2C%22outside%22%3A0%7D%2C%7B%22id%22%3A%22id_3%22%2C%22typeid%22%3A%22typeid_3%22%2C%22lat%22%3A%2248.88379554645444%22%2C%22lng%22%3A%222.327384948730469%22%2C%22duration%22%3A%2230%22%2C%22outside%22%3A0%7D%2C%7B%22id%22%3A%22id_4%22%2C%22typeid%22%3A%22typeid_4%22%2C%22lat%22%3A%2248.882328052158506%22%2C%22lng%22%3A%222.336225509643555%22%2C%22duration%22%3A%2230%22%2C%22outside%22%3A0%7D%5D&tr_mode=4&accessibility=0&weather=0&dep_date=2021-09-30+14%3A54&profile=%7B%22typeid_2%22%3A10%2C%22typeid_3%22%3A40%2C%22typeid_1%22%3A20%2C%22typeid_4%22%3A30%7D

This request returns JSON structured like this:

{ "success": true, "result": [ { "date": "2022-03-17", "duration": 241, "distance": 16624, "budget": { "min": 0, "max": 0 }, "steps": [ { "id": "", "typeid": "", "geometry": { "type": "Point", "coordinates": [ 2.3143386840820317, 48.88187650678903 ] }, "dep_time": 894, "arr_time": null, "duration": null, "itinerary": { "mode": 4, "distance": 2952, "duration": 10, "geometry": { "type": "MultiLineString", "coordinates": [ [ [ 2.31432, 48.88185 ], [ 2.31437, 48.88184 ], [ 2.31442, 48.88183 ], [ 2.31446, 48.88175 ], [ 2.31471, 48.8817 ], [ 2.31508, 48.88162 ], [ 2.31528, 48.88163 ], [ 2.31565, 48.88154 ], [ 2.31592, 48.88148 ], [ 2.316, 48.88147 ], [ 2.31616, 48.88143 ], [ 2.31637, 48.88139 ], [ 2.31652, 48.88128 ], [ 2.31658, 48.88124 ], [ 2.31679, 48.88117 ], [ 2.31701, 48.88121 ] ], [ [ 2.3171, 48.88119 ], [ 2.32083, 48.88196 ], [ 2.32466, 48.8827 ], [ 2.32786, 48.88342 ] ], [ [ 2.317101, 48.881199 ], [ 2.320834, 48.881963 ], [ 2.324663, 48.882709 ], [ 2.327866, 48.883429 ] ], [ [ 2.32781, 48.88348 ], [ 2.32768, 48.88343 ], [ 2.32764, 48.88354 ], [ 2.32762, 48.8836 ], [ 2.32756, 48.88368 ], [ 2.32736, 48.88366 ], [ 2.3273, 48.88378 ] ] ] }, "steps": [ { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.314339, 48.881877 ] }, "name": "", "time": 894 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.317101, 48.881199 ] }, "name": "VILLIERS", "time": 896 }, "details": [ { "distance": 16.88, "relativeDirection": "DEPART", "streetName": "Accès Parking Villiers", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3143274210172278, 48.881852875872625 ] } }, { "distance": 145.96, "relativeDirection": "SLIGHTLY_LEFT", "streetName": "Avenue de Villiers", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3144698000000004, 48.881753 ] } }, { "distance": 22.35, "relativeDirection": "SLIGHTLY_RIGHT", "streetName": "Place Prosper Goubaux", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.316377, 48.8813903 ] } }, { "distance": 16.99, "relativeDirection": "SLIGHTLY_LEFT", "streetName": "Rue de Constantinople", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3165841, 48.881242500000006 ] } }, { "distance": 16.79, "relativeDirection": "LEFT", "streetName": "piste cyclable", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3167914, 48.8811735 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.31432, 48.88185 ], [ 2.31437, 48.88184 ], [ 2.31442, 48.88183 ], [ 2.31446, 48.88175 ], [ 2.31471, 48.8817 ], [ 2.31508, 48.88162 ], [ 2.31528, 48.88163 ], [ 2.31565, 48.88154 ], [ 2.31592, 48.88148 ], [ 2.316, 48.88147 ], [ 2.31616, 48.88143 ], [ 2.31637, 48.88139 ], [ 2.31652, 48.88128 ], [ 2.31658, 48.88124 ], [ 2.31679, 48.88117 ], [ 2.31701, 48.88121 ] ] }, "duration": 3, "distance": 218.97, "mode": 2, "time": 894 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.317101, 48.881199 ] }, "name": "Villiers", "time": 897 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.327866, 48.883429 ] }, "name": "Place de Clichy", "time": 903 }, "route": { "color": "640082", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "442" }, "text_color": "ececfb", "headsign": "PIGALLE", "direction": 1, "long_name": "Pigalle - Hôpital Européen Georges Pompidou", "short_name": "30", "id": 87026, "type": 3 }, "geometry": { "type": "LineString", "coordinates": [ [ 2.3171, 48.88119 ], [ 2.32083, 48.88196 ], [ 2.32466, 48.8827 ], [ 2.32786, 48.88342 ] ] }, "duration": 6, "stops": [ { "code": "", "name": "Rome - Batignolles", "id": 1790761, "geometry": { "type": "Point", "coordinates": [ 2.320834, 48.881963 ] } }, { "code": "", "name": "Turin - Batignolles", "id": 1790762, "geometry": { "type": "Point", "coordinates": [ 2.324663, 48.882709 ] } } ], "mode": 4, "time": 896 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.327866, 48.883429 ] }, "name": "PLACE DE CLICHY", "time": 903 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.327385, 48.883796 ] }, "name": "", "time": 904 }, "details": [ { "distance": 10.88, "relativeDirection": "DEPART", "streetName": "Boulevard de Clichy", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3278129872143523, 48.883486705879676 ] } }, { "distance": 29.78, "relativeDirection": "RIGHT", "streetName": "Place de Clichy", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3276856, 48.883436100000004 ] } }, { "distance": 14.77, "relativeDirection": "LEFT", "streetName": "Place de Clichy", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3275607000000003, 48.8836894 ] } }, { "distance": 13.3, "relativeDirection": "RIGHT", "streetName": "Avenue de Clichy", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3273618000000003, 48.883666000000005 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.32781, 48.88348 ], [ 2.32768, 48.88343 ], [ 2.32764, 48.88354 ], [ 2.32762, 48.8836 ], [ 2.32756, 48.88368 ], [ 2.32736, 48.88366 ], [ 2.3273, 48.88378 ] ] }, "duration": 1, "distance": 68.73, "mode": 2, "time": 903 } ] } }, { "id": "id_3", "typeid": "typeid_3", "geometry": { "type": "Point", "coordinates": [ 2.327384948730469, 48.88379554645444 ] }, "dep_time": 948, "arr_time": 918, "duration": 30, "itinerary": { "mode": 2, "distance": 739, "duration": 8, "geometry": { "coordinates": [ [ 2.327308, 48.88378 ], [ 2.327362, 48.883666 ], [ 2.327561, 48.883689 ], [ 2.327755, 48.883709 ], [ 2.327976, 48.883752 ], [ 2.328005, 48.883762 ], [ 2.328301, 48.883946 ], [ 2.328345, 48.883917 ], [ 2.328448, 48.88385 ], [ 2.328483, 48.883827 ], [ 2.328553, 48.883872 ], [ 2.328681, 48.883832 ], [ 2.329828, 48.883473 ], [ 2.329888, 48.883455 ], [ 2.330137, 48.883379 ], [ 2.330228, 48.883353 ], [ 2.33043, 48.883295 ], [ 2.330611, 48.883324 ], [ 2.33214, 48.883676 ], [ 2.33226, 48.883724 ], [ 2.33233, 48.883712 ], [ 2.332445, 48.883678 ], [ 2.332545, 48.883655 ], [ 2.332598, 48.883635 ], [ 2.332719, 48.883593 ], [ 2.332769, 48.883579 ], [ 2.333937, 48.883235 ], [ 2.334774, 48.88299 ], [ 2.334837, 48.88297 ], [ 2.335991, 48.882629 ], [ 2.336356, 48.882524 ] ], "type": "LineString" }, "steps": [ { "distance": 13.3, "driving_side": "right", "duration": 11.5, "geometry": { "coordinates": [ [ 2.327308, 48.88378 ], [ 2.327362, 48.883666 ] ], "type": "LineString" }, "instructions": "Se diriger vers le sud sur l’avenue de Clichy", "maneuver": { "modifier": "left", "type": "depart", "geometry": { "type": "Point", "coordinates": [ 2.327308, 48.88378 ] } }, "mode": 2, "name": "Avenue de Clichy" }, { "distance": 78.2, "driving_side": "right", "duration": 58.2, "geometry": { "coordinates": [ [ 2.327362, 48.883666 ], [ 2.327561, 48.883689 ], [ 2.327755, 48.883709 ], [ 2.327976, 48.883752 ], [ 2.328005, 48.883762 ], [ 2.328301, 48.883946 ] ], "type": "LineString" }, "instructions": "Tourner à gauche sur le boulevard de Clichy", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.327362, 48.883666 ] } }, "mode": 2, "name": "Boulevard de Clichy" }, { "distance": 18.8, "driving_side": "right", "duration": 13.5, "geometry": { "coordinates": [ [ 2.328301, 48.883946 ], [ 2.328345, 48.883917 ], [ 2.328448, 48.88385 ], [ 2.328483, 48.883827 ] ], "type": "LineString" }, "instructions": "Tourner à droite", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.328301, 48.883946 ] } }, "mode": 2, "name": "" }, { "distance": 7.2, "driving_side": "right", "duration": 7.2, "geometry": { "coordinates": [ [ 2.328483, 48.883827 ], [ 2.328553, 48.883872 ] ], "type": "LineString" }, "instructions": "Tourner à gauche sur le boulevard de Clichy", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.328483, 48.883827 ] } }, "mode": 2, "name": "Boulevard de Clichy" }, { "distance": 151.6, "driving_side": "right", "duration": 109.2, "geometry": { "coordinates": [ [ 2.328553, 48.883872 ], [ 2.328681, 48.883832 ], [ 2.329828, 48.883473 ], [ 2.329888, 48.883455 ], [ 2.330137, 48.883379 ], [ 2.330228, 48.883353 ], [ 2.33043, 48.883295 ] ], "type": "LineString" }, "instructions": "Tourner à droite sur la rue de Douai", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.328553, 48.883872 ] } }, "mode": 2, "name": "Rue de Douai" }, { "distance": 142.4, "driving_side": "right", "duration": 102.5, "geometry": { "coordinates": [ [ 2.33043, 48.883295 ], [ 2.330611, 48.883324 ], [ 2.33214, 48.883676 ], [ 2.33226, 48.883724 ] ], "type": "LineString" }, "instructions": "Tourner à gauche sur la rue de Bruxelles", "maneuver": { "modifier": "left", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.33043, 48.883295 ] } }, "mode": 2, "name": "Rue de Bruxelles" }, { "distance": 26.7, "driving_side": "right", "duration": 19.2, "geometry": { "coordinates": [ [ 2.33226, 48.883724 ], [ 2.33233, 48.883712 ], [ 2.332445, 48.883678 ], [ 2.332545, 48.883655 ], [ 2.332598, 48.883635 ] ], "type": "LineString" }, "instructions": "Tourner à droite sur la place Blanche", "maneuver": { "modifier": "right", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.33226, 48.883724 ] } }, "mode": 2, "name": "Place Blanche" }, { "distance": 301.4, "driving_side": "right", "duration": 217.1, "geometry": { "coordinates": [ [ 2.332598, 48.883635 ], [ 2.332719, 48.883593 ], [ 2.332769, 48.883579 ], [ 2.333937, 48.883235 ], [ 2.334774, 48.88299 ], [ 2.334837, 48.88297 ], [ 2.335991, 48.882629 ], [ 2.336356, 48.882524 ] ], "type": "LineString" }, "instructions": "Aller tout droit sur le boulevard de Clichy", "maneuver": { "modifier": "straight", "type": "turn", "geometry": { "type": "Point", "coordinates": [ 2.332598, 48.883635 ] } }, "mode": 2, "name": "Boulevard de Clichy" }, { "distance": 0, "driving_side": "right", "duration": 0, "geometry": { "coordinates": [ [ 2.336356, 48.882524 ], [ 2.336356, 48.882524 ] ], "type": "LineString" }, "instructions": "Vous êtes arrivé à Boulevard de Clichy, sur la droite", "maneuver": { "modifier": "right", "type": "arrive", "geometry": { "type": "Point", "coordinates": [ 2.336356, 48.882524 ] } }, "mode": 2, "name": "Boulevard de Clichy" } ] } }, { "id": "id_4", "typeid": "typeid_4", "geometry": { "type": "Point", "coordinates": [ 2.336225509643555, 48.882328052158506 ] }, "dep_time": 991, "arr_time": 961, "duration": 30, "itinerary": { "mode": 4, "distance": 2544, "duration": 15, "geometry": { "type": "MultiLineString", "coordinates": [ [ [ 2.33635, 48.88252 ], [ 2.33676, 48.8824 ], [ 2.33684, 48.88238 ], [ 2.33695, 48.88234 ], [ 2.33698, 48.88238 ], [ 2.337, 48.8824 ], [ 2.33704, 48.88245 ], [ 2.3371, 48.88244 ], [ 2.3372, 48.88244 ], [ 2.3372, 48.88243 ], [ 2.33725, 48.88242 ] ], [ [ 2.33725, 48.88242 ], [ 2.34416, 48.88287 ] ], [ [ 2.337255, 48.882422 ], [ 2.344164, 48.882872 ] ], [ [ 2.34419, 48.8828 ], [ 2.34445, 48.88286 ], [ 2.34449, 48.88286 ], [ 2.3445, 48.88284 ], [ 2.34452, 48.88279 ], [ 2.34455, 48.88273 ], [ 2.34457, 48.88267 ], [ 2.34467, 48.88243 ], [ 2.34484, 48.88207 ], [ 2.34492, 48.88189 ], [ 2.34497, 48.88179 ], [ 2.345, 48.88173 ], [ 2.34505, 48.88165 ], [ 2.34475, 48.88159 ], [ 2.3448, 48.88149 ], [ 2.34556, 48.87982 ], [ 2.34558, 48.87976 ], [ 2.3456, 48.87972 ], [ 2.34573, 48.87941 ], [ 2.34576, 48.87935 ], [ 2.34546, 48.87895 ], [ 2.34541, 48.87888 ], [ 2.34535, 48.8788 ], [ 2.34531, 48.87875 ], [ 2.34539, 48.87874 ], [ 2.34577, 48.87864 ], [ 2.3459, 48.87861 ], [ 2.34578, 48.87857 ] ] ] }, "steps": [ { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.336226, 48.882328 ] }, "name": "", "time": 993 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.337255, 48.882422 ] }, "name": "PIGALLE", "time": 994 }, "details": [ { "distance": 48.3, "relativeDirection": "DEPART", "streetName": "Boulevard de Clichy", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.336355924369407, 48.88252345518127 ] } }, { "distance": 14.42, "relativeDirection": "LEFT", "streetName": "Place Pigalle", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3369571000000002, 48.8823438 ] } }, { "distance": 12.13, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3370452, 48.882459600000004 ] } }, { "distance": 5.21, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3372069, 48.882442100000006 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.33635, 48.88252 ], [ 2.33676, 48.8824 ], [ 2.33684, 48.88238 ], [ 2.33695, 48.88234 ], [ 2.33698, 48.88238 ], [ 2.337, 48.8824 ], [ 2.33704, 48.88245 ], [ 2.3371, 48.88244 ], [ 2.3372, 48.88244 ], [ 2.3372, 48.88243 ], [ 2.33725, 48.88242 ] ] }, "duration": 1, "distance": 80.05, "mode": 2, "time": 993 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.337255, 48.882422 ] }, "name": "Pigalle", "time": 997 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.344164, 48.882872 ] }, "name": "Anvers", "time": 999 }, "route": { "color": "003CA6", "agency": { "name": "METRO", "url": "http://www.navitia.io/", "id": "439" }, "text_color": "ececfb", "headsign": "Nation", "direction": 1, "long_name": "Nation - Porte Dauphine", "short_name": "2", "id": 87326, "type": 1 }, "geometry": { "type": "LineString", "coordinates": [ [ 2.33725, 48.88242 ], [ 2.34416, 48.88287 ] ] }, "duration": 2, "stops": [], "mode": 4, "time": 994 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.344164, 48.882872 ] }, "name": "ANVERS", "time": 1001 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.345924, 48.878377 ] }, "name": "", "time": 1008 }, "details": [ { "distance": 22.84, "relativeDirection": "DEPART", "streetName": "Boulevard Marguerite de Rochechouart", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.34419313074315, 48.88280891124018 ] } }, { "distance": 124.43, "relativeDirection": "RIGHT", "streetName": "Place d'Anvers", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3444918, 48.882868900000005 ] } }, { "distance": 16.73, "relativeDirection": "CONTINUE", "streetName": "Rue d'Anvers", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3449758000000003, 48.881796300000005 ] } }, { "distance": 22.45, "relativeDirection": "RIGHT", "streetName": "Avenue Trudaine", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.345051, 48.8816542 ] } }, { "distance": 259.41, "relativeDirection": "LEFT", "streetName": "Rue Turgot", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3447579000000003, 48.881594 ] } }, { "distance": 74, "relativeDirection": "RIGHT", "streetName": "Rue Marguerite de Rochechouart", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.345762, 48.8793566 ] } }, { "distance": 45.93, "relativeDirection": "LEFT", "streetName": "Rue Louise-Émilie de La Tour d'Auvergne", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3453181, 48.878758600000005 ] } }, { "distance": 9.66, "relativeDirection": "HARD_RIGHT", "streetName": "Rue de Maubeuge", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3459042, 48.8786107 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.34419, 48.8828 ], [ 2.34445, 48.88286 ], [ 2.34449, 48.88286 ], [ 2.3445, 48.88284 ], [ 2.34452, 48.88279 ], [ 2.34455, 48.88273 ], [ 2.34457, 48.88267 ], [ 2.34467, 48.88243 ], [ 2.34484, 48.88207 ], [ 2.34492, 48.88189 ], [ 2.34497, 48.88179 ], [ 2.345, 48.88173 ], [ 2.34505, 48.88165 ], [ 2.34475, 48.88159 ], [ 2.3448, 48.88149 ], [ 2.34556, 48.87982 ], [ 2.34558, 48.87976 ], [ 2.3456, 48.87972 ], [ 2.34573, 48.87941 ], [ 2.34576, 48.87935 ], [ 2.34546, 48.87895 ], [ 2.34541, 48.87888 ], [ 2.34535, 48.8788 ], [ 2.34531, 48.87875 ], [ 2.34539, 48.87874 ], [ 2.34577, 48.87864 ], [ 2.3459, 48.87861 ], [ 2.34578, 48.87857 ] ] }, "duration": 8, "distance": 575.44, "mode": 2, "time": 1001 } ] } }, { "id": "id_1", "typeid": "typeid_1", "geometry": { "type": "Point", "coordinates": [ 2.3459243774414067, 48.87837689194781 ] }, "dep_time": 1041, "arr_time": 1011, "duration": 30, "itinerary": { "mode": 4, "distance": 5446, "duration": 19, "geometry": { "type": "MultiLineString", "coordinates": [ [ [ 2.34578, 48.87857 ], [ 2.34533, 48.87843 ], [ 2.34502, 48.87834 ], [ 2.34472, 48.8782 ], [ 2.34446, 48.87808 ] ], [ [ 2.34443, 48.87811 ], [ 2.34135, 48.87669 ], [ 2.339501398685593, 48.87538099042061 ] ], [ [ 2.339501398685593, 48.87538099042061 ], [ 2.3395, 48.87538 ], [ 2.338353379777767, 48.87251843474973 ] ], [ [ 2.338353379777767, 48.87251843474973 ], [ 2.33835, 48.87251 ], [ 2.333763765459645, 48.87294963904091 ] ], [ [ 2.333763765459645, 48.87294963904091 ], [ 2.33376, 48.87295 ], [ 2.333447381638011, 48.8729143321332 ] ], [ [ 2.333447381638011, 48.8729143321332 ], [ 2.33078, 48.87261 ], [ 2.330579261765167, 48.87224989705965 ] ], [ [ 2.330579261765167, 48.87224989705965 ], [ 2.32947, 48.87026 ] ], [ [ 2.344435, 48.878117 ], [ 2.341356, 48.876698 ], [ 2.339503, 48.875385 ], [ 2.339501398685593, 48.87538099042061 ] ], [ [ 2.339501398685593, 48.87538099042061 ], [ 2.338358, 48.872518 ], [ 2.338353379777767, 48.87251843474973 ] ], [ [ 2.338353379777767, 48.87251843474973 ], [ 2.333767, 48.87295 ], [ 2.333763765459645, 48.87294963904091 ] ], [ [ 2.333763765459645, 48.87294963904091 ], [ 2.333447381638011, 48.8729143321332 ] ], [ [ 2.333447381638011, 48.8729143321332 ], [ 2.330783, 48.872617 ], [ 2.330579261765167, 48.87224989705965 ] ], [ [ 2.330579261765167, 48.87224989705965 ], [ 2.329476, 48.870262 ] ], [ [ 2.32951, 48.87017 ], [ 2.32945, 48.87016 ], [ 2.32938, 48.87015 ], [ 2.32905, 48.87009 ], [ 2.32902, 48.87009 ], [ 2.32895, 48.87008 ], [ 2.32823, 48.86996 ], [ 2.32808, 48.86994 ], [ 2.32799, 48.86992 ], [ 2.32813, 48.86982 ], [ 2.32816, 48.8698 ], [ 2.32822, 48.86975 ], [ 2.32861, 48.86948 ] ] ] }, "steps": [ { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.345924, 48.878377 ] }, "name": "", "time": 1046 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.344435, 48.878117 ] }, "name": "MAUBEUGE - ROCHECHOUART", "time": 1047 }, "details": [ { "distance": 110.96, "relativeDirection": "DEPART", "streetName": "Rue de Maubeuge", "absoluteDirection": "SOUTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.345784443922041, 48.87857400868675 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.34578, 48.87857 ], [ 2.34533, 48.87843 ], [ 2.34502, 48.87834 ], [ 2.34472, 48.8782 ], [ 2.34446, 48.87808 ] ] }, "duration": 1, "distance": 110.96, "mode": 2, "time": 1046 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.344435, 48.878117 ] }, "name": "Maubeuge - Rochechouart", "time": 1048 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.329476, 48.870262 ] }, "name": "Capucines - Caumartin", "time": 1063 }, "route": { "color": "FF82B4", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "442" }, "text_color": "000000", "headsign": "CONCORDE", "direction": 0, "long_name": "Concorde - Aubervilliers/France-Asie", "short_name": "45", "id": 87035, "type": 3 }, "geometry": { "type": "LineString", "coordinates": [ [ 2.34443, 48.87811 ], [ 2.34135, 48.87669 ], [ 2.3395, 48.87538 ], [ 2.33835, 48.87251 ], [ 2.33376, 48.87295 ], [ 2.33078, 48.87261 ], [ 2.32947, 48.87026 ] ] }, "duration": 15, "stops": [ { "code": "", "name": "Châteaudun - Lamartine", "id": 1791661, "geometry": { "type": "Point", "coordinates": [ 2.341356, 48.876698 ] } }, { "code": "", "name": "Carrefour de Châteaudun", "id": 1791662, "geometry": { "type": "Point", "coordinates": [ 2.339503, 48.875385 ] } }, { "code": "", "name": "Le Peletier - Haussmann", "id": 1791663, "geometry": { "type": "Point", "coordinates": [ 2.338358, 48.872518 ] } }, { "code": "", "name": "Chaussée d'Antin", "id": 1791664, "geometry": { "type": "Point", "coordinates": [ 2.333767, 48.87295 ] } }, { "code": "", "name": "Opéra - Scribe", "id": 1787806, "geometry": { "type": "Point", "coordinates": [ 2.330783, 48.872617 ] } } ], "mode": 4, "time": 1047 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.329476, 48.870262 ] }, "name": "CAPUCINES - CAUMARTIN", "time": 1063 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.328758, 48.86957 ] }, "name": "", "time": 1065 }, "details": [ { "distance": 96.51, "relativeDirection": "DEPART", "streetName": "Boulevard des Capucines", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3295107655573073, 48.87017518126677 ] } }, { "distance": 36.44, "relativeDirection": "CONTINUE", "streetName": "Place Henri Salvador", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3282308, 48.86996430000001 ] } }, { "distance": 48.79, "relativeDirection": "CONTINUE", "streetName": "Rue des Capucines", "absoluteDirection": "SOUTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3281617000000003, 48.869805400000004 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.32951, 48.87017 ], [ 2.32945, 48.87016 ], [ 2.32938, 48.87015 ], [ 2.32905, 48.87009 ], [ 2.32902, 48.87009 ], [ 2.32895, 48.87008 ], [ 2.32823, 48.86996 ], [ 2.32808, 48.86994 ], [ 2.32799, 48.86992 ], [ 2.32813, 48.86982 ], [ 2.32816, 48.8698 ], [ 2.32822, 48.86975 ], [ 2.32861, 48.86948 ] ] }, "duration": 2, "distance": 181.75, "mode": 2, "time": 1063 } ] } }, { "id": "id_2", "typeid": "typeid_2", "geometry": { "type": "Point", "coordinates": [ 2.328758239746094, 48.869570326277575 ] }, "dep_time": 1110, "arr_time": 1080, "duration": 30, "itinerary": { "mode": 4, "distance": 4943, "duration": 15, "geometry": { "type": "MultiLineString", "coordinates": [ [ [ 2.32861, 48.86948 ], [ 2.32822, 48.86975 ], [ 2.32816, 48.8698 ], [ 2.32813, 48.86982 ], [ 2.32799, 48.86992 ], [ 2.32782, 48.86989 ], [ 2.32765, 48.86987 ], [ 2.32664, 48.8697 ], [ 2.32643, 48.86966 ], [ 2.32586, 48.86957 ], [ 2.3258, 48.86959 ], [ 2.32552, 48.86956 ], [ 2.32525, 48.86952 ], [ 2.32521, 48.86951 ], [ 2.32512, 48.8695 ], [ 2.32504, 48.86951 ], [ 2.32501, 48.86951 ], [ 2.32475, 48.86949 ], [ 2.32473721913712, 48.86950917129432 ] ], [ [ 2.32473721913712, 48.86950917129432 ], [ 2.324733035227807, 48.86951544715829 ] ], [ [ 2.324733035227807, 48.86951544715829 ], [ 2.32473, 48.86952 ] ], [ [ 2.32468, 48.8695 ], [ 2.32473721913712, 48.86950917129432 ] ], [ [ 2.32473721913712, 48.86950917129432 ], [ 2.331616127269917, 48.87061174805886 ] ], [ [ 2.331616127269917, 48.87061174805886 ], [ 2.33173, 48.87063 ], [ 2.331971636394651, 48.870670469665114 ] ], [ [ 2.331971636394651, 48.870670469665114 ], [ 2.33991, 48.872 ], [ 2.34289, 48.87157 ] ], [ [ 2.32468, 48.869507 ], [ 2.324733035227807, 48.86951544715829 ] ], [ [ 2.324733035227807, 48.86951544715829 ], [ 2.331616127269917, 48.87061174805886 ] ], [ [ 2.331616127269917, 48.87061174805886 ], [ 2.331737, 48.870631 ], [ 2.331971636394651, 48.870670469665114 ] ], [ [ 2.331971636394651, 48.870670469665114 ], [ 2.339911, 48.872006 ], [ 2.342895, 48.871575 ] ], [ [ 2.34287, 48.87151 ], [ 2.34196, 48.87166 ], [ 2.34186, 48.87168 ], [ 2.34182, 48.87153 ], [ 2.34177, 48.87137 ], [ 2.34176, 48.87133 ], [ 2.34175, 48.8713 ], [ 2.34174, 48.87127 ], [ 2.34173, 48.87123 ], [ 2.34173, 48.8712 ], [ 2.34172, 48.87117 ], [ 2.34171, 48.87113 ], [ 2.3417, 48.8711 ], [ 2.34169, 48.87107 ], [ 2.34168, 48.87103 ], [ 2.34167, 48.871 ], [ 2.34166, 48.87097 ], [ 2.34164, 48.8709 ], [ 2.34164, 48.87089 ], [ 2.34166, 48.87088 ], [ 2.34198, 48.87084 ] ] ] }, "steps": [ { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.328758, 48.86957 ] }, "name": "", "time": 1116 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.32468, 48.869507 ] }, "name": "MADELEINE", "time": 1120 }, "details": [ { "distance": 48.79, "relativeDirection": "DEPART", "streetName": "Rue des Capucines", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.328612351411024, 48.869481863002164 ] } }, { "distance": 31.02, "relativeDirection": "CONTINUE", "streetName": "Place Henri Salvador", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3281617000000003, 48.869805400000004 ] } }, { "distance": 202.81, "relativeDirection": "CONTINUE", "streetName": "Boulevard de la Madeleine", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3278218, 48.8698988 ] } }, { "distance": 31.42, "relativeDirection": "SLIGHTLY_RIGHT", "streetName": "piste cyclable", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3251285, 48.8695055 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.32861, 48.86948 ], [ 2.32822, 48.86975 ], [ 2.32816, 48.8698 ], [ 2.32813, 48.86982 ], [ 2.32799, 48.86992 ], [ 2.32782, 48.86989 ], [ 2.32765, 48.86987 ], [ 2.32664, 48.8697 ], [ 2.32643, 48.86966 ], [ 2.32586, 48.86957 ], [ 2.3258, 48.86959 ], [ 2.32552, 48.86956 ], [ 2.32525, 48.86952 ], [ 2.32521, 48.86951 ], [ 2.32512, 48.8695 ], [ 2.32504, 48.86951 ], [ 2.32501, 48.86951 ], [ 2.32475, 48.86949 ], [ 2.32473, 48.86952 ] ] }, "duration": 4, "distance": 314.05, "mode": 2, "time": 1116 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.32468, 48.869507 ] }, "name": "Madeleine", "time": 1123 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.342895, 48.871575 ] }, "name": "Grands Boulevards", "time": 1127 }, "route": { "color": "E19BDF", "agency": { "name": "METRO", "url": "http://www.navitia.io/", "id": "439" }, "text_color": "000000", "headsign": "Pointe du Lac", "direction": 0, "long_name": "Balard - Créteil-Pointe du Lac", "short_name": "8", "id": 87332, "type": 1 }, "geometry": { "type": "LineString", "coordinates": [ [ 2.32468, 48.8695 ], [ 2.33173, 48.87063 ], [ 2.33991, 48.872 ], [ 2.34289, 48.87157 ] ] }, "duration": 4, "stops": [ { "code": "", "name": "Opéra", "id": 1782841, "geometry": { "type": "Point", "coordinates": [ 2.331737, 48.870631 ] } }, { "code": "", "name": "Richelieu-Drouot", "id": 1783026, "geometry": { "type": "Point", "coordinates": [ 2.339911, 48.872006 ] } } ], "mode": 4, "time": 1120 }, { "departure": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.342895, 48.871575 ] }, "name": "GRANDS BOULEVARDS", "time": 1129 }, "arrival": { "date": "2022-03-17", "geometry": { "type": "Point", "coordinates": [ 2.342319, 48.871038 ] }, "name": "", "time": 1131 }, "details": [ { "distance": 75.97, "relativeDirection": "DEPART", "streetName": "Boulevard Montmartre", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.342871184765315, 48.87151450128451 ] } }, { "distance": 89.58, "relativeDirection": "LEFT", "streetName": "Passage des Panoramas", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3418652, 48.871684800000004 ] } }, { "distance": 25.5, "relativeDirection": "LEFT", "streetName": "Galerie des Variétés", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3416411000000004, 48.8708928 ] } } ], "geometry": { "type": "LineString", "coordinates": [ [ 2.34287, 48.87151 ], [ 2.34196, 48.87166 ], [ 2.34186, 48.87168 ], [ 2.34182, 48.87153 ], [ 2.34177, 48.87137 ], [ 2.34176, 48.87133 ], [ 2.34175, 48.8713 ], [ 2.34174, 48.87127 ], [ 2.34173, 48.87123 ], [ 2.34173, 48.8712 ], [ 2.34172, 48.87117 ], [ 2.34171, 48.87113 ], [ 2.3417, 48.8711 ], [ 2.34169, 48.87107 ], [ 2.34168, 48.87103 ], [ 2.34167, 48.871 ], [ 2.34166, 48.87097 ], [ 2.34164, 48.8709 ], [ 2.34164, 48.87089 ], [ 2.34166, 48.87088 ], [ 2.34198, 48.87084 ] ] }, "duration": 3, "distance": 191.05, "mode": 2, "time": 1129 } ] } }, { "id": "", "typeid": "", "geometry": { "type": "Point", "coordinates": [ 2.342319488525391, 48.871038194878636 ] }, "dep_time": null, "arr_time": 1135, "duration": null, "itinerary": null } ] } ] }

The External Magic Tour allows you to organize a tourist tour based on a list of places to visit.

HTTP Request

GET https://api.visitmoov.com/api/v1/magic_tour_extern/

Query Parameters

Parameter Type Constraint Description
lang STRING OPTIONAL Alpha-2 code of language. Default: fr
dep_lat FLOAT REQUIRED Latitude of departure (WGS84)
dep_lng FLOAT REQUIRED Longitude of departure (WGS84)
arr_lat FLOAT REQUIRED Latitude of arrival (WGS84)
arr_lng FLOAT REQUIRED Longitude of arrival (WGS84)
dep_date STRING DATETIME REQUIRED1 Departure datetime (FORMAT: "yyyy-mm-dd HH:MM" / MIN: now / DEFAULT: now)
arr_date STRING DATETIME REQUIRED1 Arrival datetime (FORMAT: "yyyy-mm-dd HH:MM" / MIN: now)
visits JSON ARRAY REQUIRED2 List of visits that could be in the optimized tour (MIN: 1 / MAX: 100)
profile STRING JSON OPTIONAL3 Profile of optimized tour
tr_mode INTEGER OPTIONAL Mode of transportation, the possible values ​​are 1, 2, 3 et 4.
1: Car,
2: Walking,
3: Bicycle,
4: Public transport Default: 4
duration INTEGER OPTIONAL Duration max of visit day (UNIT: minutes / MAX: 1440) Default: 420
distance INTEGER OPTIONAL Distance max of visit day (UNIT: meters / MAX: 50000) Default: 25000
budget INTEGER OPTIONAL Budget
accessibility INTEGER OPTIONAL Data accessibility (VALUES: 0 or 1) Default: 0
weather INTEGER OPTIONAL Avoid outside visits in bad weather (VALUES: 0 for false or 1 for true) Default: 0
crowded_areas JSON ARRAY OPTIONAL4 Allow to avoid visit inside crowded areas
matrix_url STRING OPTIONAL5 URL of your matrix calculator
encode_line INTEGER OPTIONAL Allow to encode polyline geometry (encoding algorithm). 0 return geojson format. 1 return encoded format. Default: 1
transit_min_dist INTEGER OPTIONAL Minimum distance between two places in order to calculate the itinerary by public transport. Default: 500
use_traffic INTEGER OPTIONAL Allows you to choose different modes for taking disturbances into account when calculating the itinerary by public transport.
The possible values ​​are as follows:
0 - Does not use traffic disruptions
1 - Use server disruption

If use_traffic = 1, can use parameter traffic_source Default: 0
traffic_source STRING OPTIONAL Comma separated list of disruption source ids.

Response model

{ "success": "Boolean", "result": [ { "date": "String (Date format YYYY-MM-DD)", "duration": "Integer (minutes)", "distance": "Integer (meters)", "budget": { "min": "Float", "max": "Float" }, "steps": [ { "id": "String", "typeid": "String", "geometry": "Object (Geojson)", "dep_time": "Integer (minutes)", "arr_time": "Integer (minutes)", "duration": "Integer (minutes)", "itinerary": { "mode": "Integer (4)", "distance": "Integer (meters)", "duration": "Integer (minutes)", "geometry": "String (polyline encoded) or Object (geojson)", "steps": [ { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "details": [ { "distance": "Float (meters)", "relativeDirection": "String", "streetName": "Accès Parking Villiers", "absoluteDirection": "String", "geometry": "Object (Geojson)" } ], "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "distance": "Float (meters)", "mode": "Integer (1,2,3)", "time": "Integer (minutes)" }, { "departure": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "arrival": { "date": "String (Date format YYYY-MM-DD)", "geometry": "Object (Geojson)", "name": "String", "time": "Integer (minutes)" }, "route": { "color": "String", "agency": { "name": "String", "url": "String", "id": "String" }, "text_color": "String", "headsign": "String", "direction": "Integer", "long_name": "String", "short_name": "String", "id": "Integer", "type": "Integer" }, "geometry": "String (polyline encoded) or Object (geojson)", "duration": "Integer (minutes)", "stops": [ { "code": "String", "name": "String", "id": "Integer", "geometry": "Object (Geojson)" } ], "mode": "Integer (4)", "time": "Integer (minutes)" } ] } }, { "id": "String", "typeid": "String", "geometry": "Object (Geojson)", "dep_time": "Integer (minutes)", "arr_time": "Integer (minutes)", "duration": "Integer (minutes)", "itinerary": { "mode": "Integer (1,2,3)", "distance": "Integer (meters)", "duration": "Integer (minutes)", "geometry": "String (polyline encoded) or Object (geojson)", "steps": [ { "distance": "Float (meters)", "driving_side": "String", "duration": "Integer (minutes)", "geometry": "String (polyline encoded) or Object (geojson)", "instructions": "String", "maneuver": { "modifier": "String", "type": "String", "geometry": "Object (Geojson)" }, "mode": "Integer (1,2,3)", "name": "String" } ] } } ] } ] }

Errors

Code Message Description
dep_lat is required dep_lat is required
dep_lng is required dep_lng is required
arr_lat is required arr_lat is required
arr_lng is required arr_lng is required
visits is required visits is required
at least dep_date or arr_date is required Missing data, at least dep_date or arr_date is required.
dep_lat must be a float dep_lat must be a float
dep_lng must be a float dep_lng must be a float
arr_lat must be a float arr_lat must be a float
arr_lng must be a float arr_lng must be a float
dep_lat must be between -90.0 and 90.0 dep_lat must be between -90.0 and 90.0
arr_lat must be between -90.0 and 90.0 arr_lat must be between -90.0 and 90.0
dep_lng must be between -180.0 and 180.0 dep_lng must be between -180.0 and 180.0
arr_lng must be between -180.0 and 180.0 arr_lng must be between -180.0 and 180.0
dep_date or arr_date bad format Bad format for dep_date or arr_date.
visits non compliant Visits have a bad JSON format.
visits is not an array Visits are not an array.
must be between 1 and 100 Number of visits must be between 1 and 100
bad or missing visit id at index [index] Visitid is bad or missing at indicated index.
visits at index [index_1] and [index_2] have the same id Two visits have the same id at indicated indexes.
bad or missing visit typeid at index [index] Visit typeid is bad or missing at indicated index.
bad or missing visit [field] at index [index] Indicated field of visit is bad or missing at indicated index.
bad visit [field] at index [index] Indicated field of visit is bad at indicated index.
visits openings at index [index] is not an array Visits openings at indicated index is not an array.
bad or missing starttime in opening at index [index_1] of visit at index [index_2] Starttime in opening at index 1 of visit at index 2 is bad or missing.
starttime is after endtime in opening at index [index_1] of visit at index [index_2] Starttime is after endtime in opening at index 1 of visit at index 2.
day in opening at index [index_1] of visit at index [index_2] must be greater than 0 and less than [nb_tours] Data day in opening at index 1 of visit at index 2 must be greater than 0 and less than indicated nb_tours.
duration must be between 0 and 1440 Duration must be between 0 and 1440.
distance must be between 0 and 50000 Distance must be between 0 and 50000.
budget must be greater than 0 Budget must be greater than 0.
accessibility must be 0 or 1 Accessibility must be 0 or 1.
weather must be 0 or 1 Weather must be 0 or 1
profile non compliant Profile has a bad JSON format.
bad weight of typeid [typeid] Bad weight of indicated data typeid.
sum of all weight is greater than 100 Sum of all weight is greater than 100.
crowded_areas non compliant crowded_areas non compliant.
crowded_areas is not an array crowded_areas is not an array.
at least "coords", "starttime" or "endtime" is required in crowded_areas at index [index] At least "coords", "starttime" or "endtime" is required in crowded_areas at index [index]
starttime bad format in crowded_area at index [index] starttime bad format in crowded_area at index [index]
endtime bad format in crowded_area at index [index] endtime bad format in crowded_area at index [index]
starttime is after endtime in crowded_area at index [index] starttime is after endtime in crowded_area at index [index]
coords in crowded_areas at index [index] must be an array coords in crowded_areas at index [index] must be an array
data at index [index_1] in coords in crowded_areas at index [index_2] must be an array with a size of 2 Data at index [index_1] in coords in crowded_areas at index [index_2] must be an array with a size of 2
first data at index [index_1] in coords in crowded_areas at index [index_2] must be a float First data at index [index_1] in coords in crowded_areas at index [index_2] must be a float
second data at index [index_1] in coords in crowded_areas at index [index_2] must be a float Second data at index [index_1] in coords in crowded_areas at index [index_2] must be a float
bad_departure Bad tour departure.
bad_arrival Bad tour arrival.
bad_time Bad tour time.
bad_tour_maxtime Bad tour maxtime (Must be between 0 and 1440 included).
bad_tour_maxdist Bad tour maxdist (Must be an integer >= 0).
bad_tour_arrive_at Bad tour arrive_at (Must be 0 or 1).
bad_tour_accessibility Bad tour accessibility (Must be 0 or 1).
bad_tour_budget Bad tour budget (Must be an integer >= 0).
bad_tour_with_child Bad tour with_child (Must be 0 or 1).
bad_tour_with_hotel Bad tour with_hotel (Must be 0 or 1).
bad_tour_nb_person Bad tour nb_person (Must be an integer >= 1).
bad_tour_modec Bad tour modec (Must be between 1 and 6 included).
bad_tour_transit Bad tour transit (Must be 0 or 1).
bad_departure_isinstance Bad tour departure.
bad_arrival_isinstance Bad tour arrival.
bad_tour_add_pause Pause invalid, could not be added.
bad_tour_add_visit Visit invalid, could not be added.
bad_influences Bad influences (etype_einflu).
calc_tour_key not found Missing calc_tour_key field.
error_matrix_distancer Error with the matrix distancer
error_matrix_xml Error matrix is none
no_matrix_data Erreur, no matrix data
not_enough_time There is not enougth time to make tour with those parameters
tour is undefined Tour is undefined
Optimisation Request Error :[ERROR] Optimisation Request Error :[ERROR]
#0: Error Server Unreachable or [ERROR] [URL] #0: Error Server Unreachable or [ERROR] at [URL]
#1: Error Server Unreachable or [ERROR] [URL] #1: Error Server Unreachable or [ERROR] at [URL]
#2: Error Server Unreachable or [ERROR] [URL] #2: Error Server Unreachable or [ERROR] at [URL]
params_not_defined Trip optimisation error: parameters not defined
M1001: [ERROR] Trip optimisation error: M1001: [ERROR]
M1002: [ERROR] Trip optimisation error: M1002: [ERROR]
unknow method Trip optimisation error: unknow method
unknown matrix method Trip optimisation error: unknow matrix method

Check ids

Example request:

https://api.visitmoov.com/api/v1/util_check_list_ids/?api_key=API_KEY&/?ids_list=ad7c8514fe20c7f101096d5548a2f08135f74428&ids_to_check=ad7c8514fe20c7f101096d5548a2f08135f74428%2Cb035989af12130854c722705bc3e397242fad4ff

This request returns JSON structured like this:

{ "success": true, "result": { "ad7c8514fe20c7f101096d5548a2f08135f74428": 1, "b035989af12130854c722705bc3e397242fad4ff": 0 } }

Utility request allowing to check if ids (ids_to_check) are within an another ids list (ids_list). The same id generated two times will be different. It is needed to compare ids of the same category (example: places with places, hotels with hotels...). The response contain a the list of id checked. The value 1 for ids inside the list and 0 for not being inside.

HTTP Request

GET https://api.visitmoov.com/api/v1/util_check_list_ids/

Query Parameters

Parameter Type Constraint Description
ids_list STRING REQUIRED List of ids (ids separed by comma)
ids_to_check STRING REQUIRED List of ids to check if in ids_list (ids separed by comma)

Errors

Code Message Description
missing_ids_list Missing ids_list
missing_ids_to_check Missing ids_to_check
ids_list_must_be_string ids_list must be a string
ids_to_check_must_be_string ids_to_check must be a string
ids_list_invalid_id: [id] Invalid id [id] in ids_list
ids_to_check_invalid_id: [id] Invalid id [id] in ids_to_check

Transit

Itinerary search

Example request:

https://api.visitmoov.com/api/v1/transit/?api_key=API_KEY&dep_lat=48.8695364&dep_lng=2.3305613&arr_lat=48.8675364&arr_lng=2.3305613&date=2021-10-11+09%3A00&tr_mode=4

This request returns JSON structured like this:

{ "success": true, "result": [ { "steps": [ { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "name": "", "time": 38962 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.360021, 48.819064 ] }, "name": "PORTE D'ITALIE", "time": 39299 }, "details": [ { "distance": 7.06, "relativeDirection": "DEPART", "streetName": "Rue André Pieyre de Mandiargues", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3576618485648417, 48.821340766544445 ] } }, { "distance": 81.46, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3576446, 48.821403200000006 ] } }, { "distance": 257.86, "relativeDirection": "RIGHT", "streetName": "Avenue d'Italie", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3587569, 48.821417200000006 ] } }, { "distance": 20.81, "relativeDirection": "LEFT", "streetName": "Boulevard Masséna", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3594606000000002, 48.819145000000006 ] } }, { "distance": 17.43, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3597443, 48.819149 ] } }, { "distance": 12.69, "relativeDirection": "RIGHT", "streetName": "Porte d'Italie", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.359886, 48.819085 ] } } ], "geometry": "il~hH_nkMAKKB?eDAw@BADAh@KlAY@?d@KFADANCLEHAf@MZGb@I`@I@?NEh@MB?ZI?k@?KLCAWD?CY@A", "duration": 337, "distance": 397.31, "mode": 2, "time": 38962 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.360021, 48.819064 ] }, "name": "Porte d'Italie", "time": 39300 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.306684, 48.827455 ] }, "name": "Porte de Vanves", "time": 40140 }, "route": { "color": "FF7E2E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "PONT DU GARIGLIANO - HOPITAL EUROPEEN G. POMPIDOU", "direction": 0, "long_name": "Pont du Garigliano - Hôpital Européen G. Pompidou - Porte de Vincennes", "short_name": "T3a", "id": 131377, "type": 0 }, "geometry": "c~}hHc}kMoIf}@nFdZaEln@oEp\\gJ|s@yG`e@qFda@iHvh@", "duration": 840, "stops": [ { "code": "", "name": "Poterne des Peupliers", "id": 2649838, "geometry": { "type": "Point", "coordinates": [ 2.350057, 48.820737 ] } }, { "code": "", "name": "Stade Charléty - Porte de Gentilly", "id": 2661861, "geometry": { "type": "Point", "coordinates": [ 2.345714, 48.819535 ] } }, { "code": "", "name": "Cité Universitaire", "id": 2648105, "geometry": { "type": "Point", "coordinates": [ 2.338116, 48.82051 ] } }, { "code": "", "name": "Montsouris", "id": 2646182, "geometry": { "type": "Point", "coordinates": [ 2.33339, 48.821545 ] } }, { "code": "", "name": "Porte d'Orléans", "id": 2652112, "geometry": { "type": "Point", "coordinates": [ 2.324922, 48.82335 ] } }, { "code": "", "name": "Jean Moulin", "id": 2656840, "geometry": { "type": "Point", "coordinates": [ 2.318829, 48.824764 ] } }, { "code": "", "name": "Didot", "id": 2633662, "geometry": { "type": "Point", "coordinates": [ 2.313364, 48.825974 ] } } ], "mode": 4, "time": 39299 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.306684, 48.827455 ] }, "name": "PORTE DE VANVES", "time": 40140 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.305332, 48.827613 ] }, "name": "PORTE DE VANVES", "time": 40231 }, "details": [ { "distance": 23.79, "relativeDirection": "DEPART", "streetName": "Porte de Vanves", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.306691586483762, 48.82746985821627 ] } }, { "distance": 26.23, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3064008, 48.8275164 ] } }, { "distance": 67.03, "relativeDirection": "RIGHT", "streetName": "Boulevard Brune", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3061951, 48.8274163 ] } } ], "geometry": "sr_iHwoaM?AMx@B?EZBBF@BBHBOn@Kv@Mx@?F@@", "duration": 91, "distance": 117.06, "mode": 2, "time": 40140 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.305332, 48.827613 ] }, "name": "Porte de Vanves", "time": 40680 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327483, 48.893001 ] }, "name": "Guy Môquet", "time": 42000 }, "route": { "color": "6EC4E8", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "Saint-Denis-Université", "direction": 1, "long_name": "Châtillon-Montrouge - Saint-Denis - Université", "short_name": "13", "id": 130475, "type": 1 }, "geometry": "qs_iHigaM{Xit@qMi[}ZmXoVfHk\\zZuYdLm`@kCkYpBqh@fBed@mKaKgz@_YoGgYmBaVtIya@eJ", "duration": 1320, "stops": [ { "code": "", "name": "Plaisance", "id": 2653107, "geometry": { "type": "Point", "coordinates": [ 2.31386, 48.83175 ] } }, { "code": "", "name": "Pernety", "id": 2632677, "geometry": { "type": "Point", "coordinates": [ 2.318394, 48.834079 ] } }, { "code": "", "name": "Gaîté", "id": 2642115, "geometry": { "type": "Point", "coordinates": [ 2.322464, 48.838545 ] } }, { "code": "", "name": "Montparnasse Bienvenue", "id": 2630289, "geometry": { "type": "Point", "coordinates": [ 2.320984, 48.842314 ] } }, { "code": "", "name": "Duroc", "id": 2642506, "geometry": { "type": "Point", "coordinates": [ 2.316521, 48.84701 ] } }, { "code": "", "name": "Saint-François-Xavier", "id": 2662008, "geometry": { "type": "Point", "coordinates": [ 2.314407, 48.851279 ] } }, { "code": "", "name": "Varenne", "id": 2639766, "geometry": { "type": "Point", "coordinates": [ 2.315114, 48.856625 ] } }, { "code": "", "name": "Invalides", "id": 2647509, "geometry": { "type": "Point", "coordinates": [ 2.31454, 48.860849 ] } }, { "code": "", "name": "Champs-Élysées - Clemenceau", "id": 2647412, "geometry": { "type": "Point", "coordinates": [ 2.314017, 48.867501 ] } }, { "code": "", "name": "Miromesnil", "id": 2634120, "geometry": { "type": "Point", "coordinates": [ 2.316011, 48.873448 ] } }, { "code": "", "name": "Saint-Lazare", "id": 2663562, "geometry": { "type": "Point", "coordinates": [ 2.325488, 48.875381 ] } }, { "code": "", "name": "Liège", "id": 2635831, "geometry": { "type": "Point", "coordinates": [ 2.326853, 48.879535 ] } }, { "code": "", "name": "Place de Clichy", "id": 2636934, "geometry": { "type": "Point", "coordinates": [ 2.327398, 48.883738 ] } }, { "code": "", "name": "La Fourche", "id": 2641460, "geometry": { "type": "Point", "coordinates": [ 2.325687, 48.887425 ] } } ], "mode": 4, "time": 40231 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327483, 48.893001 ] }, "name": "GUY MÔQUET", "time": 42121 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "name": "", "time": 42262 }, "details": [ { "distance": 20.42, "relativeDirection": "DEPART", "streetName": "Rue Championnet", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3274727260616355, 48.89301890661583 ] } }, { "distance": 152.53, "relativeDirection": "RIGHT", "streetName": "Rue Marcadet", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.327732, 48.893087200000004 ] } } ], "geometry": "glliHwqeMA@GWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]", "duration": 141, "distance": 172.94, "mode": 2, "time": 42121 } ], "duration": 3300, "departure": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "time": 38962 }, "arrival": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "time": 42262 }, "distance": 20332.87, "geometry": "il~hH_nkMAKKB?eDAw@BADAh@KlAY@?d@KFADANCLEHAf@MZGb@I`@I@?NEh@MB?ZI?k@?KLCAWD?CY@AoIf}@nFdZaEln@oEp\\gJ|s@yG`e@qFda@iHvh@?AMx@B?EZBBF@BBHBOn@Kv@Mx@?F@@{Xit@qMi[}ZmXoVfHk\\zZuYdLm`@kCkYpBqh@fBed@mKaKgz@_YoGgYmBaVtIya@eJA@GWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]" }, { "steps": [ { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "name": "", "time": 38398 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.358539, 48.822168 ] }, "name": "MAISON BLANCHE", "time": 38759 }, "details": [ { "distance": 7.06, "relativeDirection": "DEPART", "streetName": "Rue André Pieyre de Mandiargues", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3576618485648417, 48.821340766544445 ] } }, { "distance": 81.46, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3576446, 48.821403200000006 ] } }, { "distance": 162.8, "relativeDirection": "LEFT", "streetName": "Avenue d'Italie", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3587569, 48.821417200000006 ] } }, { "distance": 9.01, "relativeDirection": "LEFT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3583096, 48.8228513 ] } }, { "distance": 9.32, "relativeDirection": "RIGHT", "streetName": "escalier", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3581889, 48.8228354 ] } }, { "distance": 48.31, "relativeDirection": "RIGHT", "streetName": "tunnel", "absoluteDirection": "NORTHEAST", "geometry": { "type": "Point", "coordinates": [ 2.3581758, 48.822876400000006 ] } }, { "distance": 29.12, "relativeDirection": "LEFT", "streetName": "escalier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3583483000000003, 48.82287770000001 ] } }, { "distance": 60.25, "relativeDirection": "CONTINUE", "streetName": "Villejuif-Louis Aragon - Mairie d'Ivry", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3583934, 48.8227363 ] } }, { "distance": 7.58, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3585625, 48.822206 ] } } ], "geometry": "il~hH_nkMAKKB?eDAw@MBG@SDA@o@Lg@JYFYFc@JC?MBA@UDKBMDBVA?E@IBG_ADAFA?DBVTGDAhBa@?DB?BAA?", "duration": 361, "distance": 414.9, "mode": 2, "time": 38398 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.358539, 48.822168 ] }, "name": "Maison Blanche", "time": 38880 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.334418, 48.86588 ] }, "name": "Pyramides", "time": 39900 }, "route": { "color": "FA9ABA", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "La Courneuve-8-Mai-1945", "direction": 0, "long_name": "La Courneuve - 8 Mai 1945 - Mairie d'Ivry", "short_name": "7", "id": 130179, "type": 1 }, "geometry": "qq~hH{skMyWrFy`@lKcZnPcZrDgNiBqSoOe`@ak@uL|ZyTrx@_Izf@kYh\\mRtO", "duration": 1020, "stops": [ { "code": "", "name": "Tolbiac", "id": 2631373, "geometry": { "type": "Point", "coordinates": [ 2.357318, 48.826137 ] } }, { "code": "", "name": "Place d'Italie", "id": 2630134, "geometry": { "type": "Point", "coordinates": [ 2.355331, 48.831549 ] } }, { "code": "", "name": "Les Gobelins", "id": 2635299, "geometry": { "type": "Point", "coordinates": [ 2.352531, 48.835892 ] } }, { "code": "", "name": "Censier - Daubenton", "id": 2636082, "geometry": { "type": "Point", "coordinates": [ 2.351627, 48.840226 ] } }, { "code": "", "name": "Place Monge", "id": 2637118, "geometry": { "type": "Point", "coordinates": [ 2.352155, 48.842666 ] } }, { "code": "", "name": "Jussieu", "id": 2656359, "geometry": { "type": "Point", "coordinates": [ 2.354798, 48.845963 ] } }, { "code": "", "name": "Sully - Morland", "id": 2642317, "geometry": { "type": "Point", "coordinates": [ 2.361853, 48.851271 ] } }, { "code": "", "name": "Pont Marie (Cité des Arts)", "id": 2661721, "geometry": { "type": "Point", "coordinates": [ 2.357377, 48.85346 ] } }, { "code": "", "name": "Châtelet", "id": 2658309, "geometry": { "type": "Point", "coordinates": [ 2.348161, 48.856953 ] } }, { "code": "", "name": "Pont Neuf", "id": 2663322, "geometry": { "type": "Point", "coordinates": [ 2.341777, 48.858546 ] } }, { "code": "", "name": "Palais Royal - Musée du Louvre", "id": 2654638, "geometry": { "type": "Point", "coordinates": [ 2.337087, 48.862765 ] } } ], "mode": 4, "time": 38759 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.334418, 48.86588 ] }, "name": "PYRAMIDES", "time": 39900 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.334443, 48.866024 ] }, "name": "PYRAMIDES", "time": 39914 }, "details": [ { "distance": 14.94, "relativeDirection": "DEPART", "streetName": "Avenue de l'Opéra", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3343532230484505, 48.865868556387596 ] } } ], "geometry": "wbgiHc}fMBLYJE]", "duration": 14, "distance": 14.94, "mode": 2, "time": 39900 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.334443, 48.866024 ] }, "name": "Pyramides", "time": 40260 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327487, 48.89275 ] }, "name": "Guy Môquet", "time": 41460 }, "route": { "color": "82DC73", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "PORTE DE SAINT-OUEN - HOPITAL BICHAT", "direction": 0, "long_name": "Stade Charléty - Porte de Gentilly - Porte de Saint-Ouen - Hôpital Bichat", "short_name": "21", "id": 130839, "type": 3 }, "geometry": "scgiHg}fMmLvD{ItCmJHkMpGgJXiYjLyPzFcN|EkP|C_LkCaOmD", "duration": 1200, "stops": [ { "code": "", "name": "Petits Champs - Danielle Casanova", "id": 2628989, "geometry": { "type": "Point", "coordinates": [ 2.333516, 48.868169 ] } }, { "code": "", "name": "Opéra - 4 Septembre", "id": 2636669, "geometry": { "type": "Point", "coordinates": [ 2.332771, 48.869909 ] } }, { "code": "", "name": "Opéra", "id": 2640543, "geometry": { "type": "Point", "coordinates": [ 2.33272, 48.871735 ] } }, { "code": "", "name": "Haussmann - Mogador", "id": 2653402, "geometry": { "type": "Point", "coordinates": [ 2.331355, 48.874038 ] } }, { "code": "", "name": "Trinité", "id": 2660987, "geometry": { "type": "Point", "coordinates": [ 2.331223, 48.875836 ] } }, { "code": "", "name": "Liège", "id": 2655539, "geometry": { "type": "Point", "coordinates": [ 2.329082, 48.880051 ] } }, { "code": "", "name": "Place de Clichy", "id": 2634531, "geometry": { "type": "Point", "coordinates": [ 2.327818, 48.882904 ] } }, { "code": "", "name": "Ganneron", "id": 2663638, "geometry": { "type": "Point", "coordinates": [ 2.32671, 48.885317 ] } }, { "code": "", "name": "La Fourche", "id": 2662450, "geometry": { "type": "Point", "coordinates": [ 2.325924, 48.8881 ] } }, { "code": "", "name": "Davy", "id": 2630669, "geometry": { "type": "Point", "coordinates": [ 2.32662, 48.890182 ] } } ], "mode": 4, "time": 39914 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327487, 48.89275 ] }, "name": "GUY MÔQUET", "time": 41461 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "name": "", "time": 41630 }, "details": [ { "distance": 27.11, "relativeDirection": "DEPART", "streetName": "Avenue de Saint-Ouen", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.327341920033663, 48.89276840011221 ] } }, { "distance": 24.28, "relativeDirection": "RIGHT", "streetName": "Rue Championnet", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3274236, 48.8930061 ] } }, { "distance": 152.53, "relativeDirection": "RIGHT", "streetName": "Rue Marcadet", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.327732, 48.893087200000004 ] } } ], "geometry": "ujliHyqeMA\\SEGACAOEAIGWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]", "duration": 169, "distance": 203.92, "mode": 2, "time": 41461 } ], "duration": 3232, "departure": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "time": 38398 }, "arrival": { "name": "", "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.329788, 48.892938 ] }, "time": 41630 }, "distance": 15188.83, "geometry": "il~hH_nkMAKKB?eDAw@MBG@SDA@o@Lg@JYFYFc@JC?MBA@UDKBMDBVA?E@IBG_ADAFA?DBVTGDAhBa@?DB?BAA?yWrFy`@lKcZnPcZrDgNiBqSoOe`@ak@uL|ZyTrx@_Izf@kYh\\mRtOBLYJE]mLvD{ItCmJHkMpGgJXiYjLyPzFcN|EkP|C_LkCaOmDA\\SEGACAOEAIGWE[FCDCBEBIFm@DYBWRaB\\uCBMaA]" }, { "steps": [ { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.357597, 48.821333 ] }, "name": "", "time": 38422 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.360021, 48.819064 ] }, "name": "PORTE D'ITALIE", "time": 38759 }, "details": [ { "distance": 7.06, "relativeDirection": "DEPART", "streetName": "Rue André Pieyre de Mandiargues", "absoluteDirection": "NORTH", "geometry": { "type": "Point", "coordinates": [ 2.3576618485648417, 48.821340766544445 ] } }, { "distance": 81.46, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3576446, 48.821403200000006 ] } }, { "distance": 257.86, "relativeDirection": "RIGHT", "streetName": "Avenue d'Italie", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3587569, 48.821417200000006 ] } }, { "distance": 20.81, "relativeDirection": "LEFT", "streetName": "Boulevard Masséna", "absoluteDirection": "EAST", "geometry": { "type": "Point", "coordinates": [ 2.3594606000000002, 48.819145000000006 ] } }, { "distance": 17.43, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.3597443, 48.819149 ] } }, { "distance": 12.69, "relativeDirection": "RIGHT", "streetName": "Porte d'Italie", "absoluteDirection": "SOUTH", "geometry": { "type": "Point", "coordinates": [ 2.359886, 48.819085 ] } } ], "geometry": "il~hH_nkMAKKB?eDAw@BADAh@KlAY@?d@KFADANCLEHAf@MZGb@I`@I@?NEh@MB?ZI?k@?KLCAWD?CY@A", "duration": 337, "distance": 397.31, "mode": 2, "time": 38422 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.360021, 48.819064 ] }, "name": "Porte d'Italie", "time": 38760 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.306684, 48.827455 ] }, "name": "Porte de Vanves", "time": 39540 }, "route": { "color": "FF7E2E", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "PONT DU GARIGLIANO - HOPITAL EUROPEEN G. POMPIDOU", "direction": 0, "long_name": "Pont du Garigliano - Hôpital Européen G. Pompidou - Porte de Vincennes", "short_name": "T3a", "id": 131377, "type": 0 }, "geometry": "c~}hHc}kMoIf}@nFdZaEln@oEp\\gJ|s@yG`e@qFda@iHvh@", "duration": 780, "stops": [ { "code": "", "name": "Poterne des Peupliers", "id": 2649838, "geometry": { "type": "Point", "coordinates": [ 2.350057, 48.820737 ] } }, { "code": "", "name": "Stade Charléty - Porte de Gentilly", "id": 2661861, "geometry": { "type": "Point", "coordinates": [ 2.345714, 48.819535 ] } }, { "code": "", "name": "Cité Universitaire", "id": 2648105, "geometry": { "type": "Point", "coordinates": [ 2.338116, 48.82051 ] } }, { "code": "", "name": "Montsouris", "id": 2646182, "geometry": { "type": "Point", "coordinates": [ 2.33339, 48.821545 ] } }, { "code": "", "name": "Porte d'Orléans", "id": 2652112, "geometry": { "type": "Point", "coordinates": [ 2.324922, 48.82335 ] } }, { "code": "", "name": "Jean Moulin", "id": 2656840, "geometry": { "type": "Point", "coordinates": [ 2.318829, 48.824764 ] } }, { "code": "", "name": "Didot", "id": 2633662, "geometry": { "type": "Point", "coordinates": [ 2.313364, 48.825974 ] } } ], "mode": 4, "time": 38759 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.306684, 48.827455 ] }, "name": "PORTE DE VANVES", "time": 39540 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.305332, 48.827613 ] }, "name": "PORTE DE VANVES", "time": 39631 }, "details": [ { "distance": 23.79, "relativeDirection": "DEPART", "streetName": "Porte de Vanves", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.306691586483762, 48.82746985821627 ] } }, { "distance": 26.23, "relativeDirection": "RIGHT", "streetName": "chemin piétonnier", "absoluteDirection": "WEST", "geometry": { "type": "Point", "coordinates": [ 2.3064008, 48.8275164 ] } }, { "distance": 67.03, "relativeDirection": "RIGHT", "streetName": "Boulevard Brune", "absoluteDirection": "NORTHWEST", "geometry": { "type": "Point", "coordinates": [ 2.3061951, 48.8274163 ] } } ], "geometry": "sr_iHwoaM?AMx@B?EZBBF@BBHBOn@Kv@Mx@?F@@", "duration": 91, "distance": 117.06, "mode": 2, "time": 39540 }, { "departure": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.305332, 48.827613 ] }, "name": "Porte de Vanves", "time": 39960 }, "arrival": { "date": "2022-05-21", "geometry": { "type": "Point", "coordinates": [ 2.327483, 48.893001 ] }, "name": "Guy Môquet", "time": 41280 }, "route": { "color": "6EC4E8", "agency": { "name": "RATP", "url": "http://www.navitia.io/", "id": "Operator_100" }, "text_color": "000000", "headsign": "Saint-Denis-Université", "direction": 1, "long_name": "Châtillon-Montrouge - Saint-Denis - Université", "short_name": "13", "id": 130475, "type": 1 }, "geometry": "qs_iHigaM{Xit@qMi[}ZmXoVfHk\\zZuYdLm`@kCkYpBqh@fBed@mKaKgz@_YoGgYmBaVtIya@eJ", "duration": 1320, "stops": [ { "code": "", "name": "Plaisance", "id": 2653107, "geometry": { "type": "Point", "coordinates": [ 2.31386, 48.83175 ] } }, { "code": "", "name": "Pernety", "id": 2632677, "geometry": { "type": "Point", "coordinates": [ 2.318394, 48.834079 ] } }, { "code": "", "name": "Gaîté", "id": 2642115, "geometry": { "type": "Point", "coordinates": [ 2.322464, 48.838545 ] } }, { "code": "", "name": "Montparnasse Bienvenue", "id": 2630289, "geometry": { "type": "Point", "coordinates": [ 2.320984, 48.842314 ] } }, { "code": "", "name": "Duroc", "id": 2642506, "geometry": { "type": "Point", "coordinates": [ 2.316521, 48.84701 ] } }, { "code": "", "name": "Saint-François-Xavier", "id": 2662008, "geometry": { "type": "Point", "coordinates": [ 2.314407, 48.851279 ] } }, { "code": "", "name": "Varenne", "id": 2639766, "geometry": { "type": "Point", "coordinates": [ 2.315114, 48.856625 ] } }, { "code": "", "name": "Invalides", "id": 2647509, "geometry": { "type": "Point", "coordinates": [ 2.31454, 48.860849 ] } }, { "code": "", "name": "Champs-Élysées - Clemenceau", "id": 2647412, "geometry": { "type": "Point", "coordinates": [ 2.314017, 48.867501 ] } }, { "code": "", "name": "Miromesnil", "id": 2634120, "geometry": { "type": "Point", "coordinates": [ 2.316011, 48.873448 ] } },