Skip to content

Powered by Grav CMS + Helios Theme

Quotes

Turning a draft order into a priced quote, and the accept and decline that close it.

A quote is a draft order priced and sent for a decision. Accepting one turns it back into an ordinary order awaiting payment. See Orders and the admin.

Offer an order as a quote

POST /api/v1/kahunacart/orders/{id}/quote Permission kahunacart.orders.manage

Turn a placed order into an offer with a deadline, and optionally email it. The deadline is mirrored onto the pay link, so a quote past its expiry cannot be paid and the customer is told why in their own language. A cart cannot be quoted — build the order first — and neither can an order that is already paid. Sending it again moves the deadline, which is what chasing a quote means.

Parameters

Name Type Description
id required integer Order id
expires_at optional integer When the offer lapses, unix epoch. Wins over `days`.
days optional integer How many days it is good for; `orders.quote_expiry_days` when neither is given
send optional boolean Email the quote to the address on the order
Default: false

Accept a quote

POST /api/v1/kahunacart/orders/{id}/quote/accept Permission kahunacart.orders.manage

Record that the customer accepted, for an answer that arrived by phone or by email — the customer's own button is on their order page. Accepting is not paying: the order stays unpaid and stays payable, and the deadline does not move.

Parameters

Name Type Description
id required integer Order id

Decline a quote

POST /api/v1/kahunacart/orders/{id}/quote/decline Permission kahunacart.orders.manage

Record that the customer turned the offer down. The offer closes and the pay page says so rather than saying the link expired. The order itself is untouched — it is still a real order the merchant may want to re-quote.

Parameters

Name Type Description
id required integer Order id