Πίσω στους AI Agents

Τεκμηρίωση API

Πλήρης αναφορά για το LockTrip Hotel Booking MCP API. 15 εργαλεία για αναζήτηση, κράτηση, πληρωμή και διαχείριση.

Πιστοποίηση

Το API χρησιμοποιεί Bearer JWT tokens. Τα εργαλεία αναζήτησης και περιήγησης δεν απαιτούν πιστοποίηση. Τα εργαλεία κράτησης και διαχείρισης απαιτούν έγκυρο token.

Λήψη Token

Χρησιμοποιήστε guest_login (μόνο email, άμεσα) ή login (email + κωδικός) για να αποκτήσετε JWT token.

Χρήση του Token

Authorization: Bearer eyJhbGciOiJIUzUxMiJ9...

Κατηγοριοποίηση Εργαλείων

Δημόσιο (χωρίς πιστοποίηση)Με πιστοποίηση (Bearer token)
search_location, hotel_search,
get_search_results, get_hotel_rooms,
get_hotel_details,
check_cancellation_policy,
login, guest_login
prepare_booking, confirm_booking,
create_checkout, get_payment_url,
list_bookings, get_booking_details,
cancel_booking

Βασικό URL & Μεταφορές

Όλα τα endpoints εξυπηρετούνται από https://locktrip.com/mcp/. Υποστηρίζονται τρεις τρόποι μεταφοράς:

ΜεταφοράΜέθοδοςEndpoint
RESTPOSThttps://locktrip.com/mcp/tools/{tool_name}
JSON-RPC 2.0POSThttps://locktrip.com/mcp/rpc
SSEGEThttps://locktrip.com/mcp/sse

Discovery Endpoints

URLΠεριγραφή
GET /mcp/openapi.jsonOpenAPI 3.1 specification
GET /mcp/toolsΛίστα όλων των εργαλείων με schemas
GET /mcp/discoveryΈγγραφο ανακάλυψης MCP

Content-Type: application/json για όλα τα αιτήματα POST.

Διαχείριση Σφαλμάτων

Σφάλματα REST

ΚατάστασηΣημασία
200Επιτυχία
400Σφάλμα επικύρωσης (λάθος είσοδος)
401Ελλιπές ή μη έγκυρο Bearer token
404Άγνωστο όνομα εργαλείου
429Υπέρβαση ορίου αιτημάτων

Σφάλματα JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32001,
    "message": "Authentication required for this tool.",
    "data": {
      "loginUrl": "https://users.locktrip.com/api/auth/login",
      "signupTool": "guest_login"
    }
  }
}
ΚωδικόςΣημασία
-32600Μη έγκυρο αίτημα JSON-RPC
-32601Άγνωστο εργαλείο / μέθοδος δεν βρέθηκε
-32001Απαιτείται πιστοποίηση ή μη έγκυρο token
-32007Υπέρβαση ορίου αιτημάτων
-32603Εσωτερικό σφάλμα server

Όρια Αιτημάτων

Κυλιόμενα όρια αιτημάτων ανά IP (ανώνυμα) ή ανά αναγνωριστικό χρήστη (πιστοποιημένα). Η υπέρβαση ορίων επιστρέφει HTTP 429 ή κωδικό σφάλματος JSON-RPC -32007.

ΕργαλείοΑνώνυμοςΠιστοποιημένος
hotel_search5/ λεπτό20/ λεπτό
Όλα τα υπόλοιπα εργαλεία30/ λεπτό120/ λεπτό

Αναφορά Εργαλείων

15 εργαλεία σε προτεινόμενη σειρά ροής εργασίας.

search_location

Δημόσιο

Αναζήτηση τοποθεσιών (πόλεις, περιοχές, ξενοδοχεία) για λήψη αναγνωριστικών για αναζήτηση ξενοδοχείων. Επιστρέφει αντιστοιχίες με τύπο και πλήρες όνομα.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
querystringYesSearch query (city name, region, or hotel name)
languagestringNoLanguage code (default: "en")

Απάντηση

ΠεδίοΤύποςΠεριγραφή
locationsLocation[]Array of matching locations
locations[].idstringLocation ID (use as regionId in hotel_search)
locations[].namestringLocation name
locations[].typestringLocation type (e.g., "CITY")
locations[].fullNamestringFull location name with country
locations[].countrystringCountry name
totalCountnumberTotal number of matches returned

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/search_location \
  -H "Content-Type: application/json" \
  -d '{"query": "Paris"}'

