Skip to main content
Best Price Guarantee works with every production and sandbox key. On sandbox (https://api.sandbox.gojinko.com, https://mcp.builders.sandbox.gojinko.com/mcp, CLI --env sandbox) Jinko does not open the reference page: an offer comes back with offer.reference.verified false, and the declines that come from checking the link and the page (hotel_mismatch, stay_mismatch, conditions_mismatch, reference_mismatch) are not returned there. Test those on production.
A traveller compares a Jinko hotel offer with the same stay on another site and finds it cheaper there. Best Price Guarantee takes that price, with the link and a screenshot of the page, and answers with a new offer at that price, or with a decline. The new offer is added to a trip and paid like any other hotel offer.

What it covers

  • Hotels only, and offers for a single room.
  • Jinko matches its price to a credible reference: the same hotel, room, board and cancellation terms, for the same dates and guests, on a site accepted as a reference.
  • Jinko opens the link and reads the page: the hotel, the dates and guests, the room, board and cancellation terms, and the total. A page for another hotel, stay or terms, or with a higher total, is declined. Send the link to this hotel’s page on that site, for the same stay as the Jinko offer. offer.reference.verified is true when the page confirmed the reference.
  • The reference is the total payable at booking on the other site, in the currency of the Jinko offer. Taxes payable at the property are not part of it, and nothing is converted.
  • A request can be declined. Do not promise the traveller a match before the answer says offered.

Submit the lower price

Start from an offer returned by POST /v1/hotel_search. An offer can be submitted for 75 minutes after the search that returned it.
The review runs in the background. wait_seconds (0 to 20) is how long the call waits for it; most requests finish within that time. The answer carries an id and a status: A decline is answered with HTTP 200: it is an answer, not a failure of the call.

Read the result

An offered result looks like this:
offer.original.total_money is the current standard price of that room, board and cancellation terms. It can be lower than the price the earlier search showed.

When Jinko’s current price is already at or below the reference

There is nothing to match, and the answer is one of two:
  • offered, with the new offer priced at that current price and saving_money zero. This is the usual answer. Book the new offer as described below.
  • declined with reference_not_lower. No new offer is made for this rate. Search the hotel alone (hotel_ids) and book the rate at its current price.

Book the new offer

Add offer.trip_item_token to a trip with POST /v1/trip (add_item.trip_item_token), then add the travellers and call POST /v1/checkout, exactly as for any hotel offer. See Hotel booking.
  • A trip that holds the new offer holds nothing else. Start a new trip for it. Adding it beside another item is refused with HTTP 409.
  • The new offer is valid for 30 minutes (offer.expires_at).
  • The total at checkout can move with the hotel’s price. When the price can no longer be offered, checkout answers OFFER_EXPIRED; search and submit again.
  • Payment, confirmation, cancellation and refund work as for any hotel booking, on the price paid.

When a request is declined

The last four come from reading the reference page, and decline.detail says what the page showed, for example the page shows prices for 1 adult(s); the Jinko offer is for 2. Pass it on to the traveller as it is. The list grows. Treat a reason that is not listed as “no offer”. After price_cannot_be_matched, search that hotel alone (hotel_ids) as well: the price of the same rate there can be lower than the one an area search showed.

With the MCP server

The MCP server serves the same flow as two tools. claim_best_price_guarantee makes the request, with the same fields as POST /v1/best_price_guarantee. get_best_price_guarantee reads its result by the id the claim returned; it never makes a request. Describe the result to the traveller as the price Jinko can offer after its own review.