Rentlz Booking management Api's - default

Created by Moveinsync Help, Modified on Fri, 8 May at 6:44 AM by Moveinsync Help

Vendor Integration API Documentation

Booking Lifecycle & Operational APIs

This document defines the complete set of APIs required for integration between the vendor platform and the MoveInSync Rentlz platform. It covers the complete booking lifecycle flow  from booking creation to trip completion and invoicing.


Overview

Purpose

These APIs enable seamless communication between MoveInSync (MIS) and vendor systems for:

  • Booking creation and management

  • Driver and cab allocation

  • Real-time tracking

  • Trip lifecycle updates

  • Billing and invoicing


End-to-End Booking Lifecycle Flow

The following sequence defines the recommended order in which APIs should be triggered during the lifecycle of a booking.

Step

API Name

Description

1

Booking Creation

Booking details are sent to the vendor once a vendor is assigned.

2

Booking Edit

Any booking modification is communicated to the vendor.

3

Booking Cancellation

Vendor is informed when a booking is cancelled.

4

Vendor Acceptance

Vendor accepts or rejects the booking request.

5

OTP Submission

Vendor shares trip sign-in and sign-out OTPs.

6

Cab Driver Allocation

Vendor shares assigned cab and driver details.

7

Duty/Trip Events

Vendor shares start/end duty and trip events.

8

Tracking

Real-time GPS tracking data is shared throughout the trip.

9

Raw Invoice Data

Vendor shares final trip and billing data after trip completion.



Base URL

https://api.moveinsync.com






Authentication

All APIs require Bearer Token authentication.

Header:

Authorization: Bearer <access_token>

Content-Type: application/json


Generate Access Token

Endpoint

POST https://api.moveinsync.com/auth/token

Description

Used to generate a JWT access token for API authentication.

Notes

  • Token validity: 24 hours

  • Production credentials will be shared separately

Request Headers

Header

Value

Username

<username>

Password

<password>




POST  Booking Creation

Vendor needs to provide their endpoints to MIS , MIS will call vendor system for this

This API serves as the primary initiation point. Once a vendor is assigned to a booking, the system MIS transmits the complete booking data to the vendor. This enables the vendor to automatically generate a corresponding record within their internal system, ensuring data synchronization from the outset. 


Field Details:

  • booker: Contains information about the person who booked the service.

    • name: The name of the booker.

    • email: Email address of the booker.

    • mobile: Mobile number of the booker.

  • bookingId: The unique identifier for the booking that is being created.

  • reason: The reason for the modification (e.g., "update pickup time," "change vehicle type").

  • spotBookings: Contains the details of the spot booking being created.

    • city: The city where the booking is taking place.

    • spotBookingType: Type of booking (e.g., Airport PickUp).

    • destinationCity: The destination city if applicable (e.g., for intercity bookings).

    • vehicleType: The type of vehicle (e.g., Mercedes C-Class).

    • reason: Reason for the specific booking (e.g., booking creation test).

    • flightDetails: Flight information if it's an airport pickup/drop booking.

    • vendor: Vendor information if applicable.

    • guardReq: Whether an escort is required or not (boolean).

    • riders: List of riders associated with the booking.

      • name: Rider’s name.

      • email: Rider’s email.

      • phoneCode: Country code for the phone number.

      • mobile: Rider’s mobile number.

  • stops: List of stops during the trip. Each stop includes:

    • address: The stop's address.

    • time: Time of the stop.  All timestamps must be sent in Epoch Milliseconds. 

    • priorityOrder: Priority order of the stop.

    • geoCord: Geographical coordinates of the stop.

    • pointType: Type of stop (e.g., "START," "END").

    • riderMailIds: List of rider emails associated with the stop (used for pickups/drops).



Bodyraw (json)

