Skip to main content
When you set priceOverRidden to true on a product line, you must also send discountClaimReason and staffContactName on that same line. Send all three together, or none of them.

The three fields that travel together

This shows only the fields this rule concerns. For every field a product line accepts, see Submit an Order. If you call POST /apiv1/validateCart before ordering, send the same product line there too. TDMS does not enforce these fields until POST /apiv1/order.

What happens if you omit them

POST /apiv1/order fails with HTTP 500 and a response body that names no field:
The underlying error is Price Override entered for '<product name>' but either no Discount Reason or Staff Contact Name Entered. It is not returned in the response. If you see a 500 from POST /apiv1/order with no detail, check these two fields first. POST /apiv1/validateCart accepts the same product line without them and reports the cart as valid. A cart that validates cleanly can still fail at order, so validating is not a check that an overridden line is complete.

Notes

  • A booking reference obtained from POST /apiv1/bookingreference is spent on a failed order attempt. Retrying means requesting a new one.
  • Send priceOverRidden only on the lines you are overriding. Lines sent without it are unaffected by this requirement.