Technical requirements are often ambiguous when written as free text, the way someone would speak them, because as you have discovered the free text fails to capture where the linguistic stress would be that disambiguates in speech.
Instead, I suggest using a format that is more suited to text.
I would recommend a table. Email the customer back with your current interpretation of the requirements, with a column for outcome and a column for value. Ask them to check and sign off on the table, or to correct the table where it is wrong.
Example:
Outcome | Value |
---|---|
NULL | x |
Complete | x |
Cancelled | x |
(Other) | x |
There are edge-cases with if outcome can be "Complete or Cncelled
Haha yeah, fair enough. Applogies for turning your deserved whinge into a serious question.
Wrangling annoying customers is always the most annoying part of the job isn’t it. How nice it would be to spend more time programming…