{

  "bookingId""PUN-BEN-1926-CjW2",

  "client""test-test",

  "city""Pune",

  "spotBookingType""At Disposal (8H80KM)",

  "vehicleType""Toyota Etios / Suzuki Dzire",

  "flightDetails"".",

  "guardReq": false,

  "requester": {

    "name""Raghuram V",

    "email""dummy@abc.com",

    "mobile""1234567890",

    "uniqueRiderId"0

  },

  "booker": {

    "name""Raghuram V",

    "email""dummy@abc.com",

    "mobile""1234567890",

    "uniqueRiderId"0

  },

  "stops": [

    {

      "address""Hyatt Pune, Pune Nagar Road, adjacent to Aga Khan Palace, Kalyani Nagar, Pune, Maharashtra, India",

      "time"1778124600000,

      "priorityOrder"1,

      "geoCord""18.554144,73.904842",

      "landmark""",

      "pointType""START",

      "riders": [

        {

          "boardingType""PickUp",

          "name""Raghuram V",

          "email""dummy@abc.com",

          "mobile""1234567890",

          "emplGuid""",

          "phoneCode""+91",

          "gender""Male",

          "uniqueRiderId"0

        }

      ]

    },

    {

      "address""Hyatt Pune, Pune Nagar Road, adjacent to Aga Khan Palace, Kalyani Nagar, Pune, Maharashtra, India",

      "time"1778124600000,

      "priorityOrder"2,

      "geoCord""18.554144,73.904842",

      "landmark""",

      "pointType""",

      "riders": []

    },

    {

      "address""Hyatt Pune, Pune Nagar Road, adjacent to Aga Khan Palace, Kalyani Nagar, Pune, Maharashtra, India",

      "time"1778124600000,

      "priorityOrder"3,

      "geoCord""18.554144,73.904842",

      "landmark""",

      "pointType""END",

      "riders": [

        {

          "boardingType""Drop",

          "name""Raghuram V",

          "email""dummy@abc.com",

          "mobile""1234567890",

          "emplGuid""",

          "phoneCode""+91",

          "gender""Male",

          "uniqueRiderId"0

        }

      ]

    }

    ]

}





POST  Booking Edit

Vendor needs to provide their endpoints to MIS , MIS will call vendor system for this

To maintain data integrity during the pre-trip phase, any modifications made by the user to an existing booking are synchronized through this endpoint. The updated information is passed on to the vendor by using this API to ensure their dispatch records reflect the most recent requirements. 


  • modifier: Email address of the user requesting the edit.

  • bookingId: Unique MoveInSync booking ID to be edited.

  • reason: Reason provided for the edit (e.g., "change of plan", etc.).


Bodyraw (json)


