Cars

Preview the cost of cancelling a car rental booking

Quote what cancelling would cost right now: the fee in force and the refund it would leave. Nothing is cancelled. fee_known: false means the fee could not be established — render it as "we will confirm the fee", never as free cancellation. The returned quote_id is required by car_cancel_commit, and binds until expires_at where one is given. cancellable: false with manual_required: true means the cancellation cannot be completed online (fee unknown, rental changed after payment, fee in another currency or above the rental) and refund_review_reason says why: it is not a dead end — once the customer agrees, commit it with manual_ok: true and a Jinko agent completes it. cancellable: false without that flag is a rental that cannot be cancelled at all (already cancelled, or over), carrying the cancellation that stands where there is one. Guest-authenticated: booking_ref + last_name; a wrong pair returns 404 rather than confirming the booking's existence.

post/v1/car_cancel_preview

Request

  • Base URL
    https://api.gojinko.com
  • URL
    https://api.gojinko.com/v1/car_cancel_preview
  • Auth
    • API key in header X-API-Key
    • or HTTP bearer

Request body

booking_refstring required

Jinko booking reference. Call get_booking first, then select its booked_item_id for servicing.

booked_item_idstring

The booked item, from get_booking items[].booked_item_id. Preserved across exchanges. Omit only when the booking has exactly one item of the requested domain; otherwise a 409 returns items to choose from.

last_namestring

Required for guest lookup. A credential that owns the booking may omit it; ownership is checked by the platform.

Example request

{
  "booking_ref": "JNK-8PT9VS",
  "last_name": "Doe"
}

Response

Cancellation quote

quote_idstring

This preview’s quote. Pass it as quote_id to car_cancel_commit — it binds the commit to the fee quoted here. Treat as an opaque string; the format may evolve.

cancellation_idstring

Deprecated: use quote_id instead. Same value.

cancellableboolean
fee_knownboolean

false means the fee could not be established — UNKNOWN, not free. Render as "we will confirm the fee".

fee_typestring
currencystring
non_refundableboolean
refund_pending_reviewboolean

true means the refund figure is right but will be issued by hand rather than automatically (the rental was changed after it was paid for). The cancellation itself still goes through online; not a failure.

refund_review_reasonstring

Why a person is involved, whenever manual_required or refund_pending_review is true, in words the customer can be shown. Where the reason would be the supplier’s own words — as on a cancellable: false preview of a rental that cannot be cancelled at all — it reads “This request needs manual handling by Jinko support.”

manual_requiredboolean

true means this cancellation cannot be completed online — the fee could not be established, the rental was changed after it was paid for, or the fee is in another currency or above the rental. cancellable is false, no refund figure is given and refund_review_reason says why. It is not a dead end: car_cancel_commit takes this cancellation_id with manual_ok: true, which records the cancellation for a Jinko agent to complete and answers state: pending with refund_pending_review: true. Without the flag such a commit is refused 409 manual_required, so a customer is never put in an agent queue unasked. Absent (or false) on every quote that can be committed online.

expires_atstring

When this preview stops being committable (RFC 3339). A commit after it is refused 409 QUOTE_EXPIRED; preview again. Absent where the quote carries no deadline.

Example response

{
  "quote_id": "ccl_2f7c9a4e8b1d4c6f9e3a5b7d1c2e4f6a",
  "cancellation_id": "ccl_2f7c9a4e8b1d4c6f9e3a5b7d1c2e4f6a",
  "cancellable": true,
  "fee_known": true,
  "fee_type": "cancellation",
  "fee": {
    "value": 41250,
    "currency": "EUR",
    "decimal_places": 2,
    "display": "EUR 412.50"
  },
  "paid": {
    "value": 41250,
    "currency": "EUR",
    "decimal_places": 2,
    "display": "EUR 412.50"
  },
  "refund_amount": {
    "value": 41250,
    "currency": "EUR",
    "decimal_places": 2,
    "display": "EUR 412.50"
  },
  "currency": "EUR",
  "refund_review_reason": "the cancellation fee for this rental could not be established; a person will complete the cancellation",
  "expires_at": "2026-09-21T10:15:00Z"
}

Changes

No recorded changes to this operation across all 1 revision of this API.