Overview

The School Bus Tracking Application (SBTA) is our most complex build to date. uMove Admin serves as a unified administrative tool across all our business applications, including SBTA. If you’re on this page to explore Drivool APIs for a different use case, you’ll find that a subset of these APIs may still be applicable to your needs. We are continually enhancing our platform and workflow. If you can’t find what you’re looking for, please contact us at info@drivool.com.

Tracking Url for webview

Purpose

There could be several reasons why you might want to select a combination of vehicles along with their related objects to be displayed in a web view. This selection could serve various purposes, such as integrating it into your own webpage or mobile application, or sharing it with customers for their review or interaction.

Embed with iframe

This is available for both real-time tracking and historical tracking.

https://drivool.com/track/embed.html? g=<GAPN> &k=<API_KEY> &showonly=<COMMA_SEPARATED_ROUTE_IDS_WITH_OPTIONAL_STOP_IDS>


Note:

API_KEY can be copied from uMove Admin -> ERP interface

If “showonly” parameter is missing then map will display all vehicles.

Example 1: Display Three vehicles along with stop ids


       https://drivool.com/track/embed.html?
        g=GAPN & 
        k= API_KEY &
        showonly=route001,route002,route003
    

Example 2: Display vehicle route001 along with stops and stop with id p1 will be marked as red in pickup route and stop with id d1 will be marked as red in drop route


       https://drivool.com/track/embed.html?
        g=GAPN &
        k=API_KEY &
        showonly=route001.p1.d1
    

Example 3: Display vehicle route001 along with stops and stop with id p1 will be marked as red in pickup route


       https://drivool.com/track/embed.html?
        g=GAPN & 
        k= API_KEY &
        showonly=route001.p1
    

Example 4: Display vehicle route001 along with stops and stop with id d1 will be marked as red in drop route


       https://drivool.com/track/embed.html?
        g=GAPN & 
        k= API_KEY &
        showonly=rroute001.d1
    

Drivool uMove Admin

ERP interface

ERP interface feature is availble only in our business application customers. uMove Admin app is unversal for all our customer including retail app. In case you don't find ERP interface link, please reach us at info@drivool.com.

screenshot

1. if your wish to trigger your alert server, provide your url above at (1). Whenever vehicle approaches to any bus stop, your url will be called along with alert data as below.


{
 "gapn" : “gapn”,
 "id" : “route id”,
 “type”: 0, // 0 - pickup, 1- drop
 "stop" : “stop id”,
 "name" : “stop name”,
 "aid" : “alert id”
 "route" : “route name”,
 "fil" : “f” , // First , Intermediate, Last
 "time" : 3:54 PM, //ETA
 "epoc" : 1529576539877 //epoc time in milliseconds
 }

2. As indicated in screenshot above, you can obtain your API key from (2). API key will be required to contruct your url. This is unique key for given GAPN.

API : getTrace

Provides historical traces of vehicle movements.

Response : Array of locations representing path of vehicle movements.

https://us-central1-drivoolapis.cloudfunctions.net/getTrace?key=KKKKKKKKKKKK&gapn=GGGGGG&route=RRRRRR&date=mmddyyyy

Where

   > KKKKKKKKKKKK is API key
   > GGGGGG is GAPN
   > RRRRRR is Route id
   > mmddyyyy is date in month day year
Post body
         Nothing is passed as post body

API : getRoute

Provides route of given route id and type.

https://us-central1-drivoolapis.cloudfunctions.net/getRoute?key=KKKKKKKKKKKK&gapn=GGGGGG&route=RRRRRR&type=p

Where

> KKKKKKKKKKKK is API key
> GGGGGG is GAPN
> RRRRRR is Route id
> type is route type ( p: pickup, d: drop )

Example response:

