Developer resources

Developer API Reference

Use the ICS REST API to surface live pricing, manage reservations, and synchronize account data across your applications.

Workflow

Three-step booking flow

Every reservation follows the same cadence: price the ride, enrich the quote, then finalize the booking. Keep the session token returned from pricing as you move through the steps below.

  1. /booking/price/ - send the base itinerary (pickup/drop-off locations, datetime, passenger counts, etc.). The response returns all eligible vehicle classes and a session token representing the priced quote.
  2. /booking/details/ - reuse the token to add passenger, account, reward, stop, and payment preferences. You can call this endpoint multiple times in a single session to reflect changes made in your UI; each call updates the same quote.
  3. /booking/book/ - when all required inputs are gathered, submit the final token with billing data to create the reservation. A confirmation number is returned and can be used for passenger communications or later edits.

To modify or cancel an existing ride, submit /booking/edit/. These requests are manually reviewed by our dispatchers; pricing may change and approval is not guaranteed. Provide comprehensive context so the team can process the request as quickly as possible.

To review existing trips, call /booking/reservation/list/ and use the resulting collection to identify the reservation you need; follow up with /booking/reservation/get/ to retrieve the full payload for that confirmation before rendering it or submitting edit requests.

Quotation

Pricing & Reservation Details

Request availability, compute pricing in real time, and incrementally enrich the itinerary before booking.

POST https://www.bookalimo.com/web/api/booking/price/

Mobile integrations may provide pickupSuggestion and dropoffSuggestion instead of full location payloads.

Request

Name Type Details
credentials Required field Authentication payload.
rateType Required field int 0: Point-to-Point
1: Hourly
dateTime Required field string Pickup date and time in MM/dd/yyyy hh:mm tt format.
pickup Required field Pickup location payload.
dropoff Required field Drop-off location payload.
hours byte Required for hourly rate types.
passengers Required field byte Passenger count.
luggage Required field byte Piece of luggage count.
stops Optional stop collection.
account Travel agency or corporate account details.
passenger Passenger contact information.
rewards Reward memberships to apply.
carClassCode string Limit results to a specific vehicle class (e.g., SD).
pets byte Pet count.
carSeats byte Car seat count.
boosters byte Booster seat count.
infants byte Infant seat count.
customerComment string Additional comments for dispatch.
Sample request
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "rateType":0,
   "dateTime":"11/23/2025 01:21 AM",
   "pickup":{
      "type":1,
      "airport":{
          "iataCode": "JFK",
          "countryCode": "US",
          "stateCode": "NY",
          "airlineIataCode": "UA",
          "airlineIcaoCode": "UAL",
          "flightNumber": "UA1234",
          "terminal": "7",
          "arrivingFromCity": {
              "cityName": "Los Angeles",
              "countryCode": "US",
              "stateCode": "CA",
              "stateName": "California"
          }
      }
   },
   "dropoff":{
      "type":0,
      "address": {
          "googleGeocode": {
                "address_components" : [
                {
                    "long_name" : "53",
                    "short_name" : "53",
                    "types" : [ "street_number" ]
                },
                {
                    "long_name" : "East 34th Street",
                    "short_name" : "E 34th St",
                    "types" : [ "route" ]
                },
                {
                    "long_name" : "Manhattan",
                    "short_name" : "Manhattan",
                    "types" : [ "political", "sublocality", "sublocality_level_1" ]
                },
                {
                    "long_name" : "New York",
                    "short_name" : "New York",
                    "types" : [ "locality", "political" ]
                },
                {
                    "long_name" : "New York County",
                    "short_name" : "New York County",
                    "types" : [ "administrative_area_level_2", "political" ]
                },
                {
                    "long_name" : "New York",
                    "short_name" : "NY",
                    "types" : [ "administrative_area_level_1", "political" ]
                },
                {
                    "long_name" : "United States",
                    "short_name" : "US",
                    "types" : [ "country", "political" ]
                },
                {
                    "long_name" : "10016",
                    "short_name" : "10016",
                    "types" : [ "postal_code" ]
                },
                {
                    "long_name" : "4332",
                    "short_name" : "4332",
                    "types" : [ "postal_code_suffix" ]
                }
                ],
                "formatted_address" : "53 E 34th St, New York, NY 10016, USA",
                "geometry" : {
                "location" : {
                    "lat" : 40.7476342,
                    "lng" : -73.98192299999999
                },
                "location_type" : "ROOFTOP",
                "viewport" : {
                    "northeast" : {
                        "lat" : 40.7489831802915,
                        "lng" : -73.9805740197085
                    },
                    "southwest" : {
                        "lat" : 40.7462852197085,
                        "lng" : -73.98327198029151
                    }
                }
                },
                "place_id" : "ChIJabR2dgdZwokRkEpfPy6FtZE",
                "plus_code" : {
                "compound_code" : "P2X9+36 New York, NY, USA",
                "global_code" : "87G8P2X9+36"
                },
                "types" : [ "street_address" ]
          },
          "district": "Manhattan",
          "streetName": "East 34th Street",
          "building": "53",
          "zip": "10016"
      }      
   },
   "passengers":2,
   "luggage":3,
   "stops":[
      {
         "description":"Brooklyn Bridge",
         "isEnRoute":false
      },
      {
         "description":"Empire State Building",
         "isEnRoute":true
      }
   ],
   "account":{
      "id":"TA10007"
   },
   "pets":1,
   "carSeats":1,
   "boosters":1,
   "infants":1
}

