{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/gojinko-com/json-schema/gojinko-com-post-v1-hotel-cancel-response-schema.json",
  "title": "PostV1HotelCancelResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/gojinko-com-openapi-generated.yml#/components/schemas/PostV1HotelCancelResponse",
  "type": "object",
  "properties": {
    "booking_ref": {
      "type": "string",
      "description": "JNK-A0AUR2"
    },
    "booking_reference": {
      "type": "string",
      "description": "Deprecated: use `booking_ref` instead. Same value."
    },
    "confirmation_number": {
      "type": "string",
      "description": "Deprecated: read the item’s `supplier_references` on POST /v1/get_booking, which names who issued each reference. Customer-facing hotel confirmation number, when supplied by the hotel."
    },
    "status": {
      "type": "string",
      "description": "cancelled"
    },
    "operation": {
      "type": "string",
      "description": "The cancellation this call started (\"svc_…\"). Cancelling the booking at the supplier and returning the money are separate steps, so this call answering does not mean both finished — poll the handle with POST /v1/hotel_cancel_status until `state` is terminal."
    },
    "state": {
      "type": "string",
      "description": "ServicingState enum."
    },
    "refund_amount": {
      "type": "object",
      "description": "Customer figure: what goes back to the payment method that paid for this booking — what the customer paid for it, less `penalty_amount`. Absent when no refund was scheduled."
    },
    "customer_refund_amount": {
      "type": "object",
      "description": "Deprecated alias of `refund_amount`."
    },
    "penalty_amount": {
      "type": "object",
      "description": "The cancellation penalty withheld from the customer."
    },
    "cancelled_at": {
      "type": "string",
      "description": "Timestamp of cancellation."
    },
    "idempotent": {
      "type": "boolean",
      "description": "Whether the request was idempotent."
    }
  }
}