TABLE OF CONTENTS



The Booking Verification call type allows clients to initiate an AI-driven phone call to a hotel to confirm that a specific booking exists. The agent validates key reservation details such as the guest name, check-in/check-out dates to ensure they match the expected data. This call can be used for both regular overnight bookings and day-use reservations. It helps automate manual confirmation workflows and improves confidence in booking accuracy before guest arrival.



Create Call Request Schema

Your system will use this endpoint to submit new call requests to DerbySoft. To ensure successful processing:

  • All mandatory fields must be included in the request payload.
  • The check-in date must be in the future; requests with past check-in dates will be rejected.
  • Once a valid request is submitted, DerbySoft will begin initiating calls to the hotel starting five days before the check-in date.


Request (METHOD: POST)
LevelField NameNum.Occ.DatatypeFormatDescriptionExample
1purpose1object Object used to share call type data specific-
2callType1EnumBOOKING_VERIFICATIONauthorizationVerification: type of call to verify booking details as well as authorization formBOOKING_VERIFICATION
2bookingVerification1object Object use to share data about specific call ty, in this case AUTHORIZATION_VERIFICATION-
3toEmail0..1stringmin 6 char max 254 charIf reservation was delivered via email, to which email was it sentbarcelonaFrontdesk@gmail.com
3fromEmail0..1stringmin 6 char max 254 charIf reservation was delivered via email, from which email was it sentbarcelonatravel@gmail.com
3checkInTime0..1timehh:mmTime of check in, only for day use bookings10:00
3checkOutTime0..1timehh:mmTime of check out, only for day use bookings13:00
3mealPlan0..1stringMax 100 char

Meal plan included in the reservation

Room only
3roomType0..1stringMax 100 charRoom type that is booked in the reservationSingle Room
3prepaidBooking0..1Boolean

True

False

When true the agent will validate with the hotel the booking is prepaid 

When false agent will not validate with the hotel the payment status

TRUE
3requireHotelConfirmationId0..1BooleanTrue
False
When true the AI agent will ask the hotel to provide the hotel confirmation ID as part of the verification process.
When false AI agent will not ask for the hotel confirmation ID.

1recipient1object



2phoneNumber1string“+” followed by digits
Min 6 Max 20
Telephone number associated with the property. Including “+” and country code+34932952800
1callData1object-Object used to group generic call data information-
2onBehalfOrg0..1stringMax 100 charWhen provided it will be used by the AI agent that it is calling on behalf of that company.  If not provided it will use your company nameBarcelona Travel
2
property1object-Object used to share Property information-
3
name1stringMax length 200 charHotel nameW Barcelona, MGM Grand, Sun Hotel
3
distributorHotelID0..1stringMax length TBDUnique Derbysoft identifiyer for hotelABCDE
3
gdsId0..1stringMax lenght 20 charUnique GDS identifiyer for hotelWH BCN183
WH 45626
WH 101944
WH 3183
3
address1object-Object used to share address associated with the hotel.-
4
addressLine11stringMax lenght 200 charFree-form address details.Plaça Rosa Del Vents 1
4
addressLine20..1stringMax lenght 200 charFree-form address details.Final, Pg. de Joan de Borbó
4
cityName1stringMax lenght 100 charCity or town where the hotel is locatedBarcelona
4
stateProv0..1stringMax lenght 100 charState or Province name (e.g., Texas).State, province, or region name needed to identify hotel location. 
4countryISO
1stringMin 2 Max 2
ISO 3166-1 Listing Country code
ES
2guest1object-Object used to share guest details for the reservation.-
3
firstName1stringMax lenght 100 charGiven, or first, name of the guest.Leo
3
lastName1stringMax lenght 100 charFamily, or last, name of the guest.Messi
3
company0..1stringMax lenght 200 charCompany name where guest worksFCB Barcelona
2
reservation1object-Object used to share all reservation details-
3
hotelConfirmationId0..1stringMax lenght 50 charUnique identifier for the booking in distributor system012AC983
3
checkIn1dateyyyy-mm-ddCheck in date - ISO 8601. Check in date cannot be in the past.2026/5/13