Response

Name Type Details
token string Session token used by subsequent booking calls.
prices Price[] Available pricing options.
Sample response
{
   "token":"NdAbNwEeYM",
   "prices":[
      {
         "carClass":"SD",
         "carDescription":"Sedan Lincoln, Cadillac Or Similar",
         "maxPassengers":3,
         "maxLuggage":3,
         "price":312.82,
         "priceDefault":334.21,
         "defaultMeetGreet":2,
         "meetGreets":[
            {
               "id":2,
               "name":"Baggage Claim",
               "basePrice":7.0,
               "instructions":"Meet your chauffeur by Baggage Claim even if you do not have any luggage",
               "additional":[
                  {
                     "name":"Parking",
                     "price":10.0
                  }
               ],
               "totalPrice":17.0,
               "fees":4.39,
               "reservationPrice":334.21
            },
            {
               "id":3,
               "name":"Curb Side",
               "basePrice":0.0,
               "instructions":"Please contact our Dispatch Center upon arrival. Phone: 1-800-266-5254 SMS: 1-212-561-2600 Whatsapp: 1-929-422-2227. We monitor the flight",
               "additional":[
                  
               ],
               "totalPrice":0.0,
               "fees":0.0,
               "reservationPrice":312.81
            },
            {
               "id":5,
               "name":"International",
               "basePrice":12.0,
               "instructions":"Chauffeur will be waiting with the sign at the Outside Custom Area",
               "additional":[
                  {
                     "name":"Parking",
                     "price":10.0
                  }
               ],
               "totalPrice":22.0,
               "fees":6.37,
               "reservationPrice":341.19
            }
         ],
         "image128":"https://www.bookalimo.com/cdn/images/car/42/128.png",
         "image256":"https://www.bookalimo.com/cdn/images/car/42/256.png",
         "image512":"https://www.bookalimo.com/cdn/images/car/42/512.png"
      },
      {
         "carClass":"SUV",
         "carDescription":"Suv 5-6 Passengers Or Similar",
         "maxPassengers":6,
         "maxLuggage":6,
         "price":427.36,
         "priceDefault":448.76,
         "defaultMeetGreet":2,
         "meetGreets":[
            {
               "id":2,
               "name":"Baggage Claim",
               "basePrice":7.0,
               "instructions":"Meet your chauffeur by Baggage Claim even if you do not have any luggage",
               "additional":[
                  {
                     "name":"Parking",
                     "price":10.0
                  }
               ],
               "totalPrice":17.0,
               "fees":4.39,
               "reservationPrice":448.75
            },
            {
               "id":3,
               "name":"Curb Side",
               "basePrice":0.0,
               "instructions":"Please contact our Dispatch Center upon arrival. Phone: 1-800-266-5254 SMS: 1-212-561-2600 Whatsapp: 1-929-422-2227. We monitor the flight",
               "additional":[
                  
               ],
               "totalPrice":0.0,
               "fees":0.0,
               "reservationPrice":427.35
            },
            {
               "id":5,
               "name":"International",
               "basePrice":12.0,
               "instructions":"Chauffeur will be waiting with the sign at the Outside Custom Area",
               "additional":[
                  {
                     "name":"Parking",
                     "price":10.0
                  }
               ],
               "totalPrice":22.0,
               "fees":6.37,
               "reservationPrice":455.73
            }
         ],
         "image128":"https://www.bookalimo.com/cdn/images/car/47/128.png",
         "image256":"https://www.bookalimo.com/cdn/images/car/47/256.png",
         "image512":"https://www.bookalimo.com/cdn/images/car/47/512.png"
      }
   ]
}