# Response (200 OK):
{
  "locations": [
    {
      "id": "5f078e431fd614748f9037f9",
      "name": "Paris, France",
      "country": "",
      "type": "CITY",
      "fullName": "Paris, France"
    },
    {
      "id": "5f080b92b8f3040a9045c3e8",
      "name": "Disneyland Paris, Boulevard de Parc, Coupvray, France",
      "country": "",
      "type": "CITY",
      "fullName": "Disneyland Paris, Boulevard de Parc, Coupvray, France"
    }
  ],
  "totalCount": 10
}

get_search_results

Δημόσιο

Λήψη σελιδοποιημένων αποτελεσμάτων αναζήτησης. Κάντε polling μέχρι το searchStatus να γίνει "COMPLETED". Υποστηρίζει φιλτράρισμα κατά τιμή, αστέρια, παροχές και τύπους γευμάτων. Ταξινόμηση κατά τιμή, βαθμολογία ή απόσταση.

Ανάλυση Τιμών

Κάθε αποτέλεσμα ξενοδοχείου περιλαμβάνει discountScore — τη βαθμολογία μηχανικής μάθησης του LockTrip που υπολογίζει πόσο φθηνότερη είναι η προσφορά σε σύγκριση με άλλους ταξιδιωτικούς ιστότοπους. Το μοντέλο V8 ML αναλύει δεδομένα τιμών σε πραγματικό χρόνο από πολλαπλούς προμηθευτές για πρόβλεψη εξοικονομήσεων. Χρησιμοποιήστε minPrice (τιμή LockTrip) και originalPrice (τελευταία καλύτερη τιμή σε ανταγωνιστές) μαζί με discountScore για τις καλύτερες προσφορές.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
searchKeystringYesSearch key from hotel_search
pagenumberNoPage number, 0-indexed (default: 0)
sizenumberNoResults per page (default: 100, max: 5000)
currencystringNoCurrency code from hotel_search
sortBystringNoPRICE_ASC, PRICE_DESC, RATING_DESC, or DISTANCE
filtersobjectNoOptional filters (see below)
filters.minPricenumberNoMinimum price
filters.maxPricenumberNoMaximum price
filters.starRatingsnumber[]NoStar ratings to include (1-5)
filters.amenitiesstring[]NoRequired amenities
filters.mealTypesstring[]NoRequired meal types
filters.hotelNamestringNoHotel name search

Απάντηση

ΠεδίοΤύποςΠεριγραφή
hotelsHotel[]Array of matching hotels
hotels[].hotelIdstringHotel ID (use in get_hotel_rooms, get_hotel_details)
hotels[].namestringHotel name
hotels[].starRatingnumberStar rating (1-5)
hotels[].addressstringStreet address
hotels[].latitudenumberLatitude coordinate
hotels[].longitudenumberLongitude coordinate
hotels[].imagesstring[]Hotel image URLs
hotels[].amenitiesstring[]Available amenities
hotels[].minPricenumberLockTrip's price for this hotel (lowest available rate)
hotels[].originalPricenumberLast best price found on competing travel websites (e.g. Booking.com, Expedia). When equal to minPrice, no discount was detected.
hotels[].currencystringPrice currency code
hotels[].discountScorenumberLockTrip's proprietary machine learning score (0-10) indicating how much cheaper this offer is compared to other travel websites. Powered by a V8 ML model that analyzes real-time pricing data from multiple hotel suppliers. Higher scores = bigger savings vs competitors. A score of 0 means no significant discount was detected.
hotels[].qualitynumberOverall quality score (0-1) combining star rating, reviews, amenities, and other factors
hotels[].reviewScorenumberGuest review score (0-10)
hotels[].reviewCountnumber|nullNumber of guest reviews
hotels[].hasFreeCancellationbooleanWhether any room has free cancellation
hotels[].isRefundablebooleanWhether any room is refundable
hotels[].refundableUntilstring|nullISO date until which free cancellation is available
hotels[].paymentstringPayment type (e.g., "Cash")
hotels[].distancenumberDistance from search center (km)
hotels[].boardTypestring|nullDefault board type
hotels[].availableMealTypesstring[]Available meal types
totalCountnumberTotal hotels matching search
pagenumberCurrent page number
pageSizenumberResults per page
hasMorebooleanWhether more pages are available
searchStatusstring"IN_PROGRESS" or "COMPLETED"

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/get_search_results \
  -H "Content-Type: application/json" \
  -d '{
    "searchKey": "47de06e3262ea3822bdc384a04470783",
    "page": 0,
    "size": 2
  }'

