Skip to content

Getting started

🧰 Requirements

  • Get an access to Navitia.io API. A token will be provided later and will be used to configure all the modules.
  • The SDKs are accessible privately, so you should request an access to our private artifactory. Those credentials will be used later to configure your machine to be able to download our dependencies.

Add the following in the build.gradle of your app:

android {
    defaultConfig {
        minSdk = 23
    }
}

Install Cocoapods and add the following in the Podfile of your project:

platform :ios, '14.0'
use_frameworks!

💻 Artifactory Setup

The access to the SDK requires valid credentials to our private artifactory. See Requirements for more information. Replace artifactoryUsername and artifactoryPassword with your credentials.

Add the following in the build.gradle of your project:

repositories {
    maven {
        credentials {
            username = artifactoryUsername
            password = artifactoryPassword
        }
        url = uri("https://kisiodigital.jfrog.io/kisiodigital/android-release")
    }
}

Create a .netrc file in the $HOME directory of your machine and add the following line to your .netrc file:

machine kisiodigital.jfrog.io login artifactoryUsername password artifactoryPassword

🛠 Modules Configuration

The Navitia SDKs should be configured before usage. Within a specific module, the customization can affect data or graphical components. Since your application can integrate one or more Navitia modules, you can use a single JSON file to configure all the modules at once.
The following are the possible configuration parameters:

Name Required Description Type Possible values Target modules
coverage Navitia coverage String fr-idf All
timezone Timezone String Europe/Paris All
env Navitia environment String PROD, CUSTOMER All
colors Colors configuration Colors - UI modules
transport_categories List of supported transport modes Transport category[] - UI modules
poi_categories List of supported POIs Poi category[] - Around Me, Bookmark
features_configuration Enable/disable different module features Features - All
fonts Override the fonts used in UI modules Fonts - UI modules
lines_resources Resources ids for transport lines Line resource[] - UI modules
modes_resources Resources ids for transport modes Mode resource[] - UI modules
providers_resources Resources ids for data providers Provider resource[] - UI modules
networks_resources Resources ids for data networks Network resource[] - UI modules
icons_resources Resources ids for some specific icons Icon resource - UI modules
titles_resources Resources ids for screen titles Title resource - UI modules

Colors

Name Required Type Target module
aroundme Around Me color Around Me
bookmark Bookmark color Bookmark
journey Journey color Journey
schedule Schedule color Schedule
traffic Traffic color Traffic
disruptions Disruption color All

Around Me color

Name Required Description Type Example
primary To set the main color of the screens String #88819f
secondary To set the color of some UI components String #8faa96
tertiary To set the color of more UI components String #efa59f
map To set colors of the markers on map Map color -
Around Me map color
Name Required Description Type Example
poi To set the marker color of pois String #9b59B6
transport To set the marker color of stations String #2980B9

Bookmark color

Name Required Description Type Example
primary To set the main color of the screens String #88819f
secondary To set the color of some UI components String #8faa96

Journey color