Price object

Name Type Details
carClass string Vehicle class code.
carDescription string Vehicle class description.
maxPassengers byte Maximum passenger capacity.
maxLuggage byte Maximum luggage capacity.
price decimal Price without Meet & Greet.
priceDefault decimal Price including the default Meet & Greet option (if any).
image128 string 128px image URL.
image256 string 256px image URL.
image512 string 512px image URL.
defaultMeetGreet intNullable Default Meet & Greet identifier.
meetGreets MeetGreet[] Meet & Greet options available for the itinerary.

Meet & Greet option

Name Type Details
id int Meet & Greet option identifier.
name string Option display name.
basePrice decimal Base price in USD.
instructions string Passenger-facing instructions.
additional Additional charges applied with this option.
totalPrice decimal Base price plus additional charges.
fees decimal Applicable fees in USD.
reservationPrice decimal Full reservation total when this option is selected.

POST https://www.bookalimo.com/web/api/booking/details/

Call this endpoint to refine an itinerary between pricing and booking. Only non-null values are applied.

Request

Name Type Details
token Required field string Token returned from the pricing endpoint.
carClassCode string Override vehicle class for the booking.
pickup Override pickup location details.
dropoff Override drop-off location details.
stops Update stop collection.
account Account billing updates.
passenger Passenger contact updates.
rewards Reward program updates.
pets byte Update pet count.
carSeats byte Update car seat count.
boosters byte Update booster seat count.
infants byte Update infant seat count.
customerComment string Additional comments for the chauffeur.
taFee decimal Additional travel agency fee (USD) added to the reservation.
Sample request
{
    "token": "NdAbNwEeYM",
    "carClassCode": "SD",
    "pickup":{
      "type":1,
      "airport":{
          "iataCode": "JFK",
          "countryCode": "US",
          "stateCode": "NY",
          "airlineIataCode": "UA",
          "airlineIcaoCode": "UAL",
          "flightNumber": "UA1234",
          "terminal": "7",
          "meetGreet": 3,
          "arrivingFromCity": {
              "cityName": "Los Angeles",
              "countryCode": "US",
              "stateCode": "CA",
              "stateName": "California"
          }
      }
   },
    "passenger": {
        "firstName": "John",
        "lastName": "Smith",
        "email": "[email protected]",
        "phone": "+19173334455"
    },
    "rewards": [
        {
            "type": 0,
            "value": "123456789"
        }
    ],
    "customerComment": "Please have a rock music playlist"
}

Response

