Reservations list

Use this function to get a list of previously booked reservations or to validate credentials.
POST https://www.bookalimo.com/web/api/booking/reservation/list/
Request
Headers:
content-type: application/json
Parameters:
Name Data type Required Remark
credentials Credentials Yes Click here to see details.
isArchive bool No Default value is false. Set true to load archive reservations instead of upcoming.
Example request body:
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "isArchive": false
}
Example response body:
{
    "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"
        }
    ]
}
Response properties
Name Data type Nullable Remark
success bool No If true - credentials are valid.
reservations Reservation[] No Array of reservations. Can be empty, so use success property to detect if credentials are valid. Click here to see details.
error string Yes Error message if any.

Get reservation

Use this function to get full information about reservation. Use reservation property to make an edit request.
POST https://www.bookalimo.com/web/api/booking/reservation/get/
Request
Headers:
content-type: application/json
Parameters:
Name Data type Required Remark
credentials Credentials Yes Click here to see details.
confirmation string Yes Confirmation number of the reservation
Example request body:
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "confirmation": "5452773"
}
Example response body:
{
    "reservation": {
        "confirmation": "5452773",
        "isCancelRequest": false,
        "rateType": 0,
        "pickupDate": "06/19/2024",
        "pickupTime": "07:50 PM",
        "stops": [
            {
                "description": "Brooklyn Bridge",
                "minutes": 45,
                "isEnRoute": false
            },
            {
                "description": "Empire State Building",
                "minutes": 20,
                "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"
        ]
    ]
}
Response properties
Name Data type Nullable Remark
reservation EditableReservation No Reservation information that can be edited using edit request (if isEditable is true). Click here to see details.
isEditable bool No Indicates if reservation can be edited.
status int Yes Any value except null means that reservation is cancelled. Possible values:
null: active
0: No Show
1: Canceled
2: Late Cancelled
isCancellationPending bool No Indicates if reservation cancellation is pending.
carDescription string Yes Description of selected car class.
cancellationPolicy string Yes Cancellation policy for reservation.
pickupType int No 0: Address
1: Airport
2: Train Station
3: Cruise
pickupDescription string No Pick up location description
dropoffType int No 0: Address
1: Airport
2: Train Station
3: Cruise
dropoffDescription string No Drop-off location description
additionalServices string Yes Description of the additional services if any.
paymentMethod string Yes Description of the payment method(s).
breakdown BreakdownItem[] No Array of breakdown items. Click here to see details.
passengerName string Yes Full name of the passenger.
evoucherUrl string Yes Url of the evoucher (if filled up).
receiptUrl string Yes Url of the receipt (for archive reservations).
pendingChanges string[][] No Array of pending changes if any.

Get prices

POST https://www.bookalimo.com/web/api/booking/price/
Request
Headers:
content-type: application/json
Parameters:
Name Data type Required Remark
credentials Credentials Yes Click here to see details.
rateType int Yes 0: Point To Point
1: Hourly
dateTime string Yes Required format is MM/dd/yyyy hh:mm tt
pickup Location Yes Pick up location. Click here to see details.
dropoff Location Yes Drop-off location. Click here to see details.
hours byte No For hourly rateType only
passengers byte Yes Passengers quantity
luggage byte Yes Luggage quantity
stops Stop[] No Array of stops. Click here to see details.
account No Travel agency or corporate account info.
Attention: travel agencies must provide account info to get the commission.
Click to see details.
passenger Passenger No Passenger info.
Click here to see details.
rewards Reward[] No Array of reward accounts. Click here to see details.
carClassCode string No Use only if you looking for a specific car class. Example: SD.
pets byte No Pets quantity
carSeats byte No Car seats quantity
boosters byte No Boosters quantity
infants byte No Infants quantity
customerComment string No Customer comment
Example request body:
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "rateType":0,
   "dateTime":"04/22/2024 07:31 PM",
   "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":[
      {
         "minutes":45,
         "description":"Brooklyn Bridge",
         "isEnRoute":false
      },
      {
         "minutes":20,
         "description":"Empire State Building",
         "isEnRoute":true
      }
   ],
   "account":{
      "id":"TA10007"
   },
   "pets":1,
   "carSeats":1,
   "boosters":1,
   "infants":1
}
Example response body:
{
   "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"
      }
   ]
}
Response properties
Name Data type Nullable Remark
token string No Session token, use it in subsequent requests.
prices Price[] No Array of prices. See details below.
Price
Name Data type Nullable Remark
carClass string No Car class code.
carDescription string No Car class description.
maxPassengers byte No Maximum passegners quantity.
maxLuggage byte No Maximum luggage quantity.
price decimal No Price WITHOUT Meet&Greet.
priceDefault decimal No Price WITH default Meet&Greet option (if any).
image128 string No URL of car image with 128px width.
image256 string No URL of car image with 256px width.
image512 string No URL of car image with 512px width.
defaultMeetGreet int Yes Default Meet&Greet option. Can be null.
meetGreets MeetGreet No Array of available Meet&Greet options. Has options only if pick up location type is airport. See details below.
Meet&Greet
Name Data type Nullable Remark
id int No Option id. Use it to select needed Meet&Greet option.
name string No Option name.
basePrice decimal No Base price of Meet&Greet option.
instructions string No Passenger instruction for selected Meet&Greet option.
additional MeetGreetAdditional[] No Array of additional charges for selected Meet&Greet option. Can be empty. Click here to see details.
totalPrice decimal No Total price of Meet&Greet option WITHOUT fees (base price + sum of additional charges).
fees decimal No Fees amount
reservationPrice decimal No Full price of reservation if this Meet&Greet option will be selected.