checkOut1dateyyyy-mm-ddCheck out date - ISO 8601. Check out date cannot be in the past and should be greater than check in date2026/5/23



Create Call Request Example

Call Request success example with all verification parameters

{
    "purpose": {
        "callType": "BOOKING_VERIFICATION",
        "bookingVerification": {
            "deliveryMethod": "email",
            "toEmail": "barcelona@travel.com",
            "fromEmail": "reservations@barcelona.com",
            "checkOutTime": "",
            "checkInTime": ""
            "mealPlan": "Bed & Breakfast"
            "RoomType": "Superior"
            "prepaidBooking": "False"
            "requireHotelConfirmationId": "False"
        }
    },
    "recipient": {
        "phoneNumber": "+34981816978"
    },
    "callData": {
        "onBehalfOrg": "Barcelona Luxury Travel",
        "property": {
            "name": "Hilton Diagonal Mar Barcelona",
            "distributorHotelID": "",
            "gdsId": "",
            "address": {
                "addressLine1": "Pg. del Taulat, 262, 08019",
                "addressLine2": "",
                "cityName": "Barcelona",
                "stateProv": "",
                "countryISO": "ES"
            }
        },
        "guest": {
            "firstName": "Michel",
            "lastName": "Jordan",
            "company": "Chicago Bulls"
        },
        "reservation": {
            "hotelConfirmationId": "1593687456",
            "checkIn": "2026-07-16",
            "checkOut": "2026-07-17"
        }
    }
}


Call Request (day use) success example with all verification parameters

{
    "purpose": {
        "callType": "BOOKING_VERIFICATION",
        "bookingVerification": {
            "deliveryMethod": "email",
            "toEmail": "barcelona@travel.com",
            "fromEmail": "reservations@barcelona.com",
            "checkOutTime": "11:00",
            "checkInTime": "15:00"
            "mealPlan": "Room Only"
            "RoomType": "Standard"
            "prepaidBooking": "False"
            "requireHotelConfirmationId": "False"
        }
    },
    "recipient": {
        "phoneNumber": "+34981816978"
    },
    "callData": {
        "onBehalfOrg": "Barcelona Luxury Travel",
        "property": {
            "name": "Hilton Diagonal Mar Barcelona",
            "distributorHotelID": "",
            "gdsId": "",
            "address": {
                "addressLine1": "Pg. del Taulat, 262, 08019",
                "addressLine2": "",
                "cityName": "Barcelona",
                "stateProv": "",
                "countryISO": "ES"
            }
        },
        "guest": {
            "firstName": "Michel",
            "lastName": "Jordan",
            "company": "Chicago Bulls"
        },
        "reservation": {
            "hotelConfirmationId": "1593687456",
            "checkIn": "2026-07-16",
            "checkOut": "2026-07-16"
        }
    }
}


Call Request success example with only Room

{
    "purpose": {
        "callType": "BOOKING_VERIFICATION",
        "bookingVerification": {
            "deliveryMethod": "",
            "toEmail": "",
            "fromEmail": "",
            "checkOutTime": "",
            "checkInTime": ""
            "mealPlan": ""
            "RoomType": "Suite"
            "prepaidBooking": ""
        }
    },
    "recipient": {
        "phoneNumber": "+34981816978"
    },
    "callData": {
        "onBehalfOrg": "Barcelona Luxury Travel",
        "property": {
            "name": "Hilton Diagonal Mar Barcelona",
            "distributorHotelID": "",
            "gdsId": "",
            "address": {
                "addressLine1": "Pg. del Taulat, 262, 08019",
                "addressLine2": "",
                "cityName": "Barcelona",
                "stateProv": "",
                "countryISO": "ES"
            }
        },
        "guest": {
            "firstName": "Michel",
            "lastName": "Jordan",
            "company": "Chicago Bulls"
        },
        "reservation": {
            "hotelConfirmationId": "1593687456",
            "checkIn": "2026-07-16",
            "checkOut": "2026-07-17"
        }
    }
}


