Online "Book Flights" facility for an airline

Rule Statements

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 in each flight booking request must be no earlier than today.
RS20.  The return date (if any) specified in each flight booking request must be no earlier than the departure date specified in that flight booking request.
RS21.  The origin city specified in each flight booking request must be one of the cities served by the airline.
RS22.  The destination city specified in each flight booking request must be one of the cities served by the airline.
RS23.  The destination city specified in each flight booking request must be different to the origin city specified in that flight booking request.
RS24.  The number of passengers specified in each flight booking request must be no less than one.
RS25. The number of passenger names specified in each flight booking confirmation must be equal to the number of passengers specified in the flight booking request that gives rise to that flight booking confirmation.
 

Note that "number of" is styled as part of the term number of passengers in rule statements RS24 and RS25 but also as a keyword (as number of passenger names) in RS25.  While number of passengers is a defined term for a data item that is used in a flight booking request transaction, passenger name also refers to a data item which appears more than once in a flight booking confirmation transaction, but there is no "number of passenger names" data item as such.  In other words "number of" in number of passenger names is a set function referring to the cardinality of a data item rather than a data item itself.

RS26. Each flight booking request must specify whether or not the travel dates specified in the flight booking request are moveable.
RS27. Each flight booking confirmation must specify whether or not the paying party specified in the flight booking confirmation wishes to include a CO2 offset payment.
RS28. Each flight booking request must specify whether it is for a return journey, a one-way journey or a multi-stop journey.
RS29. Each flight booking confirmation must specify whether the payment is a credit card payment or an electronic transfer payment.
RS30. Each flight booking confirmation must specify a mobile phone number, an e-mail address or both.
RS31. Each flight booking confirmation must specify a credit card or an electronic transfer payment receipt but not both.
RS32. Each flight booking confirmation must specify exactly one of the following: a postal address, an e-mail address or a fax number.
RS34. Each flight booking confirmation for a one-way journey must specify exactly one of the following:
• a mobile phone number; or
• an origin city daytime phone number and
   an origin city evening phone number.
RS35. Each flight booking confirmation for a return journey must specify exactly one of the following:
• a mobile phone number; or
• an origin city daytime phone number and
   an origin city evening phone number and
   a destination city daytime phone number and
   a destination city evening phone number.
RS37. Each bag that weighs more than 20kg must be labelled with a 'heavy bag' label.
RS38. The departure time of the return flight (if any) specified in each flight booking confirmation must be no earlier than 1 hour after the arrival time of the outgoing flight specified in that flight booking confirmation.
RS39. The departure time of the outgoing flight specified in each flight booking confirmation that is made online must be no earlier than 3 hours after the booking confirmation time of that flight booking confirmation.
RS40. The postal address (if any) specified in each flight booking confirmation must include at least one address line.
RS41. The postal address (if any) specified in each flight booking confirmation must include exactly one placename.
RS42. The postal address (if any) specified in each flight booking confirmation must include exactly one postal code.
RS43. The postal address (if any) specified in each flight booking confirmation must include exactly one country name.
RS44. Each passenger name specified in each flight booking confirmation must include exactly one first name.
RS45. Each passenger name specified in each flight booking confirmation must include exactly one last name.
RS46. Each flight booking confirmation for a one-way journey must specify exactly one flight.
RS47. Each flight booking confirmation for a return journey must specify exactly two flights.
RS53. Each flight booking confirmation must specify exactly one travel class for each flight.
RS54. Each flight booking confirmation must specify exactly one fare class for each flight.
RS55. The record locator allocated to each confirmed flight booking must be different to the record locator allocated to each other confirmed flight booking.
RS56. The combination of departure date, flight number, departure city and seat number specified in each seat allocation must be different to the combination of departure date, flight number, departure city and seat number specified in each other seat allocation.
RS60. The combination of placename and postal code included in the postal address (if any) specified in each flight booking confirmation must be one of the combinations of placename and postal code allocated by the postal authority of the country specified in that postal address if the airline can access the postal code information from that postal authority.
RS61. Each flight booking confirmation must specify exactly one set of passport details for each passenger specified in that flight booking confirmation if any flight specified in that flight booking confirmation is international.
RS62. Each flight booking confirmation must specify exactly one date of birth for each passenger specified in that flight booking confirmation if that flight booking confirmation specifies an insurance option.
RS63. Each flight booking confirmation must specify exactly one escorting party at the destination city specified in that flight booking confirmation if every passenger specified in that flight booking confirmation is less than 12 years of age at the time of travel.
RS64. Each travel class specified in each flight booking request must be one of the travel classes offered by the airline.
 