Name Required Description Type Example
primary To set the main color of the screens String #88819f
secondary To set the color of some UI components String #8faa96
tertiary To set the color of more UI components String #efa59f
origin To set colors of the journey origin Journey origin color -
destination To set colors of the journey destination Journey destination color -
map To set colors of the map elements Journey map color -
nav_bar_background To set the color of the navigation bar. iOS only. String #efa59f
Journey origin color
Name Required Description Type Example
icon To set the icon color of the itinerary origin String #88819f
Journey destination color
Name Required Description Type Example
primary To set the color of the arrival block String #8faa96
icon To set the icon color of the itinerary destination String #88819f
Journey map color
Name Required Description Type Example
path To set the color of the paths drawn on the map Journey map path color -
Journey map path color
Name Required Description Type Example
bike To set colors of the specific bike journey Journey bike color -
car To set the color of the car path String `#88819f
Journey bike color
Name Required Description Type Example
primary To set the main color of the specific bike journey String #8faa96
non_cyclable To set the color of the non cyclable part for a specific bike journey String #88819f

Schedule color

Name Required Description Type Example
primary To set the main color of the screens String #88819f
secondary To set the color of some UI components String #8faa96

Traffic color

Name Required Description Type Example
primary To set the main color of the screens String #88819f
secondary To set the color of some UI components String #8faa96

Disruption color

Name Required Description Type Default
information To set the color for informative disruptions String #3FA26D
non_blocking To set the color for non blocking disruptions String #EF662F
blocking To set the color for blocking disruptions String #FF0000

Transport category

Name Required Description Type Example Target modules
modules To set the target modules String[] ["aroundme","journey"] ALL
name_res To set the localized resource id String transport_name_res ALL
icon_res To set the icon resource id String ic_metro ALL
selected Whether the transport mode is selected by default or not Boolean true ALL
modes List of supported transport modes Transport Mode - ALL
networks List of supported networks String[] ["network:BIL:27"] Schedule
first_section_modes List of first section modes String[] ["bike", "car"] Journey
last_section_modes List of last section modes String[] ["ridesharing", "bss"] Journey
direct_path_modes List of direct path modes String[] ["taxi", "car_no_park"] Journey
add_poi_infos List of requested extra POI data String[] ["bss_stands", "car_park"] Journey

Transport mode

Name Required Description Type Example
physical To set the transport physical mode Transport Physical Mode ["aroundme","journey"]
commercial To set the transport commercial mode Transport Commercial Mode -
Transport physical mode
Name Required Description Type Example
id Navitia physical mode id String "physical_mode:Bus"
name_res Localized name resource id String "transport_bus"
Transport commercial mode
Name Required Description Type Example
id Navitia commercial mode id String "commercial_mode:Bus"
name Navitia commercial mode name String "Bus"

POI category

Name Required Description Type Example
name_res Localized POI category name id String "stations"
subcategories List of POI subcategories POI subcategory[] -

POI subcategory

Name Required Description Type Example
name_res Localized POI subcategory name id String "bike_stations"
icon_res POI subcategory icon id String "ic_bike_stations"
selected Whether the subcategory is selected by default or not Boolean true
group Subcategory POI group String STANDARD, QUICK_FILTER_FREE_FLOATING, QUICK_FILTER_POI
types Subcategory POI types. Can be a POI type id or a free floating type String[] "poi_type:amenity:bicycle_rental" or one of those values
booking POI booking resources POI booking resources -
POI subcategory free floating types
Name Required Description Type Example
name_res Localized POI subcategory type name id String "scooter"
poi_type_id Navitia POI subcategory type id String "poi_type:amenity:bicycle_rental"
POI booking resources
Name Required Description Type Example
title_res Localized POI booking button title id String "book_a_bike"

Features

Name Required Type Target module
aroundme Around Me features Around Me
bookmark Bookmark features Bookmark
journey Journey features Journey
schedule Schedule features Schedule
traffic Traffic features Traffic

Around Me features

Name Required Description Type
bookmark_mode Enable/disable the bookmarks feature Bookmark mode
default_location The default location on first launch Default location
go_from_go_to Show/hide the go from/go to buttons Boolean
journey_mode Enable/disable the journey search mode Boolean
max_history Define the max history items Int
min_zoom_level Define the min zoom level of map. Android only Int
next_departures Show/hide the next departures Next departures
park_availability Show/hide the bss and car parking availability Park Availability
schedule_mode Enable/disable redirection to schedule autocompletion screen Boolean
stop_point_search Enable/disable search by stop point instead of stop area Boolean
traffic_mode Show/hide the traffic button Boolean
vehicle_positions Show bus vehicle positions on map Vehicle positions
Bookmark Mode (Around Me)
Name Required Description Type Example
enabled Enable/disable to add and remove an item as favorite Boolean true
display Display options of favorite items on screen Bookmark mode display options (Around Me) -
Bookmark mode display options (Around Me)
Name Required Description Type Example
bss Display/hide favorite bss tab Boolean true
journeys Display/hide favorite journeys tab Boolean true
stations Display/hide favorite stations tab Boolean true
Default location
Name Required Description Type Example
lat The latitude of the default location String "48.846790"
lon The longitude of the default location String "2.377090"

Bookmark features

Name Required Description Type Example
go_from_go_to Show/hide the go from/go to buttons Boolean true
next_departures Show/hide the next departures Next departures -
park_availability Show/hide the bss and car parking availability Park Availability
schedule_mode Show/hide the "See all schedules" button Boolean true
tabs Enable/disable tabs Bookmark tabs -
Bookmark tabs
Name Required Description Type Example
transports Enable/disable transport tab Boolean true
journeys Enable/disable journeys tab Boolean true
addresses Enable/disable addresses tab Boolean true

Journey features

Name Required Description Type Example
bookmark_mode Enable/disable and handle the display screens of the bookmarks feature Bookmark mode
calories Show/hide the itinerary calories summary Boolean false
carbon Show/hide the itinerary carbon summary Boolean true
car_parking_highlight Show/hide the car parking in the journey solution Boolean true
car_traffic_jam Show/hide the car traffic jam in the journey solution and the roadmap Boolean true
disruption_contributors Define the list of disruption contributors id String[] ["shortterm.tr_idfm"]
external_navigation Enable/disable the navigation using external applications Boolean true
max_favorite_addresses Define the max favorite addresses alongside with home and work addresses Int 10
max_favorite_pois Define the max favorite POIs Int 10
max_history Define the max history items Int 10
next_departures Show/hide the next departures Next departures (Journey) -
park_availability Show/hide the bss and car parking availability Park Availability
price Show/hide the itinerary price Boolean true
realtime_delays Show/hide the itinerary realtime delays Boolean true
ridesharing_price Show/hide the itinerary ridesharing price Boolean true
search_only Enable/disable a direct search without input from user Boolean false
step_by_step_guidance Enable/disable the step by step guidance Boolean
stop_point_search_mode Enable/disable search by stop point instead of stop area Boolean false
traffic Define Traffic module options Traffic options -
transport_networks Show/hide the public transport network Boolean false
vehicle_positions Show bus vehicle positions on roadmap Vehicle positions -
Bookmark Mode (Journey)
Name Required Description Type Example
enabled Enable/disable to add and remove an item as favorite Boolean true
display Display options of favorite items on screen Bookmark mode display options (Journey) -
Bookmark mode display options (Journey)
Name Required Description Type Example
home Display/hide favorite items on home screen Boolean true
autocompletion Display/hide favorite items on autocompletion screen Boolean true
Next departures (Journey)
Name Required Description Type Example
guidance Show/hide the next departures in the guidance screen Next departures -
journeys Show/hide the next departures in the journeys screen Next departures -
roadmap Show/hide the next departures in the roadmap screen Next departures -
Traffic options (Journey)
Name Required Description Type Example
alert_subscription Enable Traffic alert subscriptions Boolean false

Schedule features

Name Required Description Type
bookmark_mode Enable/disable the bookmarks feature Bookmark mode
go_from_go_to Show/hide the go from/go to buttons Boolean
max_history Define the max history items Int
networks_filter Show/hide the networks selector Boolean
next_departures Show/hide the next departures Next departures
traffic_mode Enable/disable the traffic feature Boolean
transport_networks Enable/disable grouping lines by network Boolean
vehicle_positions Show bus vehicle positions on map Vehicle positions
Bookmark Mode (Schedule)
Name Required Description Type Example
enabled Enable/disable to add and remove an item as favorite Boolean true
display Display options of favorite items on screen Bookmark mode display options (Schedule) -
Bookmark mode display options (Schedule)
Name Required Description Type Example
home Display/hide favorite items on home screen Boolean true

Traffic features

Name Required Description Type Example
alert_subscription Alert subscription environment configuration Alert subscription -
application_periods Show/hide the disruption application date Boolean
disruption_contributors Define the list of disruption contributors id String[] ["shortterm.tr_idfm"]
networks_filter Show/hide the networks selector Boolean
transport_networks Enable/disable showing network on lines Boolean -
Alert subscription
Name Required Description Type Example
env Kronos environment String PROD
timezone Subscriptions timezone String Europe/Paris

Common features

Next departures
Name Required Description Type Example
frequency frequency of the next departures request in seconds Int 30
Park availability
Name Required Description Type Example
frequency frequency of the bss and park availability request in seconds Int 30
Vehicle positions
Name Required Description Type Example
frequency frequency of the vehicle positions request in seconds String 30

Fonts

Name Required Type Target module
aroundme Custom font Around Me
bookmark Custom font Bookmark
journey Custom font Journey
schedule Custom font Schedule
traffic Custom font Traffic

Custom font

Name Required Description Type
numeric Custom numeric font Font category
alphanumeric Custom alphanumeric font Font category
Font category
Name Required Description Type
regular Custom numeric font for regular typeface Font Typeface
italic Custom numeric font for italic typeface Font Typeface
semi_bold Custom numeric font for semi bold typeface Font Typeface
semi_bold_italic Custom numeric font for semi bold italic typeface Font Typeface
bold Custom numeric font for bold typeface Font Typeface
bold_italic Custom numeric font for bold italic typeface Font Typeface
light Custom numeric font for light typeface Font Typeface
light_italic Custom numeric font for light italic typeface Font Typeface
Font Typeface
Name Required Description Type Platform Example
font_res The font resource name String Android source_sans_pro_semi_bold
ttf_file The TTF file name String iOS "SourceSansPro"
font_name The font name String iOS "SourceSansPro-Bold"

Line resource

Name Required Description Type Example
code Navitia line code String 1
icon_res Line icon resource id String ic_metro_1
commercial Transport commercial mode Transport Commercial Mode -

Mode resource

Name Required Description Type Example
icon_res Transport mode icon resource id String ic_bus
commercial Transport commercial mode Transport Commercial Mode -

Provider resource

Name Required Description Type Example
type_id Navitia provider type id String provider:ridesharing:lime
provider_id Navitia provider id String ridesharing_provider
icon_res Provider icon resource id String ic_lime
name_res Localized network name resource id String lime

Network resource

Name Required Description Type Example
network_id Navitia network id String network:BIL:27
name_res Localized network name resource id String sncf
icon_res Network icon resource IidD String ic_sncf

Icon resource

Name Required Type Target module
journey Journey icon resource Journey

Journey icon resource

Name Required Description Type Example
departure Departure icon resource id String ic_departure
arrival Arrival icon resource id String ic_departure
indoor_parking Indoor parking icon resource id String ic_indoor_parking
outdoor_parking Outdoor parking icon resource id String ic_outdoor_parking

Title resource

Name Required Type Target module
aroundme Around Me title resource Around Me
journey Journey title resource Journey

Around Me title resource

Name Required Description Type Example
filters Localized filters screen title resource id String filters_screen_title

Journey title resource

Name Required Description Type Example
journeys Localized journeys screen title resource id String journeys_screen_title
roadmap Localized roadmap screen title resource id String roadmap_screen_title
ridesharing Localized ridesharing screen title resource id String ridesharing_screen_title

Configuration JSON file

You can refer to the JSON file here to generate your own configuration.
Note that this is the complete version of the configuration. Remove unused objects and adapt the values as needed.

📈 Modules events tracking

The events triggered within Navitia UI modules can be traced and forwarded to the application module. Each generated event is served with other information allowing to identify the target object on the module screen.
You can refer to the table below for possible generated events.

Event name Possible object types Description
drag map, bottomSheet, chart, map The user performs a drag action
edit field The user has changed the input value of an object
pull list The user has pulled the object
tap button, item, switch, tab The user performs a tap action
scroll bottomSheet, list The user started a scroll on an object
show - A screen is displayed
swipe bottomSheet The user performs a swipe action
zoom map The user performs whether a pinch, a double tap action to zoom on an object