As we begin Part 3, we have:
RS8. Each flight booking request must specify exactly one departure date. RS9. Each flight booking request for a return journey must specify exactly one return date. RS11. A flight booking request for a one-way journey must not specify a return date. RS12. Each flight booking request must specify exactly one origin city. RS13. Each flight booking request must specify exactly one destination city. RS14. Each flight booking request must specify exactly one number of passengers. RS15. Each flight booking request must specify at most one frequent flier membership. RS16. Each flight booking confirmation must specify at least one passenger name. RS17. Each flight booking confirmation must specify exactly one payment arrangement. RS19. The departure date specified by each flight booking request must be no earlier than today. RS20. The return date (if any) specified by each flight booking request must be no earlier than the departure date specified by that flight booking request. RS21. The origin city specified by each flight booking request must be one of the cities served by the airline. RS22. The destination city specified by each flight booking request must be one of the cities served by the airline. RS23. The destination city specified by each flight booking request must be different to the origin city specified by that flight booking request. RS24. The number of passengers specified by each flight booking request must be no less than one.
FT1. flight booking request specifies departure date FT2. flight booking request is for journey FT3. return journey is a category of journey FT4. flight booking request specifies return date FT5. one-way journey is a category of journey FT6. flight booking request is for return journey (derived from fact types FT2 and FT3) FT7. flight booking request is for one-way journey (derived from fact types FT2 and FT5) FT8. flight booking request specifies origin city FT9. flight booking request specifies destination city FT10. flight booking request specifies number of passengers FT11. flight booking request specifies frequent flier membership FT12. flight booking confirmation specifies passenger name FT13. flight booking confirmation specifies payment arrangement FT14. airline serves city
RT1. Each <term 1> {<qualifying clause>|} must <verb phrase> <cardinality> <term 2>. (from which rule statements RS8, RS9, and RS12 to RS17 inclusive can be generated) RT2. {A|An} <term 1> {<qualifying clause>|} must not <verb phrase> {a|an} <term 2>. (from which rule statement RS11 can be generated) RT3. The <term 1> that <verb phrase> each <term 2> must be <predicate>. (from which rule statements RS19 to RS24 inclusive can be generated)
ST1. <cardinality> ::= {exactly|at {least|most}|at least <positive integer> and at most} <positive integer> ST2. <predicate> ::= {<value set predicate>|<match predicate>|<range predicate>} ST3. <value set predicate> ::= one of the <term> {<qualifying clause>|} (used in rule statements RS21 and RS22) ST4. <match predicate> ::= {the same as|different to} the <term> {<qualifying clause>|} (used in rule statement RS23) ST5. <range predicate> ::= {no|} {greater|less|later|earlier} than {<literal>|the <term> {<qualifying clause>|}} (used in rule statements RS19, RS20, and RS24)
The font and colour conventions used in these rule statements, fact types, and templates reflect those in the SBVR, namely: underlined teal for terms, italic blue for verb phrases, orange for keywords, and double-underlined green for names and other literals.