# Response (200 OK):
{
  "hotels": [
    {
      "hotelId": "4703420",
      "name": "Premiere Classe Boissy Saint Leger",
      "starRating": 1,
      "address": "P.A De La Haie Griselle 4 Rue Pompadour, Boissy-Saint-Leger",
      "latitude": 48.759967,
      "longitude": 2.501443,
      "images": [
        "https://imagecontent.net/images/full/5a0d94a0-5f7e-4e4e-b457-5e0673a96a95.jpeg"
      ],
      "amenities": ["Family rooms", "Free Wifi", "Parking", "Air conditioning"],
      "minPrice": 71.51,
      "originalPrice": 71.51,
      "currency": "EUR",
      "discountScore": 0,
      "quality": 0.19,
      "reviewScore": 2.5,
      "reviewCount": null,
      "hasFreeCancellation": false,
      "isRefundable": false,
      "refundableUntil": null,
      "payment": "Cash",
      "distance": 15.32,
      "boardType": null,
      "availableMealTypes": []
    }
  ],
  "totalCount": 2403,
  "page": 1,
  "pageSize": 2,
  "hasMore": true,
  "searchStatus": "COMPLETED"
}

get_hotel_rooms

Δημόσιο

Λήψη διαθέσιμων πακέτων δωματίων για συγκεκριμένο ξενοδοχείο. Επιστρέφει quoteIds για κράτηση. Κάθε πακέτο περιλαμβάνει τιμή, τύπο γεύματος, παροχές και πληροφορίες ακύρωσης.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
hotelIdstringYesHotel ID from search results
searchKeystringYesSearch key from hotel_search
startDatestringYesCheck-in date (YYYY-MM-DD)
endDatestringYesCheck-out date (YYYY-MM-DD)
roomsRoom[]YesRoom occupancy (same as hotel_search)
nationalitystringYes2-letter country code
regionIdstringYesRegion ID from search_location
currencystringNoCurrency code (default: "USD")

Απάντηση

ΠεδίοΤύποςΠεριγραφή
hotelIdstringHotel ID
hotelNamestringHotel name
checkInstringCheck-in date (YYYY-MM-DD)
checkOutstringCheck-out date (YYYY-MM-DD)
packagesPackage[]Available room packages
packages[].quoteIdstringQuote ID (use in prepare_booking)
packages[].packageIdstringPackage identifier
packages[].roomNamestringRoom type name (e.g., "Standard, 3 Beds")
packages[].roomDescriptionstringHTML description of room features
packages[].mealTypestring"Room Only", "Breakfast Included", etc.
packages[].mealDescriptionstringMeal plan description
packages[].maxOccupancynumberMaximum guests per room
packages[].amenitiesstring[]Room amenities list
packages[].pricenumberTotal price for all nights
packages[].currencystringPrice currency
packages[].pricePerNightnumberPrice per night
packages[].totalNightsnumberNumber of nights
packages[].isRefundablebooleanWhether room is refundable

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/get_hotel_rooms \
  -H "Content-Type: application/json" \
  -d '{"hotelId":"4384127","searchKey":"47de06e3262ea3822bdc384a04470783","startDate":"2026-04-15","endDate":"2026-04-17","rooms":[{"adults":2}],"nationality":"US","regionId":"5f078e431fd614748f9037f9","currency":"EUR"}'

# Response (200 OK):
{
  "hotelId": "4384127",
  "hotelName": "",
  "checkIn": "2026-04-15",
  "checkOut": "2026-04-17",
  "packages": [
    {
      "quoteId": "3e242771-1c15-4356-9a3b-1cd4bfc6d9fc_4384127",
      "packageId": "3e242771-1c15-4356-9a3b-1cd4bfc6d9fc_4384127",
      "roomName": "Standard, 3 Beds",
      "mealType": "Room Only",
      "price": 71.34,
      "currency": "EUR",
      "pricePerNight": 35.67,
      "totalNights": 2,
      "isRefundable": false
    }
  ]
}

get_hotel_details

Δημόσιο