{

  "bookingId""BLR-BEN-1926-ty6F",

  "client""test-test",

  "city""Bengaluru",

  "spotBookingType""At Disposal (8H80KM)",

  "vehicleType""Honda City / Maruti Ciaz",

  "reason""",

  "flightDetails""NA",

  "guardReq": false,

  "modifier": {

    "uniqueRiderId"0

  },

  "stops": [

    {

      "address""13th Cross Road, BEL Layout 1st Block, BEL Layout, Vidyaranyapura, Bengaluru, Karnataka 560097, India",

      "time"1778133600000,

      "priorityOrder"1,

      "geoCord""13.073072,77.552497",

      "landmark""344Kalpavruksha 13th cross 3rd block 4th main BEL Layout Vidyaranyapura Bengaluru 560097",

      "pointType""START",

      "riders": [

        {

          "boardingType""PickUp",

          "name"" Iyer",

          "email""yer@abc.com",

          "mobile""1234567890",

          "emplGuid""",

          "phoneCode""+91",

          "gender""Male",

          "uniqueRiderId"0

        }

      ]

    },

    {

      "address""Bangalore, Karnataka, India",

      "time"1778136435000,

      "priorityOrder"2,

      "geoCord""12.962896,77.57754",

      "landmark""AT DISPOSAL",

      "pointType""END",

      "riders": [

        {

          "boardingType""Drop",

          "name"" Iyer",

          "email""yer@abc.com",

          "mobile""1234567890",

          "emplGuid""",

          "phoneCode""+91",

          "gender""Male",

          "uniqueRiderId"0

        }

      ]

    }

}





POST   Booking Cancellation
Vendor needs to provide their endpoints to MIS , MIS will call vendor system for this 

In the event of a cancellation, this API provides immediate notification to the vendor. The updated status is passed on to the vendor by using this API to facilitate the immediate release of reserved resources and prevent unnecessary vehicle movement. 

Field Details:

  • modifier: Email address of the user requesting the cancellation.

  • bookingId: Unique MoveInSync booking ID to be canceled.

  • reason: Reason provided for the cancellation (e.g., "change of plan", "duplicate booking", etc.).


Bodyraw (json)


{

  "bookingId""HYD-KOLD-XXXX-KYCD",

  "modifier""sharma@abc.com",

   "reason""test",

  "client""test-test"

}





POST  Vendor Acceptance

https://api.moveinsync.com/integration/{{pwcindia-PWCINDIA}}/rentlz/booking/status

This feedback loop is utilized for the vendor to communicate their capability to fulfill a request. When a vendor has either accepted or rejected a booking, the confirmation details are passed through this API to update the primary system's allocation status. 

Status can have the following values:

  • ACCEPT: Indicates that the booking has been accepted.

  • DENY: Indicates that the booking has been rejected.

HEADERS

Authorization

Bearer {{access_token}}

Bodyraw (json)


{

  "bookingId""HYD-CHE-1111-WM7L",

  "status""ACCEPT",

  "client""test-test"

}



POST  OTP

https://api.moveinsync.com/integration/{{pwcindia-PWCINDIA}}/rentlz/booking/otp

The vendor shares unique One-Time Passwords (OTPs) through this API to be used for the signin and signout procedures of the trip. These credentials must be shared before the final allocation is completed. 


  • signInOtp is the OTP used to verify the start of the trip.

  • signOutOtp is the OTP used to verify the end of the trip.

  • If the same OTP is used for both sign-in and sign-out, repeat the same value in both fields.

HEADERS

Authorization

Bearer {{access_token}}

Bodyraw (json)


{

  "bookingId""MUM-ind-1826-FSXW",

  "signInOtp""1234",

  "singOutOtp""5678"

"client""test-test"

}



POST  Cab Driver Allocation

https://api.moveinsync.com/integration/{{pwcindia-PWCINDIA}}/rentlz/booking/assign/cab-driver

This API allows the vendor to send the cab and driver details assigned to a specific booking. The provided information includes the booking ID, the registration number of the cab, the driver's name and mobile number, as well as the type of cab assigned. This ensures that the system receives accurate details about the cab and driver to further transmit this information to the riders.

HEADERS

Authorization

Bearer {{access_token}}

Bodyraw (json)



{

  "bookingId""KOL-PORA-1926-QFC8",

  "cabRegNo""KA05A 1542",

  "driverName""Ankit",

  "driverMobile""1234567890",

  "cabType""TOYOTA CRYSTA",

  "client""test-test"

}




POST   Duty-Trip Details

https://api.moveinsync.com/integration/{{pwcindia-PWCINDIA}}/rentlz/booking/start-end

This API is used to log a driver-related event (such as duty start/end or trip start/end) for a given booking. Each event submission includes the location coordinates and timestamp of when the event occurred.

Field Details:

  • lat: Latitude where the event was recorded.

  • lang: Longitude where the event was recorded.

  • time: Timestamp of the event in epoch milliseconds.

  • eventName: Name of the event being logged. Must be one of the following:

    • startDuty

    • startTrip

    • endTrip

    • endDuty

Notes:

  • The API ensures accurate tracking of a driver's duty and trip lifecycle.

  • Make sure the eventName matches one of the allowed values to avoid validation errors.

  • time should be sent in epoch milliseconds format (e.g., 1713703420000).

HEADERS

Authorization

Bearer {{access_token}}

Bodyraw (json)


{

  "bookingId""DEL-KOLY-1926-1234",

  "lat""28.6001017",

  "lang""77.10281",

  "time"1778051915000,

  "eventName""endDuty",

  "client""test-test"

}





POST    Tracking

https://api.moveinsync.com/integration/{{pwcindia-PWCINDIA}}/rentlz/booking/track

This API is used to send real-time tracking updates for a booking, including vehicle location, movement data (bearing, speed, accuracy), and event type. This enables precise monitoring of the vehicle throughout its journey.

Field Details:

  • mBearing: Direction in degrees the vehicle is moving.

  • mSpeed: Speed of the vehicle (usually in m/s or km/h).

  • mStep: Motion step or change in movement (custom logic defined by client, optional meaning).

  • mAccuracy: Accuracy of the geolocation coordinates (in meters).

  • type: Type of tracking event. Must be one of:

    • dispatch: Driver starts from the garage to reach the pickup point.

    • arrived: Cab has arrived at the pickup location.

    • pickup: Ongoing trip between pickup and drop point.

    • drop: Cab has reached the final drop/destination.

  • time: Epoch time in milliseconds when the data was captured.

  • latitude: Latitude coordinate of the vehicle.

  • longitude: Longitude coordinate of the vehicle.

HEADERS

Authorization

Bearer {{access_token}}

Bodyraw (json)


{

  "bookingId""{{MoveInSync Booking ID}}",

  "mBearing": {{Bearing}},

  "mSpeed": {{Speed}},

  "mStep": {{Step}},

  "mAccuracy": {{Accuracy}},

  "type""{{Type}}",

  "time": {{Time}},

  "latitude": {{Latitude Geocord}},

  "longitude": {{Longitude Geocord}},

  "client""{test-test}}"

}


POST    Raw Invoice Data

https://api.moveinsync.com/integration/{{pwcindia-PWCINDIA}}/rentlz/booking/raw-invoicing-data

This API is used to submit raw invoicing data associated with a specific booking. The data includes trip information such as the distance traveled, time taken, and driver-related information like the number of driver day and night batches.

Explanation of Request Body Fields:

  • bookingId: Unique identifier for the booking (e.g., B230411-Z8MA).

  • tripKm: Total distance of the trip in kilometers.

  • tripHr: Total time of the trip in hours.

  • driverDayBataCount: Number of driver day batches (per day).

  • driverNightBataCount: Number of driver night batches.

  • garageToPickupKm: Distance in kilometers from the garage to the pickup point.

  • dropToGarageKm: Distance in kilometers from the drop-off point to the garage.

  • garageHr: Number of hours spent at the garage.

  • waitingTime: Waiting time in hours.

  • escortFareApplicable: Boolean flag indicating if an escort fare is applicable.

  • numberOfDays: Total number of days for the trip.

  • legs: Array of legs, each representing a segment of the trip. Each leg contains:

  • legDistance: Distance of the leg in kilometers.

  • legStartTime: Start time of the leg in milliseconds (Unix epoch time).

  • legEndTime: End time of the leg in milliseconds (Unix epoch time).

HEADERS

Authorization

Bearer {{access_token}}

Bodyraw (json)

Raw invoice data for any booking type but not an outstation 


{

  "bookingId""KOL-GUR-0826-1234",

  "tripKm"35,

  "tripHr"4.4166665,

  "driverDayBataCount"0,

  "driverNightBataCount"0,

  "garageToPickupKm"10,

  "dropToGarageKm"10,

  "garageHr"1,

  "waitingTime"0,

  "escortFareApplicable": false,

  "numberOfDays"0,

  "client""test-test"



Raw booking data for outstation booking type

The difference is that for outstations the bookings can go for more than one day , hence the vendor needs to send each day data in legs. 


{

  "bookingId""GGN-GUR-1426-UOG4",

  "tripKm"414.0,

  "tripHr"10.833333,

  "driverDayBataCount"1.0,

  "driverNightBataCount"0.0,

  "garageToPickupKm"6.0,

  "dropToGarageKm"6.0,

  "garageHr"2.0,

  "waitingTime"0.0,

  "escortFareApplicable": false,

  "numberOfDays"1,

  "client""pwcindia-PWCINDIA",

  "legs": [

    {

      "legDistance"414.0,

      "legStartTime"1775007000000,

      "legEndTime"1775049600000

    }

  ]

}








Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article