Call Request (day use) success example with only Time

{
    "purpose": {
        "callType": "BOOKING_VERIFICATION",
        "bookingVerification": {
            "deliveryMethod": "",
            "toEmail": "",
            "fromEmail": "",
            "checkOutTime": "15:00",
            "checkInTime": "18:30"
            "mealPlan": ""
            "RoomType": ""
            "prepaidBooking": ""
        }
    },
    "recipient": {
        "phoneNumber": "+34981816978"
    },
    "callData": {
        "onBehalfOrg": "Barcelona Luxury Travel",
        "property": {
            "name": "Hilton Diagonal Mar Barcelona",
            "distributorHotelID": "",
            "gdsId": "",
            "address": {
                "addressLine1": "Pg. del Taulat, 262, 08019",
                "addressLine2": "",
                "cityName": "Barcelona",
                "stateProv": "",
                "countryISO": "ES"
            }
        },
        "guest": {
            "firstName": "Michel",
            "lastName": "Jordan",
            "company": "Chicago Bulls"
        },
        "reservation": {
            "hotelConfirmationId": "1593687456",
            "checkIn": "2026-07-16",
            "checkOut": "2026-07-17"
        }
    }
}

Call Request error example missing mandatory field firstName

{
    "purpose": {
        "callType": "BOOKING_VERIFICATION",
        "bookingVerification": {
            "deliveryMethod": "email",
            "toEmail": "barcelona@travel.com",
            "fromEmail": "reservations@barcelona.com",
            "checkOutTime": "11:00",
            "checkInTime": "15:00"
            "mealPlan": "Room Only"
            "RoomType": "Standard"
        }
    },
    "recipient": {
        "phoneNumber": "+34981816978"
    },
    "callData": {
        "onBehalfOrg": "Barcelona Luxury Travel",
        "property": {
            "name": "Hilton Diagonal Mar Barcelona",
            "distributorHotelID": "",
            "gdsId": "",
            "address": {
                "addressLine1": "Pg. del Taulat, 262, 08019",
                "addressLine2": "",
                "cityName": "Barcelona",
                "stateProv": "",
                "countryISO": "ES"
            }
        },
        "guest": {
            "firstName": "",
            "lastName": "Jordan",
            "company": "Chicago Bulls"
        },
        "reservation": {
            "hotelConfirmationId": "1593687456",
            "checkIn": "2026-07-16",
            "checkOut": "2026-07-16"
        }
    }
}



Create Call Request Response Schema

Once a call request is submitted, DerbySoft's system will initiate a response to your system indicating whether the request was successfully parsed or if an error occurred.

  • If the request is successful, the response will include a Call Request ID.
  • This ID is essential and must be securely stored on your side.
  • You will need this ID for any future operations related to the request, such as checking the call status or canceling the call request.


HTTP Response
LevelField NameNum.Occ.DatatypeFormatDescriptionExample
1success1booleanTrue
 False
True: call request was created successfully in our system
False: call request was not created in our system
TRUE
1callRequestId0..1String16 CharUnique identifier for a call request, it must be stored to be able to request call status or cancel the call request66a1b2c3d4e5f678
1error0..1object-Object used for error description.-
2code1String100Short error descriptionBAD_REQUEST
2message1String500Long error description"Invalid request: call type cannot be empty"



Create Call Request Response Example

Call Request creation success example

{
  "success": true, 
  "callRequestId": "66a1b2c3d4e5f678" 
}

Call Request creation error example

{
  "success": false,
  "error": {
    "code": "BAD_REQUEST", 
    "message": "Invalid request: call type cannot be empty"
  }
}