Name Type Details
price decimal Updated reservation total.
breakdown Charge breakdown after applying the details.
Sample response
{
   "price":312.81,
   "breakdown":[
      {
         "name":"Base Fare",
         "value":74.00,
         "isGrand":false
      },
      {
         "name":"Stops",
         "value":58.50,
         "isGrand":false
      },
      {
         "name":"Sub Total",
         "value":132.50,
         "isGrand":true
      },
      {
         "name":"Pet",
         "value":25.00,
         "isGrand":false
      },
      {
         "name":"Booster",
         "value":25.00,
         "isGrand":false
      },
      {
         "name":"Car Seat",
         "value":25.00,
         "isGrand":false
      },
      {
         "name":"Infant",
         "value":25.00,
         "isGrand":false
      },
      {
         "name":"Gratuity (20%)",
         "value":26.50,
         "isGrand":false
      },
      {
         "name":"Tolls",
         "value":10.00,
         "isGrand":false
      },
      {
         "name":"Total",
         "value":269.00,
         "isGrand":true
      },
      {
         "name":"STC Fee (12.9%)",
         "value":34.70,
         "isGrand":false
      },
      {
         "name":"NYS Fund (3%)",
         "value":9.11,
         "isGrand":false
      },
      {
         "name":"Grand Total",
         "value":312.81,
         "isGrand":true
      },
      {
         "name":"Amount Due",
         "value":312.81,
         "isGrand":true
      }
   ]
}
Finalize

Booking & Post-Booking Actions

Convert enriched quotes into live reservations, then submit structured change/cancel requests for dispatcher review.

POST https://www.bookalimo.com/web/api/booking/book/

Production requests authorize the credit card immediately; use sandbox credentials during development.

Request

Name Type Details
token Required field string Token returned from the pricing endpoint.
promo string Promo code.
method string Provide charge for charge accounts and omit creditCard.
creditCard Payment method for authorization.

Provide method for charge accounts or creditCard for payment card authorizations.

Sample request
{
    "token": "NdAbNwEeYM",
    "promo": null,
    "creditCard": {
        "number": "4184 7284 3916 0355",
        "cardHolder": "John Smith",
        "expiration": "01/28",
        "cvv": "123",
        "zip": "10000",
        "holderType": "3"
    }
}

Response

Name Type Details
reservationId string Generated confirmation number.
Sample response
{
   "reservationId":"5452773"
}

POST https://www.bookalimo.com/web/api/booking/edit/

Request

Name Type Details
credentials Required field Authentication payload.
passengerLastName string Passenger surname used for validation.
confirmation Required field string Reservation confirmation number.
isCancelRequest bool Set to true to cancel the reservation.
rateType int 0: Point-to-Point
1: Hourly
pickupDate string Updated pickup date in yyyy-MM-dd format.
pickupTime string Updated pickup time in HH:mm format.
pickupSuggestion Pickup suggestion payload for mobile integrations.
dropoffSuggestion Drop-off suggestion payload.
stops Stop collection applied to the edit request.
carClassCode string Override vehicle class for the reservation.
creditCard Payment card used for any additional authorization.
passengers byte Updated passenger count.
luggage byte Updated luggage count.
hours short Edit the hourly duration when applicable.
pets byte Updated pet count.
boosters byte Updated booster seat count.
carSeats byte Updated car seat count.
infants byte Updated infant seat count.
other string Additional change notes from the client.
Sample edit request
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "confirmation":"5452773",
   "isCancelRequest": false,
   "rateType":0,
   "pickupDate":"06/19/2024",
   "pickupTime":"08:50 PM",
   "stops":[
      {
         "description":"Brooklyn Bridge",
         "isEnRoute":false
      },
      {
         "description":"Empire State Building",
         "isEnRoute":true
      }
   ],
   "carClassCode":"SD",
   "passengers":2,
   "luggage":3,
   "pets":1,
   "boosters":1,
   "carSeats":1,
   "infants":1
}
Sample cancel request
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "confirmation":"5452773",
   "isCancelRequest": true
}

Response

Name Type Details
success bool Indicates whether the edit request was accepted.
error stringNullable Populated when the edit request fails.
Sample edit response
{
    "success": true
}
Sample cancel response
{
    "success": true
}
Account data

Reservation Retrieval

Validate credentials, view existing bookings, and determine whether a reservation supports edits.

POST https://www.bookalimo.com/web/api/booking/reservation/list/

Request