Λήψη αναλυτικών πληροφοριών ξενοδοχείου, συμπεριλαμβανομένων περιγραφής, παροχών, κριτικών, φωτογραφιών και τοποθεσίας. Χρησιμοποιήστε μετά την αναζήτηση για πλήρη ενημέρωση πριν την κράτηση.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
hotelIdnumberYesHotel ID (numeric, from search results)
languagestringNoLanguage code (default: "en")
includeImagesbooleanNoFetch additional images (default: false)
imageLimitnumberNoMax additional images (default: 20, max: 100)

Απάντηση

ΠεδίοΤύποςΠεριγραφή
hotelobjectHotel details object
hotel.idnumberHotel ID
hotel.namestringHotel name
hotel.countrystringCountry
hotel.citystringCity
hotel.starnumberStar rating (1-5)
hotel.addressstringStreet address
hotel.latitudenumberLatitude
hotel.longitudenumberLongitude
hotel.descriptionstringHTML description with sections
hotel.phonestring|nullPhone number
hotel.hotelPhotosPhoto[]Photo URLs (relative paths)
hotel.reviewsobjectReview summary with score, count, keywords
hotel.hotelAmenitiesCategory[]Amenities grouped by category
additionalImagesPhoto[]Extra images (if includeImages=true)

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/get_hotel_details \
  -H "Content-Type: application/json" \
  -d '{"hotelId": 4384127}'

# Response (200 OK):
{
  "hotel": {
    "id": 4384127,
    "name": "Premiere Classe Plaisir",
    "country": "France",
    "city": "Plaisir",
    "star": 1,
    "address": "Za De Sainte Apolline Rue Des Poiriers",
    "description": "<h2>Hotel Details</h2><p>Property Location...</p>",
    "hotelPhotos": [{"url": "/gmx/full/d174a039-ebf9-4e42-8b42-5e31a6950b0e.jpeg"}],
    "reviews": {"scoreSummary": 0, "reviewsCount": 0, "keyWords": []},
    "hotelAmenities": [{"categoryName": "Hotel Facilities & Services", "features": [{"name": "Free Wifi"}]}]
  }
}

check_cancellation_policy

Δημόσιο

Λήψη αναλυτικής πολιτικής ακύρωσης για πακέτα δωματίων. Εμφανίζει προθεσμία δωρεάν ακύρωσης και ποινές ανά εύρος ημερομηνιών.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
searchKeystringYesSearch key from hotel_search
hotelIdstringYesHotel ID
packageIdsstring[]YesPackage IDs to check (from get_hotel_rooms)

Απάντηση

ΠεδίοΤύποςΠεριγραφή
hotelIdstringHotel ID
policiesPolicy[]Cancellation policy per package
policies[].packageIdstringPackage identifier
policies[].isRefundablebooleanWhether package is refundable
policies[].freeCancellationUntilstring|nullLast date for free cancellation (YYYY-MM-DD)
policies[].feesFee[]Cancellation penalty fees
policies[].fees[].fromDatestringPenalty period start (YYYY-MM-DD)
policies[].fees[].toDatestring|nullPenalty period end
policies[].fees[].amountnumberPenalty amount
policies[].fees[].currencystringCurrency code
policies[].fees[].percentagenumber|nullPercentage of booking price
policies[].remarksstring[]|nullAdditional policy notes

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/check_cancellation_policy \
  -H "Content-Type: application/json" \
  -d '{"searchKey":"47de06e3262ea3822bdc384a04470783","hotelId":"4384127","packageIds":["e3fca710-0a05-4b96-a472-a93c941a58fc_4384127"]}'

# Response (200 OK):
{
  "hotelId": "4384127",
  "policies": [{
    "packageId": "e3fca710-0a05-4b96-a472-a93c941a58fc_4384127",
    "isRefundable": true,
    "freeCancellationUntil": "2026-04-13",
    "fees": [{"fromDate":"2026-04-13","toDate":"2026-04-15","amount":77.53,"currency":"EUR","percentage":100}],
    "remarks": ["Room: Standard, 3 Beds", "Board: Room Only"]
  }]
}

guest_login

Δημόσιο

Εγγραφή ή σύνδεση ως επισκέπτης μόνο με email. Επιστρέφει Bearer token για εργαλεία με πιστοποίηση. Οι νέοι χρήστες λαμβάνουν email επαλήθευσης και μπορούν να ορίσουν κωδικό αργότερα.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
emailstringYesUser email address

Απάντηση