Reservations details

Use this function to provide a reservation details. Can be called multiple times (for example if you have several pages with details). Only non-null values would be applied. Attention: based on a details price can be changed.
POST https://www.bookalimo.com/web/api/booking/details/
Request
Headers:
content-type: application/json
Parameters:
Name Data type Required Remark
token string Yes Token returned by price function.
carClassCode string No Car class code which present in the list returned by price function.
pickup Location No Use only if pick up location is different from that was used in price function. Most common scenario for this function is if pick up location type is airport and you need to change Meet&Greet option. Price can be affected. Click here to see details.
dropoff Location No Use only if drop-off location is different from that was used in price function. Price can be affected. Click here to see details.
stops Stop[] No Use only if value is different from that was used in price function. Price can be affected. Click here to see details.
account No Use only if value is different from that was used in price function.
Click to see details.
passenger Passenger No Use only if value is different from that was used in price function.
Click here to see details.
rewards Reward[] No Use only if value is different from that was used in price function. Click here to see details.
pets byte No Pets quantity. Usage: null: don't change; number: set new quantity. Price can be affected.
carSeats byte No Car seats quantity. Usage: null: don't change; number: set new quantity. Price can be affected.
boosters byte No Boosters quantity. Usage: null: don't change; number: set new quantity. Price can be affected.
infants byte No Infants quantity. Usage: null: don't change; number: set new quantity. Price can be affected.
customerComment string No Use only if value is different from that was used in price function.
Example request body:
{
    "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": "john@example.com",
        "phone": "+19173334455"
    },
    "rewards": [
        {
            "type": 0,
            "value": "123456789"
        }
    ],
    "customerComment": "Please have a rock music playlist"
}
Example response body:
{
   "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
      }
   ]
}
Response properties
Name Data type Nullable Remark
price decimal No Full price of reservation
breakdown BreakdownItem[] No Array of breakdown items. Click here to see details.

Book reservation

Final step of reservation booking. Requires payment info to be entered. Attention: credit card will be automatically authorized if you run this function on production server.
POST https://www.bookalimo.com/web/api/booking/book/
Request
Headers:
content-type: application/json
Parameters:
Name Data type Required Remark
token string Yes Token returned by price function.
promo string No Promo code
method string No* If your account is a charge account, put charge in this field and ignore creditCard property. Otherwise ignore this property and use creditCard instead.
creditCard CreditCard No* Credit card info. Click here to see details.
* Either CreditCard OR method must be provided.
Example request body:
{
    "token": "NdAbNwEeYM",
    "promo": null,
    "creditCard": {
        "number": "4184 7284 3916 0355",
        "cardHolder": "John Smith",
        "expiration": "01/27",
        "cvv": "123",
        "zip": "10000",
        "holderType": "3"
    }
}
Example response body:
{
   "reservationId":"5452773"
}
Response properties
Name Data type Nullable Remark
reservationId string No Confirmation number.

Edit reservation

Use this function to create an edit request. Will work only if isEditable is true (see Get reservation section). Reservation will be updated after revision, before that you can see them in pendingChanges property.
Warning: if you will submit multiple edit requests, only last one will be processed.
POST https://www.bookalimo.com/web/api/booking/edit/
Request
Headers:
content-type: application/json
Include EditableReservation in post body.
Example request body:
{
   "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",
         "minutes":45,
         "isEnRoute":false
      },
      {
         "description":"Empire State Building",
         "minutes":20,
         "isEnRoute":true
      }
   ],
   "carClassCode":"SD",
   "passengers":2,
   "luggage":3,
   "pets":1,
   "boosters":1,
   "carSeats":1,
   "infants":1
}
Example response body:
{
    "success": true
}
Cancellation
Cancellation is a part of Edit. See example:
Example request body:
{
   "credentials":{
      "id":"TA10007",
      "isCustomer":false,
      "passwordHash":"e784f281dc827fab59fd806cf01e68d872ba5b8bfa55c55bfdb937b5239f4a83"
   },
   "confirmation":"5452773",
   "isCancelRequest": true
}
Example response body:
{
    "success": true
}