Name Type Details
credentials Required field Authentication payload.
isArchive bool Set true to retrieve archived reservations instead of upcoming rides.
Sample request
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "isArchive": false
}

Response

Name Type Details
success bool Indicates whether the provided credentials are valid.
reservations Collection of reservations matching the query.
Sample response
{
    "success": true,
    "reservations": [
        {
            "confirmationNumber": "5452655",
            "isArchive": false,
            "localDateTime": "06/20/2021 07:25 PM",
            "easternDateTime": "06/20/2021 07:25 PM",
            "rateType": 0,
            "passengerName": "John Smith",
            "pickupType": 1,
            "pickup": "JFK:DL New York, NY, US",
            "dropoffType": 0,
            "dropoff": "ICS Book A Limo office, 53 East 34th Street, Manhattan, New York, NY, US",
            "carClass": "SD"
        }
    ]
}

POST https://www.bookalimo.com/web/api/booking/reservation/get/

Request

Name Type Details
credentials Required field Authentication payload.
confirmation Required field string Reservation confirmation number.
Sample request
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "confirmation": "5452773"
}

Response

Name Type Details
reservation Booked reservation summary.
isEditable bool Shows whether the reservation can be edited via the API.
pendingChanges Pending change request, if any.
breakdown Cost breakdown for the reservation.
Sample response
{
    "reservation": {
        "confirmation": "5452773",
        "isCancelRequest": false,
        "rateType": 0,
        "pickupDate": "06/19/2024",
        "pickupTime": "07:50 PM",
        "stops": [
            {
                "description": "Brooklyn Bridge",
                "isEnRoute": false
            },
            {
                "description": "Empire State Building",
                "isEnRoute": true
            }
        ],
        "carClassCode": "SD",
        "passengers": 2,
        "luggage": 3,
        "pets": 1,
        "boosters": 1,
        "carSeats": 1,
        "infants": 1
    },
    "isEditable": true,
    "isCancellationPending": false,
    "carDescription": "Sedan Lincoln, Cadillac Or Similar",
    "cancellationPolicy": "3 Hours Before Dispatch Time (Jobs Between 1Am And 7Am Are Dispatched Before 8 Pm)",
    "pickupType": 1,
    "pickupDescription": "JFK:UA New York, NY, US",
    "dropoffType": 0,
    "dropoffDescription": "53 East 34th Street, Manhattan, New York, NY, US",
    "additionalServices": "Pet; Car Seat; Booster; Infant",
    "paymentMethod": "4184********0355",
    "breakdown": [
        {
            "name": "Base Fare",
            "value": 74.00,
            "isGrand": false
        },
        {
            "name": "Stops",
            "value": 58.50,
            "isGrand": false
        },
        {
            "name": "Sub Total",
            "value": 132.50,
            "isGrand": true
        },
        {
            "name": "Pet",
            "value": 25.00,
            "isGrand": false
        },
        {
            "name": "Car Seat",
            "value": 25.00,
            "isGrand": false
        },
        {
            "name": "Booster",
            "value": 25.00,
            "isGrand": false
        },
        {
            "name": "Infant",
            "value": 25.00,
            "isGrand": false
        },
        {
            "name": "Gratuity (20%)",
            "value": 26.50,
            "isGrand": false
        },
        {
            "name": "Tolls",
            "value": 10.00,
            "isGrand": false
        },
        {
            "name": "Total",
            "value": 269.00,
            "isGrand": true
        },
        {
            "name": "STC Fee (12.9%)",
            "value": 34.70,
            "isGrand": false
        },
        {
            "name": "NYS Fund (3%)",
            "value": 9.11,
            "isGrand": false
        },
        {
            "name": "Grand Total",
            "value": 312.81,
            "isGrand": true
        },
        {
            "name": "Amount Due",
            "value": 312.81,
            "isGrand": true
        }
    ],
    "passengerName": "John Smith",
    "pendingChanges": [
        [
            "Pick up time",
            "06/19/2024 08:50 PM"
        ]
    ]
}