ΠεδίοΤύποςΠεριγραφή
tokenstringJWT Bearer token for authenticated API calls
userIdnumberNumeric user ID
emailstringUser email address
isNewUserbooleanWhether a new account was created

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/guest_login \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

# Response (200 OK):
{"token":"eyJhbGciOiJIUzUxMiJ9...","userId":413900,"email":"[email protected]","isNewUser":true}

login

Δημόσιο

Σύνδεση με email και κωδικό για λήψη Bearer token. Για εγγεγραμμένους χρήστες με επιβεβαιωμένους λογαριασμούς.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
emailstringYesUser email address
passwordstringYesUser password

Απάντηση

ΠεδίοΤύποςΠεριγραφή
tokenstringJWT Bearer token for authenticated API calls
userIdnumberNumeric user ID
emailstringUser email address

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/login \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","password":"yourpassword"}'

# Response (200 OK):
{"token":"eyJhbGciOiJIUzUxMiJ9...","userId":12345,"email":"[email protected]"}

prepare_booking

Απαιτείται Πιστοποίηση

Δημιουργία κράτησης με στοιχεία επισκέπτη. Επιστρέφει preparedBookingId για επιβεβαίωση. Η κράτηση λήγει μετά από περίπου 15 λεπτά. Ο αριθμός επισκεπτών ανά δωμάτιο πρέπει να αντιστοιχεί στον αριθμό ενηλίκων της αναζήτησης.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
quoteIdstringYesQuote ID from get_hotel_rooms
searchKeystringNoSearch key (validates cancellation policy)
roomsRoom[]YesGuest assignments per room
rooms[].roomIndexnumberYesRoom index (0-based)
rooms[].guestsGuest[]YesAdult guests in this room
rooms[].guests[].firstNamestringYesFirst name
rooms[].guests[].lastNamestringYesLast name
rooms[].guests[].titlestringNo"Mr", "Mrs", or "Ms" (default: "Mr")
rooms[].guests[].emailstringNoEmail address
rooms[].guests[].phonestringNoPhone number
rooms[].guests[].isLeadGuestbooleanNoWhether this is the lead guest
rooms[].childrenChild[]NoChildren in this room
rooms[].children[].firstNamestringYesFirst name
rooms[].children[].lastNamestringYesLast name
rooms[].children[].agenumberYesChild age (0-17)
contactPersonobjectYesContact person details
contactPerson.firstNamestringYesFirst name
contactPerson.lastNamestringYesLast name
contactPerson.emailstringYesEmail address
contactPerson.phonestringYesPhone number (min 5 chars)
contactPerson.titlestringNo"Mr", "Mrs", or "Ms"
contactPerson.countryCodestringNo2-letter country code
specialRequestsstringNoSpecial requests for the hotel

Απάντηση

ΠεδίοΤύποςΠεριγραφή
preparedBookingIdstringBooking ID for confirm_booking
bookingInternalIdstringInternal booking identifier
pricenumberTotal price
currencystringPrice currency
paymentstringPayment type (e.g., "Cash")
discountobjectDiscount details (amount, currency)
taxesTax[]Itemized taxes and fees
essentialInformationstring[]Check-in instructions, mandatory fees, policies

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/prepare_booking \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{"quoteId":"3e242771-1c15-4356-9a3b-1cd4bfc6d9fc_4384127","rooms":[{"roomIndex":0,"guests":[{"firstName":"John","lastName":"Smith","title":"Mr","email":"[email protected]","phone":"+1234567890","isLeadGuest":true}]}],"contactPerson":{"firstName":"John","lastName":"Smith","email":"[email protected]","phone":"+1234567890"}}'

# Response (200 OK):
{"preparedBookingId":"69a2b7540a93415a4b4dbf13","price":71.34,"currency":"EUR","payment":"Cash","discount":{"amount":0,"currency":"EUR"},"taxes":[{"feeTitle":"Taxes and Fees","value":"1.59","currency":"EUR","isIncludedInPrice":true}],"essentialInformation":["CheckIn instructions: ..."]}

confirm_booking

Απαιτείται Πιστοποίηση

Επιβεβαίωση και πληρωμή κράτησης μέσω πιστωτικής γραμμής B2B. Επιστρέφει επιβεβαίωση με URL voucher. Για πληρωμές καταναλωτών, χρησιμοποιήστε create_checkout ή get_payment_url.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
bookingInternalIdstringYesBooking ID from prepare_booking (preparedBookingId)
quoteIdstringYesQuote ID used in prepare_booking
paymentMethodstringNoPayment method (default: "CREDIT_LINE" for B2B)