(Note that this is an alternative to RS66 and cannot coexist with it.)

RS65. The fare class specified for each flight in each flight booking confirmation must be one of the fare classes available on that flight.
RS66. The travel class specified in each flight booking request must be first class, business class, premium economy class or economy class.
 

(Note that this is an alternative to RS64 and cannot coexist with it.)

RS70. Each flight specified in each flight booking confirmation must be one of the flights that is operated by either the airline or a partner of the airline.
RS73. The number of seats that are both of the fare class specified in the flight booking confirmation and available on the outgoing flight specified in the flight booking confirmation must be more than the number of passengers specified in the flight booking request that gives rise to that flight booking confirmation.
RS74. The number of seats that are both of the fare class specified in the flight booking confirmation and available on the return flight specified in the flight booking confirmation must be more than the number of passengers specified in the flight booking request that gives rise to that flight booking confirmation if that flight booking request specifies a return journey.
RS75. The number of infant passengers specified in a flight booking confirmation must be no more than the number of adult passengers specified in that flight booking confirmation.
RS76. The origin city of the outgoing flight specified in a flight booking confirmation must be the same as the origin city specified in the flight booking request that gives rise to that flight booking confirmation.
RS77. The destination city of the outgoing flight specified in a flight booking confirmation must be the same as the destination city specified in the flight booking request that gives rise to that flight booking confirmation.
RS78. The origin city of the return flight (if any) specified in a flight booking confirmation must be the same as the destination city of the outgoing flight specified in that flight booking confirmation.
RS79. The destination city of the return flight (if any) specified in a flight booking confirmation must be the same as the origin city of the outgoing flight specified in that flight booking confirmation.
RS80. The set of passengers booked on the return flight (if any) specified in a flight booking confirmation must be the same as the set of passengers booked on the outgoing flight specified in that flight booking confirmation.
RS81. An infant passenger is by definition a passenger who is less than 2 years of age at the time of travel.
RS82. An adult passenger is by definition a passenger who is at least 12 years of age at the time of travel.
RS83. The origin city of the return flight of a return journey is by definition the same as the destination city of the outgoing flight of that return journey.
RS84. The destination city of the return flight of a return journey is by definition the same as the origin city of the outgoing flight of that return journey.
RS85. The set of passengers booked on each flight specified in a flight booking confirmation is by definition the same as the set of passengers booked on each other flight specified in that flight booking confirmation.
RS86. The departure time of the first or only return flight (if any) specified in each flight booking confirmation must be no earlier than 1 hour after the arrival time of the last or only outgoing flight specified in that flight booking confirmation.
RS87. The departure time of the first or only outgoing flight specified in each flight booking confirmation that is made online must be no earlier than 3 hours after the booking confirmation time of that flight booking confirmation.
RS88. The departure time of the second or any subsequent outgoing flight (if any) specified in each flight booking confirmation must be no earlier than 30 minutes after the arrival time of the previous outgoing flight specified in that flight booking confirmation.
RS89. The departure time of the second or any subsequent return flight (if any) specified in each flight booking confirmation must be no earlier than 30 minutes after the arrival time of the previous return flight specified in that flight booking confirmation.
RS90. The arrival time of each outgoing flight other than the last specified in each flight booking confirmation that specifies more than one outgoing flight must precede the departure time of the next outgoing flight specified in that flight booking confirmation by at least the minimum domestic transit time for the port at which those flights connect if no outgoing flight specified in that flight booking confirmation is international.
RS91. The arrival time of each outgoing flight other than the last specified in each flight booking confirmation that specifies more than one outgoing flight must precede the departure time of the next outgoing flight specified in that flight booking confirmation by at least the minimum international transit time for the port at which those flights connect if any outgoing flight specified in that flight booking confirmation is international.
RS92. The arrival time of each return flight other than the last specified in each flight booking confirmation that specifies more than one outgoing flight must precede the departure time of the next outgoing flight specified in that flight booking confirmation by at least the minimum domestic transit time for the port at which those flights connect if no outgoing flight specified in that flight booking confirmation is international.
RS93. The arrival time of each return flight other than the last specified in each flight booking confirmation that specifies more than one outgoing flight must precede the departure time of the next outgoing flight specified in that flight booking confirmation by at least the minimum international transit time for the port at which those flights connect if any outgoing flight specified in that flight booking confirmation is international.
RS94. The destination port of each outgoing flight other than the last specified in each flight booking confirmation that specifies more than one outgoing flight must be the same as the origin port of the next outgoing flight specified in that flight booking confirmation.
RS95. The destination port of each return flight other than the last specified in each flight booking confirmation that specifies more than one return flight must be the same as the origin port of the next return flight specified in that flight booking confirmation.
RS96. Each passenger must check in no later than 30 minutes before the departure time of the first or only outgoing flight specified in each flight booking confirmation if that flight is domestic.
RS97. Each passenger must check in no later than 90 minutes before the departure time of the first or only outgoing flight specified in each flight booking confirmation if that flight is international.
RS98. Each passenger must check in no later than 30 minutes before the departure time of the first or only return flight (if any) specified in each flight booking confirmation if that flight is domestic.
RS99. Each passenger must check in no later than 90 minutes before the departure time of the first or only return flight (if any) specified in each flight booking confirmation if that flight is international.
RS100. Each passenger must board the flight for which that passenger has checked in no later than 15 minutes before the departure time of that flight.
RS101. Online check-in for a flight must not occur earlier than 24 hours before the departure time of that flight.
RS102. Online check-in for a flight may occur only during the 24 hours before the departure time of that flight.
RS104. A passenger may board a flight only after that passenger checks in for that flight.
RS105. A passenger may board an international flight only after that passenger undergoes departure control.
RS106. A passenger may board a flight only after that passenger undergoes security screening.
RS107. A passenger may undergo departure control only after that passenger undergoes check-in.
RS108. A passenger may board a flight only if that passenger has not entered landside after the last security screening of that passenger.
RS110. A passenger may board an international flight only if that passenger presents a passport that specifies the name of that passenger and bears a likeness of that passenger and specifies an expiry date that is later than 6 months after the departure date of that flight.
RS111. A passenger may pass through departure control only if that passenger presents a boarding pass that specifies the name of that passenger and specifies a departure date that is no earlier than the date of departure control and is no later than 1 day after the date of departure control.
RS112. A passenger may pass through departure control only if that passenger presents a passport that specifies the name of that passenger and bears a likeness of that passenger and specifies an expiry date that is later than 6 months after the date of departure control.
RS113. A passenger may pass through departure control only if that passenger presents a boarding card that specifies the name of that passenger and specifies a departure date that is no earlier than the date of departure control and is no later than 1 day after the date of departure control.
RS114. A passenger may pass through security screening for an international flight only if that passenger presents a boarding pass that specifies the name of that passenger and specifies a departure date that is no earlier than the date of security screening and is no later than 1 day after the date of security screening.
RS115. A passenger may pass through security screening for an international flight only if that passenger presents a passport that specifies the name of that passenger and bears a likeness of that passenger and specifies an expiry date that is later than 6 months after the date of security screening.
RS116. A journey is by definition a one-way journey, a return journey or a multi-stop journey.
RS117. Each flight has by definition exactly one origin port.
RS118. Each flight has by definition exactly one destination port.
RS125. A valid phone number is by definition composed of from 9 to 12 digits.
RS126. The mobile phone number (if any) specified in each flight booking confirmation must be a valid phone number.
RS127. The fax number (if any) specified in each flight booking confirmation must be a valid phone number.
RS128. The origin city daytime phone number (if any) specified in each flight booking confirmation must be a valid phone number.
RS129. The origin city evening phone number (if any) specified in each flight booking confirmation must be a valid phone number.
RS130. The destination city daytime phone number (if any) specified in each flight booking confirmation must be a valid phone number.
RS131. The destination city evening phone number (if any) specified in each flight booking confirmation must be a valid phone number.
RS132. A valid port code is by definition composed of exactly 3 letters.
RS133. A valid flight number is by definition composed of from 2 to 3 letters followed by up to 4 digits.
RS134. A valid person name is by definition composed of at least 1 given name followed by exactly 1 surname.
RS135. A valid given name is by definition composed of at least 2 letters.
RS136. A valid surname is by definition composed of at least 2 letters.
RS137. The person name specified in each flight booking confirmation must be a valid person name.
RS138. The e-mail address (if any) specified in each flight booking confirmation must be a valid e-mail address.
RS139. The postal address (if any) specified in each flight booking confirmation must be a valid postal address.
RS140. The flight number specified in each seat allocation must be a valid flight number.
RS141. The departure date specified in each flight booking request must be represented using a valid date representation.
RS142. The return date (if any) specified in each flight booking request must be represented using a valid date representation.
RS143. The number of passengers specified in each flight booking request must be represented using a valid unsigned integer.
RS144. The flight specified in each flight booking confirmation must be represented using a valid flight number.
RS145. The origin port of each flight specified in each flight booking confirmation must be represented using a valid port code.
RS146. The destination port of each flight specified in each flight booking confirmation must be represented using a valid port code.
RS147. A bag may be carried onto a flight only after that bag has undergone security screening.
RS148. A computer may undergo security screening only after that computer has been removed from any bag.
RS149. Each flight booking confirmation must arise from a flight booking request.
RS150. A passenger may board a domestic flight only if that passenger presents a boarding pass that specifies that flight and specifies the departure date of that flight.
RS151. A passenger may board an international flight only if that passenger presents a boarding pass that specifies the name of that passenger and that flight and the departure date of that flight.
RS154. A person may travel alone only if that person is more than 2 years of age.
RS155. A person may obtain travel insurance only if that person is less than 71 years of age.
RS156. A person may be employed as a cabin crew member only if that person has a height of at least 160cm.
RS157. A passenger may be allocated to a seat in an exit row only if that passenger is able to open an aircraft door.
RS158. A person may be rostered on a flight crew only if that person holds an airline transport pilot licence that is current and a type endorsement that is current for each aircraft type to be flown by that flight crew.
RS159. A person may be rostered as pilot in command on a flight crew only if that person holds a command endorsement that is current.
RS160. The cabin crew member who checks that an aircraft door is disarmed must not be the same cabin crew member who disarmed that aircraft door.
RS161. The flight crew member who signs the pre-flight check report must be the same flight crew member who performed the pre-flight check documented in that pre-flight check report.
RS162. An employee of an organization is by definition a person who is employed by that organization.
RS163. Christmas Day is by definition December 25th.
RS164. A flight is by definition either a domestic flight or an international flight.
RS165. pH is by definition at least 0 and at most 14.
RS166. The extension for an order line is by definition calculated as the product of:
• the unit count for that order line
• the unit price for that order line and
1 minus the discount rate for that order line.
RS167. A senior passenger is by definition a passenger whose age is at least 70 years at the time of travel.
RS168. An infant passenger is by definition a passenger whose age is less than 2 years at the time of travel.
RS169. An immediate family member of a person is by definition a parent, sibling, spouse, or child of that person.
RS170. A flight is by definition a service on which passengers can travel between particular ports that operates on the same days each week and that departs and/or arrives at each port at the same time of day on each day of operation.
RS171. An international flight is by definition a flight in which the origin port and destination port are in different countries.
RS172. A domestic flight is by definition a flight in which the origin port and destination port are in the same country.
RS173. Each person has by definition exactly one date of birth.
RS174. Each person has by definition at most one Australian passport.
RS175. Each person has by definition one or more citizenships or no citizenship.
RS176. Each person has by definition at least one trading name.
RS178. Each employee record must specify the date of birth of the employee documented in that employee record.
RS179. Each application for personal life insurance must specify the date of birth of the life insured.
RS180. A person may be employed by the company only if that person is a union member.
RS181. Each employee record must specify the union membership expiry date of the employee documented in that employee record.