Abandons a date change that is still waiting for its difference
payment, releasing the order so another date can be chosen. The
original tickets are untouched and nothing is charged.
fulfillment_order_id is the id returned by POST /fulfillment/reorder.
Idempotent: cancelling an already-cancelled date change succeeds.
A date change whose difference was already captured cannot be
cancelled (409) — returning that money is a refund, not a cancel.
Starting a new date change on the same order also supersedes an unpaid
one automatically, so calling this first is optional.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Part of ticketing — Tickets and fulfillment explains the order lifecycle and how tickets are issued.
Why this endpoint exists
A customer starts a date change, sees the price, and thinks better of it — or picks the wrong date and wants to start over. This releases the pending change so another date can be chosen.
Nothing is charged and the original tickets are untouched. The customer is back where they started, holding valid tickets for the original date.
Do you need it?
Often not. Starting a new date change on the same order automatically supersedes an unpaid one, so a customer who simply picks a different date needs no explicit cancel.
Call it when the customer abandons the change entirely — a "never mind" button — rather than as a mandatory step between attempts.
Request
curl -X DELETE "https://api.acc.funtrips.io/v2/fulfillment/reorder/$FULFILLMENT_ORDER_ID" \
-H "Authorization: Bearer $END_USER_TOKEN"| Parameter | Type | Notes |
|---|---|---|
fulfillment_order_id | UUID | The id returned by POST /fulfillment/reorder — the new order's id, not the original order's |
This is the fulfillment_order_id from the reorder response. Passing the original order_id gets you a 404.
Response
204 No Content — cancelled, or already gone.
Idempotent: cancelling an already-cancelled change succeeds. Safe to call defensively without checking state first.
What cannot be cancelled
A date change whose difference payment was already captured cannot be cancelled —409.Returning captured money is a refund, not a cancel, and refunds are a back-office operation. The line is drawn at payment: before capture the change is abandonable, after capture it is a completed transaction.
Practically, your "never mind" button has a lifetime — from starting the change until the customer completes payment. Once they are back from the payment provider having paid, the option is gone. If your UI keeps the button visible on an order page, expect the 409 and message it as "this change has already been paid for; contact support for a refund".
Errors
| Status | Meaning | What to do |
|---|---|---|
204 | Cancelled, or already cancelled | Nothing |
404 | No such pending change, or not the caller's | Check you sent the reorder's fulfillment_order_id |
409 | The difference was already captured | Not cancellable — refund territory |
422 | That fulfillment order is not a date change | You are addressing an ordinary order |
500 | Unexpected fault | Retryable |
No type field on fulfillment errors — branch on status.
The 422 is a useful signal that the id is wrong in a specific way: it exists, it is yours, and it is not a date change. Almost always that means the original order_id was sent instead of the reorder's fulfillment_order_id.
204The date change was cancelled (or was already gone).