Απάντηση

ΠεδίοΤύποςΠεριγραφή
acceptedbooleanWhether booking confirmation was accepted
messagestring|nullConfirmation status message
voucherUrlstring|nullURL to booking voucher (if accepted)

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/confirm_booking \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{"bookingInternalId":"69a2b7540a93415a4b4dbf13","quoteId":"3e242771-1c15-4356-9a3b-1cd4bfc6d9fc_4384127"}'

# Response (200 OK):
{"accepted":true,"message":"Booking confirmed successfully","voucherUrl":"https://locktrip.com/booking/hotel/voucher/69a2b7540a93415a4b4dbf13"}

create_checkout

Απαιτείται Πιστοποίηση

Δημιουργία URL πληρωμής Revolut για κράτηση. Επιστρέφει σύνδεσμο πληρωμής στον οποίο ο χρήστης κάνει κλικ για πληρωμή. Μετά την πληρωμή, η κράτηση επιβεβαιώνεται αυτόματα μέσω webhook. Χρήση για B2C καταναλωτές.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
bookingIdstringYesBooking ID from prepare_booking (preparedBookingId)
currencystringYes3-letter currency code (e.g., USD, EUR, GBP)
backUrlstringNoCancel/back redirect URL (defaults to locktrip.com)
successUrlstringNoSuccess redirect URL

Απάντηση

ΠεδίοΤύποςΠεριγραφή
checkoutUrlstringRevolut hosted checkout URL for payment
checkoutTokenstringPayment token for tracking
expiresInMinutesnumberToken expiration time (20 minutes)
messagestringUser instruction message

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/create_checkout \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{"bookingId":"69a2b7540a93415a4b4dbf13","currency":"EUR"}'

# Response (200 OK):
{"checkoutUrl":"https://checkout.revolut.com/pay/abc123...","checkoutToken":"rev_tok_abc123...","expiresInMinutes":20,"message":"Payment checkout link created. Share this URL with the user to complete payment."}

get_payment_url

Απαιτείται Πιστοποίηση

Λήψη URL πληρωμής Stripe για κράτηση. Επιστρέφει URL για ανακατεύθυνση του πελάτη ώστε να ολοκληρώσει την πληρωμή με πιστωτική κάρτα.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
bookingIdstringYesBooking ID from prepare_booking (preparedBookingId)
currencystringYesPayment currency code (e.g., USD, EUR)
backUrlstringYesURL to redirect on cancel/back
successUrlstringNoCustom URL to redirect on success

Απάντηση

ΠεδίοΤύποςΠεριγραφή
urlstringStripe checkout URL to redirect customer to
sessionIdstringStripe session ID for tracking

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/get_payment_url \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{"bookingId":"69a2b7540a93415a4b4dbf13","currency":"EUR","backUrl":"https://example.com/cancel"}'

# Response (200 OK):
{"url":"https://checkout.stripe.com/c/pay/cs_live_abc123...","sessionId":"cs_live_abc123..."}

list_bookings

Απαιτείται Πιστοποίηση

Λίστα κρατήσεων του πιστοποιημένου χρήστη. Φιλτράρισμα κατά κατάσταση: UPCOMING, COMPLETED, CANCELLED ή PENDING.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
typestringNo"UPCOMING", "COMPLETED", "CANCELLED", or "PENDING" (default: "UPCOMING")
pagenumberNoPage number (0-indexed)
sizenumberNoResults per page

Απάντηση

ΠεδίοΤύποςΠεριγραφή
bookingsBookingSummary[]Array of booking summaries
bookings[].bookingIdstringBooking identifier
bookings[].bookingReferenceIdstringProvider reference ID
bookings[].hotelNamestringHotel name
bookings[].hotelCitystringCity
bookings[].checkInstringCheck-in date (YYYY-MM-DD)
bookings[].checkOutstringCheck-out date (YYYY-MM-DD)
bookings[].statusstringBooking status (DONE, PENDING, CANCELLED)
bookings[].totalPricenumberTotal booking price
bookings[].currencystringCurrency code
bookings[].guestNamestringLead guest name
bookings[].roomCountnumberNumber of rooms
bookings[].createdAtstringBooking creation timestamp (ISO 8601)
bookings[].hotelPhotostring|nullHotel image URL
totalCountnumberTotal number of bookings
pagenumberCurrent page number
pageSizenumberResults per page

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/list_bookings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{"type": "UPCOMING"}'

