Post-booking

Check how a hotel cancellation ended

Report where one cancellation has got to, named by the operation handle a commit (or POST /v1/hotel_cancel) returned. Read-only. state is the platform view — keep polling while it is in_progress or attention_required, both of which mean the operation is still alive. provider is what the supplier says about the booking and money is where the refund itself has got to; the two move independently, so a booking can read cancelled while the money is still in flight. Do not tell a customer they have been refunded until money.vehicle_state says paid. Same auth modes as hotel_cancel_preview.

post/v1/hotel_cancel_status

Request

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

Request body

booking_refstring

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.

provider_referencestring

Deprecated: name the booking with booking_ref and booked_item_id from get_booking. Names the booking instead of booking_ref and last_name, never beside it, and needs a credential that owns the booking. Accepted until 2027-04-30; a request that sends it is answered with Deprecation and Sunset headers.

operationstring required

The "svc_…" handle from a commit, or from POST /v1/hotel_cancel.

Example request

{
  "booking_ref": "JNK-H1ZK90",
  "last_name": "Doe",
  "operation": "svc_01J7ZR5Q2KME8V4T"
}

Response

Where the cancellation has got to

operationstring
state'in_progress' | 'attention_required' | 'succeeded' | 'failed'

Where the cancellation has got to. in_progress — running; keep polling. attention_required — stalled on something a person at Jinko has to resolve (reason names it); keep polling, and do not report it to the customer as a failure, because the booking may already be cancelled at the supplier. succeeded and failed are terminal: the supplier outcome and the money are both settled and nothing further will change.

reasonstring

With state: attention_required, why the operation is stalled: the value names what Jinko has to resolve, and needs nothing from the caller. With state: failed, why it ended: provider_refused (the supplier refused before changing anything), provider_did_not_apply (the supplier’s record shows it was not applied), not_sent (it ended before anything was sent to the supplier), QUOTE_EXPIRED (the quote it was committed on no longer stood), superseded or not_cancellable. Absent on a failed operation that recorded none.

messagestring

A sentence about why a failed operation ended, where there is one: what the supplier’s refusal means, or that its price changed after the quote. Present only with state: failed; it never states the supplier’s figures.

park_deadlinestring

When a parked operation stops waiting for Jinko and is settled or failed. Present with state: attention_required; it is how long "keep polling" lasts.

next_run_atstring

When the platform next drives this operation by itself. Informational — polling sooner does not make it run sooner.

Example response

{
  "operation": "svc_01J7ZR5Q2KME8V4T",
  "reason": "settlement_review",
  "message": "the fare rules do not allow a refund of this ticket",
  "park_deadline": "2026-09-10T12:15:00Z",
  "next_run_at": "2026-09-03T12:20:00Z",
  "provider": {
    "state": "cancelled",
    "references": {
      "cancellation_reference": "cxl_2f90a1c3"
    }
  },
  "money": {
    "value": 41250,
    "currency": "USD",
    "decimal_places": 2,
    "display": "USD 412.50",
    "amount_money": {
      "value": 41250,
      "currency": "USD",
      "decimal_places": 2,
      "display": "USD 412.50"
    },
    "direction": "refund",
    "vehicle_state": "paid",
    "stripe_reference": "re_3UBIxK2eZvKYlo2C"
  }
}

Changes

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