Locktrip
KurumsalAI Agents
AI Agents'a Dön

API Dokümantasyonu

LockTrip Otel Rezervasyon MCP API'si için eksiksiz referans. Arama, rezervasyon, ödeme ve yönetimi kapsayan 15 araç.

Kimlik Doğrulama

API, Bearer JWT tokenları kullanır. Arama ve göz atma araçları kimlik doğrulama gerektirmez. Rezervasyon ve yönetim araçları geçerli bir token gerektirir.

Token Alma

JWT token almak için guest_login (yalnızca e-posta, anında) veya login (e-posta + şifre) kullanın.

Tokeni Kullanma

Authorization: Bearer eyJhbGciOiJIUzUxMiJ9...

Araç Sınıflandırması

Herkese açık (kimlik doğrulama yok)Kimliği doğrulanmış (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

Temel URL ve Aktarım Yöntemleri

Tüm endpointler https://locktrip.com/mcp/ adresinden sunulmaktadır. Üç aktarım modu desteklenir:

AktarımYöntemEndpoint
RESTPOSThttps://locktrip.com/mcp/tools/{tool_name}
JSON-RPC 2.0POSThttps://locktrip.com/mcp/rpc
SSEGEThttps://locktrip.com/mcp/sse

Keşif Endpointleri

URLAçıklama
GET /mcp/openapi.jsonOpenAPI 3.1 spesifikasyonu
GET /mcp/toolsŞemalarla tüm araçları listele
GET /mcp/discoveryMCP keşif belgesi

Tüm POST istekleri için Content-Type: application/json.

Hata Yönetimi

REST Hataları

DurumAnlam
200Başarılı
400Doğrulama hatası (geçersiz girdi)
401Eksik veya geçersiz Bearer token
404Bilinmeyen araç adı
429İstek limiti aşıldı

JSON-RPC Hataları

{
  "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"
    }
  }
}
KodAnlam
-32600Geçersiz JSON-RPC isteği
-32601Bilinmeyen araç / yöntem bulunamadı
-32001Kimlik doğrulama gerekli veya geçersiz token
-32007İstek limiti aşıldı
-32603Dahili sunucu hatası

İstek Limitleri

IP başına (anonim) veya kullanıcı ID'si başına (kimliği doğrulanmış) kayar pencere istek limitleri. Limitlerin aşılması HTTP 429 veya JSON-RPC hata kodu -32007 döndürür.

AraçAnonimKimliği Doğrulanmış
hotel_search5/ dakika20/ dakika
Diğer tüm araçlar30/ dakika120/ dakika

Araç Referansı

Önerilen iş akışı sırasına göre listelenen 15 araç.

search_location

Herkese Açık

Otel aramasında kullanılmak üzere konumları (şehirler, bölgeler, oteller) arayın. Tür ve tam adla eşleşen konumları döndürür.

İstek

AlanTipZorunluAçıklama
querystringYesSearch query (city name, region, or hotel name)
languagestringNoLanguage code (default: "en")

Yanıt

AlanTipAçıklama
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

Örnek

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

Herkese Açık

Sayfalanmış otel arama sonuçlarını alın. searchStatus "COMPLETED" olana kadar sorgulayın. Fiyat, yıldız, olanaklar ve yemek türlerine göre filtrelemeyi destekler. Fiyat, puan veya mesafeye göre sıralama.

Fiyat Zekası

Her otel sonucu discountScore içerir — LockTrip'in teklifin diğer seyahat sitelerine kıyasla ne kadar ucuz olduğunu hesaplayan tescilli makine öğrenimi puanı. V8 ML modeli, tasarrufları tahmin etmek için birden fazla otel tedarikçisinden gerçek zamanlı fiyat verilerini analiz eder. Kullanıcılara en iyi fırsatları sunmak için minPrice (LockTrip fiyatı) ve originalPrice (rakip sitelerdeki en son en iyi fiyat) ile birlikte discountScore kullanın.

İstek

AlanTipZorunluAçıklama
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

Yanıt

AlanTipAçıklama
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"

Örnek

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

Herkese Açık

Belirli bir otel için mevcut oda paketlerini alın. Rezervasyon için gereken quoteId'leri döndürür. Her paket fiyat, yemek türü, olanaklar ve iptal bilgilerini içerir.

İstek

AlanTipZorunluAçıklama
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")

Yanıt

AlanTipAçıklama
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

Örnek

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

Herkese Açık

Açıklama, olanaklar, yorumlar, fotoğraflar ve konum dahil ayrıntılı otel bilgilerini alın. Rezervasyondan önce tam otel bilgisi almak için aramadan sonra kullanın.

İstek

AlanTipZorunluAçıklama
hotelIdnumberYesHotel ID (numeric, from search results)
languagestringNoLanguage code (default: "en")
includeImagesbooleanNoFetch additional images (default: false)
imageLimitnumberNoMax additional images (default: 20, max: 100)

Yanıt

AlanTipAçıklama
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)

Örnek

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

Herkese Açık

Oda paketleri için ayrıntılı iptal politikasını alın. Ücretsiz iptal son tarihini ve tarih aralığına göre ceza ücretlerini gösterir.

İstek