# Response (200 OK):
{"bookings":[{"bookingId":"69a2b7540a93415a4b4dbf13","bookingReferenceId":"LT-2026-AB12CD","hotelName":"Premiere Classe Plaisir","hotelCity":"Plaisir","checkIn":"2026-04-15","checkOut":"2026-04-17","status":"DONE","totalPrice":71.34,"currency":"EUR","guestName":"John Smith","roomCount":1,"createdAt":"2026-02-28T09:35:00.000Z","hotelPhoto":"https://imagecontent.net/images/full/d174a039.jpeg"}],"totalCount":1,"page":0,"pageSize":10}

get_booking_details

Απαιτείται Πιστοποίηση

Πλήρη στοιχεία κράτησης, συμπεριλαμβανομένων πληροφοριών ξενοδοχείου, επισκεπτών, δωματίων, κατάστασης πληρωμής και πολιτικής ακύρωσης.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
bookingIdstringYesBooking ID to retrieve

Απάντηση

ΠεδίοΤύποςΠεριγραφή
bookingIdstringBooking identifier
bookingReferenceIdstringProvider reference ID
statusstringBooking status (DONE, PENDING, CANCELLED)
hotelobjectHotel details
hotel.namestringHotel name
hotel.addressstringStreet address
hotel.citystringCity
hotel.countrystringCountry
hotel.starRatingnumberStar rating (1-5)
checkInstringCheck-in date (YYYY-MM-DD)
checkOutstringCheck-out date (YYYY-MM-DD)
roomsRoom[]Booked rooms with guests
contactPersonobjectContact person (firstName, lastName, email, phone)
totalPricenumberTotal booking price
currencystringCurrency code
paymentStatusstringPayment status (PAID, PENDING)
cancellationPolicyobject|nullCancellation policy with fees and deadlines
createdAtstringBooking creation date
confirmedAtstring|nullConfirmation date (null if pending)

Παράδειγμα

curl -X POST https://locktrip.com/mcp/tools/get_booking_details \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{"bookingId": "69a2b7540a93415a4b4dbf13"}'

# Response (200 OK):
{"bookingId":"69a2b7540a93415a4b4dbf13","bookingReferenceId":"LT-2026-AB12CD","status":"DONE","hotel":{"id":4384127,"name":"Premiere Classe Plaisir","city":"Plaisir","country":"France","starRating":1},"checkIn":"2026-04-15","checkOut":"2026-04-17","totalPrice":71.34,"currency":"EUR","paymentStatus":"PAID","createdAt":"2026-02-28","confirmedAt":"2026-02-28"}

cancel_booking

Απαιτείται Πιστοποίηση

Αίτημα ακύρωσης κράτησης. Καλέστε πρώτα με confirmed=false για προεπισκόπηση χρεώσεων, μετά με confirmed=true για εκτέλεση. Επιστρέφει ποσό επιστροφής και χρέωση ακύρωσης.

Αίτημα

ΠεδίοΤύποςΑπαιτ.Περιγραφή
bookingIdstringYesBooking ID to cancel
confirmedbooleanYesSet true to execute cancellation
reasonstringNoReason for cancellation

Απάντηση

ΠεδίοΤύποςΠεριγραφή
successbooleanWhether cancellation was executed
messagestringStatus message (preview or confirmation)

Παράδειγμα

# Step 1: Preview cancellation (dry run)
curl -X POST https://locktrip.com/mcp/tools/cancel_booking \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{"bookingId":"69a2b7540a93415a4b4dbf13","confirmed":false}'

# Response (200 OK):
{"success":false,"message":"Cancellation not confirmed. Set confirmed=true to proceed."}

# Step 2: Execute cancellation
curl -X POST https://locktrip.com/mcp/tools/cancel_booking \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9..." \
  -d '{"bookingId":"69a2b7540a93415a4b4dbf13","confirmed":true,"reason":"Change of plans"}'

# Response (200 OK):
{"success":true,"message":"Booking cancelled successfully"}

Αναγνώσιμα από μηχανές specs: OpenAPI 3.1 | Tool List | MCP Discovery

LockTrip Hotel Booking MCP API v1.0.0