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
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:
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/bookingreferenceis spent on a failed order attempt. Retrying means requesting a new one. - Send
priceOverRiddenonly on the lines you are overriding. Lines sent without it are unaffected by this requirement.