← Freight RightCONTENT HISTORY

Update to Freight Right

Snapshot Nov 11, 2026 · 06:09 UTC · version 1.0.1

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Freight Right and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Freight Right booking preparation — turn a chosen offer into a confirmation link that the customer opens and submits themselves, then read what they decided. Use after an instant price check or a QUOTED quote request when the customer wants to book an offer, and to check the state of a booking already prepared. No tool here books anything.",
  "included_files": [],
  "name": "booking-handoff",
  "skill_md_contents": "---\nname: booking-handoff\ndescription: Freight Right booking preparation — turn a chosen offer into a confirmation link that the customer opens and submits themselves, then read what they decided. Use after an instant price check or a QUOTED quote request when the customer wants to book an offer, and to check the state of a booking already prepared. No tool here books anything.\n---\n\n# Freight Right: preparing a booking\n\n**Nothing here books anything.** These tools write a pending record and return a link. Only the customer, signed in\nto Freight Right in their own browser, can submit it on that page. Give them the link and say plainly what it will\nbook.\n\nSay \"I have prepared a booking for you to confirm\", never \"I booked it\".\n\n## Which prepare tool\n\n| Came from | Tool | Needs |\n|---|---|---|\n| An instant price check | `freightright_prepare_instant_booking` | `pricing_id` (`pj_…`) + `offer_id` (`of_…`) |\n| A quote request | `freightright_prepare_rate_request_booking` | `rate_request_id` (`rfq_…`) + `offer_id` (`of_…`) |\n\nThe quote-request path is refused unless the request's status is **`QUOTED`**. Check it first and tell the customer\nwhat the status actually is. It is also refused when the request's `may_book` is `false` — this connection can read\nit but not book it, because booking takes the account that created the request, a current member of the\norganization it is billed to, or an address Freight Right shared its quote with (an administrator books only the\nrequests their own account created). Say who can\nbook it instead of preparing a link that would fail.\n\nBoth take an optional `reference` (up to 64 characters — the customer's own PO or job number) and `note` (up to\n2,000). Offer these; a reference is what the customer will recognise the shipment by later. If a note is refused as\ntoo long, say that the note is too long and ask the customer to shorten it — it is their input, not an outage.\n\nThe offer's identity and revision are what was shown to the customer. The server attaches them; you never pass a\nrevision. If the offer has changed or expired upstream, the booking is refused rather than silently repriced.\n\n## Three different expiry times — keep them apart\n\n| Time | What it is |\n|---|---|\n| The link's `expires_at` | Up to **30 minutes** from preparing, cut short if the offer stops being bookable sooner |\n| `bookable_until` | When the offer stops being bookable at all |\n| The offer's `valid_until` | A **date**, after which the price is no longer valid |\n\nShow the link's deadline prominently, with its timezone. Never let \"price valid until\" imply the link still works.\n\n**Preparing the same pending booking again returns the same link and does not extend it.** If the customer asks for\nmore time, the honest answer is that the deadline has not moved. Once an operation is decided — cancelled, expired\nor failed — a fresh attempt can be prepared, and it gets a new link, provided the offer is still available.\n\n## Reading what the customer decided\n\n`freightright_get_booking_operation(operation_id)`.\n\n| State | Means | Do |\n|---|---|---|\n| `PENDING_CONFIRMATION` | Waiting for the customer's click | Give them the link and the deadline |\n| `SUBMITTING` | Being sent | Read again shortly |\n| `DONE` | Freight Right has the request and is **reviewing** it | Say it is submitted and under review |\n| `CANCELLED` | The customer declined on the page | Ask what they want instead |\n| `EXPIRED` | The window passed unused | Offer to prepare it again if still bookable |\n| `FAILED` | Freight Right refused it | Report the reason given |\n| `UNKNOWN` | The outcome is not yet established | **Read it again shortly. Never prepare a second time** |\n\n`UNKNOWN` is reconciled in the background using the same bytes and the same key. Preparing again in response to it\nis how a customer ends up with two bookings — do not.\n\n`DONE` is not a confirmed booking. It becomes `BOOKING_REQUESTED` at Freight Right, and **`BOOKED` is a separate\nconfirmation** that Freight Right makes. Do not tell the customer their freight is booked until it is.\n\nThe summary on the operation is a snapshot of what the customer was shown when it was prepared. It does not change\nbecause the upstream moved, and that is deliberate — it is the promise. Present it as shown, and note that a long\ncharge list or note may be abbreviated for display while the whole note is what gets submitted.\n"
}

SHA-256 of public snapshot: e1ee580d4f437bcddb4c7ba54262d53a62490ae7ebbe3ebc1c9d528f2b7076fc