[{"ald":1000,"id":"p0","lat":18.9801,"lng":72.83063,"tag":"Planet
Godrej","type":1},{"lat":18.98006,"lng":72.83061},{"lat":18.98006,"lng":72.83061},{"lat":18.97991,"lng":72.83116},{"lat":18.97975,"lng":72.
8317},{"lat":18.97974,"lng":72.83176},{"lat":18.97973,"lng":72.83184},{"lat":18.97973,"lng":72.8319},{"lat":18.97973,"lng":72.83198},{"lat
":18.97973,"lng":72.83198},{"lat":18.98067,"lng":72.83193},{"lat":18.98194,"lng":72.83189},{"lat":18.98621,"lng":72.83175},{"lat":18.9864
9,"lng":72.83174},{"lat":18.9866,"lng":72.83174},{"ald":1000,"id":"p3","lat":18.98671,"lng":72.83173,"tag":"LODHA
Primero","type":3},{"lat":18.98741,"lng":72.83169},{"lat":18.98844,"lng":72.83164}]

Where

ald : alert node distance from actual stop in meters
id : Stop Id
lat : latitude
lng : longitude
tag : Stop name
type : Stop type ( 1. First Stop, 2. Way point but not stop, 3/4, Intermediate pickup/drop
Stop, 5. Last Stop
Post body
         Nothing is passed as Post body

API : putRoute

Updates route of vehicles to Drivool server.

https://us-central1-drivoolapis.cloudfunctions.net/putRoute?key=KKKKKKKKKKKK&gapn=GGGGGG&route=RRRRRR&type=p

Where

> KKKKKKKKKKKK is API key
> GGGGGG is GAPN
> RRRRRR is Route id
> type is route type ( p: pickup, d: drop )
Post body
[{"ald":1000,"id":"p0","lat":18.9801,"lng":72.83063,"tag":"Planet
Godrej","type":1},{"lat":18.98006,"lng":72.83061},{"lat":18.98006,"lng":72.83061},{"lat":18.97991,"lng":72.83116},{"lat":18.97975,"lng":72.
8317},{"lat":18.97974,"lng":72.83176},{"lat":18.97973,"lng":72.83184},{"lat":18.97973,"lng":72.8319},{"lat":18.97973,"lng":72.83198},{"lat
":18.97973,"lng":72.83198},{"lat":18.98067,"lng":72.83193},{"lat":18.98194,"lng":72.83189},{"lat":18.98621,"lng":72.83175},{"lat":18.9864
9,"lng":72.83174},{"lat":18.9866,"lng":72.83174},{"ald":1000,"id":"p3","lat":18.98671,"lng":72.83173,"tag":"LODHA
Primero","type":3},{"lat":18.98741,"lng":72.83169},{"lat":18.98844,"lng":72.83164}]

Where

ald : alert node distance from actual stop in meters
id : Stop Id
lat : latitude
lng : longitude
tag : Stop name
type : Stop type ( 1. First Stop, 2. Way point but not stop, 3/4, Intermediate pickup/drop
Stop, 5. Last Stop

API : getVehicles

Provides list of vehicles with last updated timestamp.

https://us-central1-drivoolapis.cloudfunctions.net/getVehicles?key=KKKKKKKKKKKK&gapn=GGGGGG

Where

> KKKKKKKKKKKK is API key
> GGGGGG is GAPN

Example response:

{"buses":[{"busno":"","desc":"","gpstype":0,"id":"route002","mobile":"","name":"","route":"Route
2","type":3},{"busno":"","desc":"","gpstype":6,"id":"route001","mobile":"","name":"","route":"Route 1","type":3},
{"busno":"","desc":"","gpstype":0,"id":"route003","mobile":"","name":"","route":"Route 3","type":3}],
"timestamp":1528088838696}

Where

busno : Vehicle License plate no
gpstype : GPS device type
id : Route Id
mobile : Attendant mobile no
name : Attendant name
route : Route Name
type : Vehicle type
Post body
         Nothing is passed as Post body

API : putVehicles

Updates list of vehicles to Drivool server.

Post body
[{"busno":"","desc":"","gpstype":0,"id":"route002","mobile":"","name":"","route":"Route 2","type":3},
{"busno":"","desc":"","gpstype":6,"id":"route001","mobile":"","name":"","route":"Route 1","type":3},
{"busno":"","desc":"","gpstype":0,"id":"route003","mobile":"","name":"","route":"Route 3","type":3}]

Where

busno : Vehicle License plate no
gpstype : GPS device type
id : Route Id
mobile : Attendant mobile no
name : Attendant name
route : Route Name
type : Vehicle type

API : putStudents

Updates list of students to Drivool server.

Post body
[
   ["Shubham Yadav", "SR000996", "photo_url", "mobile", "tpt_r1", "Route1", "II", "B", "S001", "S001"],
   ["Maanvi Kashyap", "SR000876", "photo_url", "mobile", "tpt_r1", "Route1", "III", "A", "S002", "S002"],
   ["Om Kashyap", "SR000579", "photo_url", "mobile", "tpt_r1", "Route1", "VI", "A", "S002", "S002"]
]

Where array items are organized as below:

0 - Student Name
1 - Student Id
2 - Student photo url
3 - Parents mobile
4 - vehicle id assigned
5 - Route Name
6 - Class, 7 - Section
8- Pickup stop id,
9- Drop stop id

API : getStudents

Retrieves list of students from Drivool server.

Response
[
   ["Shubham Yadav", "SR000996", "photo_url", "mobile", "tpt_r1", "Route1", "II", "B", "S001", "S001"],
   ["Maanvi Kashyap", "SR000876", "photo_url", "mobile", "tpt_r1", "Route1", "III", "A", "S002", "S002"],
   ["Om Kashyap", "SR000579", "photo_url", "mobile", "tpt_r1", "Route1", "VI", "A", "S002", "S002"]
]

Where array items are organized as below:

0 - Student Name
1 - Student Id
2 - Student photo url
3 - Parents mobile
4 - vehicle id assigned
5 - Route Name
6 - Class, 7 - Section
8- Pickup stop id,
9- Drop stop id

API : getParents

Retrieves parents wise students data from drivool server

Response

    {
        "9873456781":{ // Parents Mobile number
            "BNPS20140020":{ // Child’s student id
                   "c":"", // Class
                   "i":"routed5_sn", // Route Id
                   "n":"Khwahish verma", // Student Name
                   "p":"http://yourschoolportal.com/student_ID_01.jpg" , //Student’s photo url
                   "r":"R-23 SN", // Route Name
                   "S":{"d":"10011700305","p":"10011700305"} // Pickup and Drop Stop ids
            }
        },
        "9873456782":{
            "BNPS20130118":{
                    "c":"",
                    "i":"route7_sn",
                    "n":"Mayank arora",
                    "p":"http://yourschoolportal.com/student_ID_02.jpg" ,
                    "r":"Sr: 7",
                    "s":{"d":"10011700120","p":"10011700120"}
            }
        }
    }

Raw Data

Drivool 890 IN is designed and manufactured in Bangalore. Our GPS offers a range of features including, but not limited to, real-time tracking, geofencing, sleep/work mode, shake sensor, and engine status monitoring. Additionally, it reports battery voltage and GSM network strength, making it an ideal choice for electric vehicles.

You can quickly build your application using our prebuilt UI, as described above. However, if you require real-time raw data instead, there are two ways to access it:

1) Direct data to your server from the device: This feature is available exclusively in our developer version. For purchasing details, please contact us at info@drivool.com.
2) Raw data from the standard "Drivool 890 IN" device: Historical raw data is available through our standard API. For real-time raw data, a dedicated instance of our server is required to push data to your server, and this option is available for orders exceeding 500 units.

Custom Firmware Development (Hardware change - out of scope)

At Drivool, we understand that every business has unique needs, and we offer custom firmware development on our hardware to meet your specific requirements. Whether you prefer to develop the firmware in-house or have us handle the development, we provide flexible options to ensure your product functions seamlessly.

Option 1: Custom Firmware Development by Drivool

Our experienced team can design and develop custom firmware tailored to your application. We will work closely with your team to understand your requirements and deliver a fully optimized solution. This option includes:

  • Comprehensive consultation and requirement analysis
  • Development of tailored firmware to meet specific needs
  • Full testing and validation to ensure compatibility
  • Ongoing support and updates

To get started or inquire further, contact us at info@drivool.com.

Option 2: Custom Firmware Development by Customer

If you prefer to develop the firmware internally, we offer developer access to enable you to create and customize the firmware as needed. Our support includes:

  • Access to necessary documentation and developer tools
  • Dedicated technical support during the development process
  • Integration assistance for smooth deployment

For more information on obtaining developer access, please reach out to us at info@drivool.com.

Whichever option you choose, Drivool is committed to providing you with the resources and support to ensure your firmware development is successful.

Custom Hardware Development Offer

At Drivool, we recognize that each project has unique hardware requirements, and we offer custom hardware development solutions to meet your specific needs. Whether you prefer to develop the hardware in-house or work with our team of experts, we provide flexible options to bring your vision to life.

Option 1: Custom Hardware Development by Drivool

Our experienced hardware engineers can design and develop custom hardware tailored to your specifications. We work closely with your team to understand your requirements and deliver fully optimized hardware solutions. This option includes:

  • Comprehensive consultation and requirement analysis
  • Custom hardware design and prototyping
  • Full testing and validation for performance and compatibility
  • Manufacturing support and post-launch services

To discuss your project or inquire further, contact us at info@drivool.com.

Option 2: Custom Hardware Development by Customer

If you prefer to handle the hardware design and development in-house, we offer developer access to the necessary tools and documentation. Our support includes:

  • Access to detailed hardware design documentation
  • Support with component selection and sourcing
  • Technical guidance during development and integration
  • Firmware development on your custom hardware
  • Assistance with testing and validation processes

For more information on obtaining developer access and hardware documentation, reach out to us at info@drivool.com.

Whether you choose to work with Drivool or develop the hardware internally, we are committed to providing you with the resources and support needed to ensure the success of your hardware development.

For any query reach at info@drivool.com