AlanTipZorunluAçıklama
searchKeystringYesSearch key from hotel_search
hotelIdstringYesHotel ID
packageIdsstring[]YesPackage IDs to check (from get_hotel_rooms)

Yanıt

AlanTipAçıklama
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

Örnek

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

Herkese Açık

Sadece bir e-posta adresiyle misafir olarak kaydolun veya giriş yapın. Kimliği doğrulanmış araçlar için Bearer token döndürür. Yeni kullanıcılar doğrulama e-postası alır ve daha sonra şifre belirleyebilir.

İstek

AlanTipZorunluAçıklama
emailstringYesUser email address

Yanıt

AlanTipAçıklama
tokenstringJWT Bearer token for authenticated API calls
userIdnumberNumeric user ID
emailstringUser email address
isNewUserbooleanWhether a new account was created

Örnek

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

Herkese Açık

Bearer token almak için e-posta ve şifreyle giriş yapın. Onaylı hesapları olan kayıtlı kullanıcılar içindir.

İstek

AlanTipZorunluAçıklama
emailstringYesUser email address
passwordstringYesUser password

Yanıt

AlanTipAçıklama
tokenstringJWT Bearer token for authenticated API calls
userIdnumberNumeric user ID
emailstringUser email address

Örnek

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

Kimlik Doğrulama Gerekli

Misafir bilgileriyle bir rezervasyon oluşturun. Onay için bir preparedBookingId döndürür. Rezervasyon yaklaşık 15 dakika sonra sona erer. Oda başına misafir sayısı, aramadaki yetişkin sayısıyla eşleşmelidir.

İstek

AlanTipZorunluAçıklama
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

Yanıt

AlanTipAçıklama
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

Örnek

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

Kimlik Doğrulama Gerekli

B2B kredi limiti kullanarak hazırlanmış bir rezervasyonu onaylayın ve ödeyin. Voucher URL'si ile rezervasyon onayı döndürür. Tüketici ödemeleri için create_checkout veya get_payment_url kullanın.

İstek

AlanTipZorunluAçıklama
bookingInternalIdstringYesBooking ID from prepare_booking (preparedBookingId)
quoteIdstringYesQuote ID used in prepare_booking
paymentMethodstringNoPayment method (default: "CREDIT_LINE" for B2B)

Yanıt

AlanTipAçıklama
acceptedbooleanWhether booking confirmation was accepted
messagestring|nullConfirmation status message
voucherUrlstring|nullURL to booking voucher (if accepted)

Örnek

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

Kimlik Doğrulama Gerekli

Hazırlanmış bir rezervasyon için Revolut ödeme checkout URL'si oluşturun. Kullanıcının tıklayıp ödeme yapabileceği barındırılan bir checkout bağlantısı döndürür. Ödeme tamamlandıktan sonra rezervasyon webhook aracılığıyla otomatik onaylanır. B2C tüketiciler için kullanın.

İstek

AlanTipZorunluAçıklama
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

Yanıt

AlanTipAçıklama
checkoutUrlstringRevolut hosted checkout URL for payment
checkoutTokenstringPayment token for tracking
expiresInMinutesnumberToken expiration time (20 minutes)
messagestringUser instruction message

Örnek

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

Kimlik Doğrulama Gerekli

Hazırlanmış bir rezervasyon için Stripe checkout URL'si alın. Müşteriyi kredi kartıyla ödeme yapması için yönlendirmek üzere bir URL döndürür.

İstek

AlanTipZorunluAçıklama
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

Yanıt

AlanTipAçıklama
urlstringStripe checkout URL to redirect customer to
sessionIdstringStripe session ID for tracking

Örnek

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

Kimlik Doğrulama Gerekli

Kimliği doğrulanmış kullanıcının rezervasyonlarını listeleyin. Duruma göre filtreleyin: UPCOMING, COMPLETED, CANCELLED veya PENDING.

İstek

AlanTipZorunluAçıklama
typestringNo"UPCOMING", "COMPLETED", "CANCELLED", or "PENDING" (default: "UPCOMING")
pagenumberNoPage number (0-indexed)
sizenumberNoResults per page

Yanıt

AlanTipAçıklama
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

Örnek

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

Kimlik Doğrulama Gerekli

Otel bilgileri, misafirler, odalar, ödeme durumu ve iptal politikası dahil belirli bir rezervasyonun tam detaylarını alın.

İstek

AlanTipZorunluAçıklama
bookingIdstringYesBooking ID to retrieve

Yanıt

AlanTipAçıklama
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)

Örnek

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

Kimlik Doğrulama Gerekli

Rezervasyon iptali talep edin. İptal ücretlerini önizlemek için önce confirmed=false ile çağırın, ardından uygulamak için confirmed=true ile çağırın. İade tutarını ve iptal ücretini döndürür.

İstek

AlanTipZorunluAçıklama
bookingIdstringYesBooking ID to cancel
confirmedbooleanYesSet true to execute cancellation
reasonstringNoReason for cancellation

Yanıt

AlanTipAçıklama
successbooleanWhether cancellation was executed
messagestringStatus message (preview or confirmation)

Örnek

# 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"}

Makine tarafından okunabilir spesifikasyonlar: OpenAPI 3.1 | Tool List | MCP Discovery

LockTrip Hotel Booking MCP API v1.0.0