Online "Book Flights" facility for an airline

As we begin Part 20, we have:

Rule Taxonomy

  1. Cardinality rules:  data must be present or absent, and/or is restricted in terms of the number of instances.

    1. Mandatory data rules:  one or more data items are required in a particular context.
      1. Mandatory data item rules:  a particular single data item must be present.
      2. Mandatory option selection rules:  one of a set of pre-defined options must be specified.
      3. Mandatory group rules:  at least one of a group of data items must be present.

    2. Prohibited data rules:  a particular data item is not allowed in a particular context.

    3. Singular data rules:  only one instance of a particular data item is allowed in a particular context.

    4. Dependent cardinality rules:  the number of instances of a data item depends on some other data, as in rule statement RS25.

  2. Data content rules:  data is constrained to certain values.

    1. Value set rules:  a data item (or combination of data items) must have a value from a discrete set.

    2. Match rules:  a data item must be the same as or different to some other data item.

    3. Range rules:  a data item must have a value from within a continuous range.

    4. Uniqueness constraints:  a data item (or combination of data items) must be different to other instances of the same data item.

    5. Set constraints:  a set of data items must be the same as some other set of data items.

    6. Data item format rules:  a data item must have a particular format.

  3. Process rules:  occurrences of a process are constrained.

    1. Inter-process interval rules:  an occurrence of a process is constrained as to when it can occur before or after another occurrence of the same process or an occurrence of another process.

    2. Pre-requisite process rules:  a process may only occur if some other process has previously occurred.

    3. Other process pre-conditions:  a process may only occur if some condition (other than the occurrence of a process) has been met.

  4. Structural (definitional) rules:  there are constraints on the structure or definition of a business object of a particular type.

    1. Structural cardinality rules:  there are constraints on the number of components of a particular type in a business object of a particular type, as in rule statements RS117 and RS118.

    2. Data type definition rules:  there are common constraints on the structure or definition of data items of a particular type.

Rule Statement Templates

RT38.  Each <term 1> {<qualifying clause>|}
must <verb phrase>
<
cardinality> <term 2> {<preposition> {each|the} <term 3>|}
{{
if|unless} <conditional clause>|}.
  (from which rule statements RS8, RS9, RS12 to RS17, RS46, RS47, RS53, RS54, and RS61 to RS63 can be generated)
RT39.  {The|Each} <term 1> {(if any)|}
        
that <verb phrase 1> each <term 2> {<qualifying clause>|}
must <verb phrase 2>
<
cardinality> <term 3> {<preposition> {each|the} <term 4>|}
{{
if|unless} <conditional clause>|}.
  (from which rule statements RS40 to RS45 can be generated)
RT16. Each <term 1> {<qualifying clause>|}
must {({if|unless} <conditional clause>)|} specify whether
{{
or not|}
    {
it|the <term 2>} <verb phrase 1> {<article> <term 3>|}|
    {
it|the <term 4>} <verb phrase 2> <or-list>}.
  (from which rule statements RS26 to RS29 can be generated)
RT17. Each <term 1> {<qualifying clause>|}
must
<verb phrase>
{a|an} <term 2>, {a|an} <term 3> or both
{{if|unless} <conditional clause>|}.
  (from which rule statement RS30 can be generated)
RT18. Each <term 1> {<qualifying clause>|}
must
<verb phrase>
{a|an} <term 2> or {a|an} <term 3> but not both
{{if|unless} <conditional clause>|}.
  (from which rule statement RS31 can be generated)
RT19. Each <term 1> {<qualifying clause>|}
must {({if|unless} <conditional clause>)|} <
verb phrase>
<cardinality> of the following: <or-list>
.
  from which rule statements RS32, RS34, and RS35 can be generated)
RT20.  {A|An} <term 1> {<qualifying clause>|}
must not <verb phrase>
{a|an} <term 2>
{{if|unless} <conditional clause>|}
.
  (from which rule statement RS11 can be generated)
RT21.  The <term 1> {<qualifying clause>|} {(if any)|}
    that <verb phrase> each <term 2> {<qualifying clause>|}
must be
<predicate>
{{if|unless} <conditional clause>|}.
  (from which rule statements RS19 to RS24, RS38, RS39, RS55, RS64 to RS66, RS70, RS126 and RS137 to RS146 can be generated)
RT22.  The combination of <simple and-list>
    {<qualifying clause>|} {(if any)|}
    that <verb phrase> each <term 2> {<qualifying clause>|}
must be
<combination predicate>
{{if|unless} <conditional clause>|}.
  from which rule statements RS56 and RS60 can be generated)
RT27.  The <set function> of {the|} <term 1> <qualifying clause>
must be
{<non-time range predicate>|<equality predicate>}
{{if|unless} <conditional clause>|}.
  (from which rule statements RS25, RS73, and RS74 can be generated)
RT28.  The set of <term 1> <qualifying clause>
must be the same as
the set of <term 2> <qualifying clause>
{{
if|unless} <conditional clause>|}.
  (from which rule statement RS80 can be generated)
RT25.  A <term 1> is by definition
a {<term 2> <qualifying clause>|<or-list>}.
  (from which rule statements RS81 and RS82 can be generated)
RT26.  The <term 1> {<qualifying clause>|} {(if any)|}
        
that <verb phrase> each <term 2> {<qualifying clause>|}
is by definition
<predicate>
{{
if|unless} <conditional clause>|}.
  (from which rule statements RS83 and RS84 can be generated)
RT29.  The set of <term 1> <qualifying clause>
is by definition the same as
the set of <term 2> <qualifying clause>
{{
if|unless} <conditional clause>|}.
  (from which rule statement RS85 can be generated)
RT32.  A <term 1> {<qualifying clause 1>|}
may <verb phrase 1>
{<
article>|} <term 2> {<qualifying clause 2>|}
only after that <term 1> {<process>|<process list>}.
  (from which rule statements RS104 to RS107 can be generated)
RT33.  A <term 1> {<qualifying clause 1>|}
may <verb phrase 1>
{<
article>|} <term 2> {<qualifying clause 2>|}
only if <conditional clause>.
  (from which rule statements RS108 to RS115 can be generated)
RT34.  {<determiner>|} <term 1> <qualifying clause 1>
must{ not|} <verb phrase>
{<
determiner> <term 2> {<qualifying clause 2>|}|}
<time range predicate>
{{
if|unless} <conditional clause>|}.
  (from which rule statements RS96 to RS101 can be generated)
RT35.  {<determiner>|} <term 1> <qualifying clause 1>
may <verb phrase>
{<
determiner> <term 2> {<qualifying clause 2>|}|}
only <time range predicate>
{{
if|unless} <conditional clause>|}.
  (from which rule statement RS102 can be generated)
RT36.  Each <term 1>
<
verb phrase> by definition
<
cardinality> <term 2> {<preposition> each <term 3>|}.
  (from which rule statements RS117 and RS118 can be generated)
RT37.  A valid <term 1>
is by definition composed of <format definition>.
  (from which rule statements RS132 to RS136 can be generated)

Rule Statement Sub-templates

Primitives

ST1. <cardinality> ::=
  {exactly|at {least|most}|at least <positive integer> and at most} <positive integer>
ST7.  <set function> ::=
  {number|total|maximum|minimum|
        average
|mean|median|mode}
ST11. <article> ::= {a|an|the}
ST50. <determiner> ::=
 

{<article>|<cardinality>|each|that|those|
the {{
first|last} or only|second or any subsequent|previous|next}}

Predicates

ST57.  <predicate> ::=
  {<value set predicate>|<match predicate>|<range predicate>|<equality predicate>|<uniqueness predicate>|<format predicate>}
ST32.  <value set predicate> ::=
  {one of the <term> {<qualifying clause>|}|<value-list>}
  (used in rule statements RS21, RS22, and RS64 to RS66)
ST33. <value-list> ::=
  {<literal 1> or <literal 2>|<literal 3>, <value-list>}
ST4.  <match predicate> ::=
  {the same as|different to} the <term> {<qualifying clause>|}
  (used in rule statement RS23)
ST16. <range predicate> ::=
  {<time range predicate>|<non-time range predicate>}
ST51. <time range predicate> ::=
  {{no|} {later|earlier} than <literal>|
{
no|} {later|earlier} than {<literal> {after|before}|}
        
the <term> {<qualifying clause>|}|
during the <literal> {after|before}
        
the <term> {<qualifying clause>|}}
  (used in rule statements RS19 and RS20)
ST45. <non-time range predicate> ::=
  {{no|} {more|less} than} <literal>|
{{
no|} {more|less} than|at {least|most} <literal> more than} the {<set function> of|} <term> {<qualifying clause>|}}
  (used in rule statement RS24)
ST46.  <equality predicate> ::=
  {not|} equal to
{<
literal>|
the {<set function> of|} <term> {<qualifying clause>|}}
  (used in rule statement RS25)
ST20.  <uniqueness predicate> ::=
  different to the <term 1> that <verb phrase> each other
            <
term 2> {<qualifying clause>|}
  (used in rule statement RS55)
ST21. <combination predicate> ::=
  {<combination value set predicate>|
        <combination uniqueness predicate>}
ST22. <combination value set predicate> ::=
  one of the combinations of <simple and-list>
            {<qualifying clause>|}
  (used in rule statement RS60)
ST23. <combination uniqueness predicate> ::=
  different to the combination of <simple and-list>
            that <verb phrase> each other <term>
            {<qualifying clause>|}
  (used in rule statement RS56)
ST24. <format predicate> ::=
  {represented using|} a valid <term 1>

Format definitions

ST57. <format definition> ::=
  {{exactly|at least|up to} <positive integer>|
from <positive integer> to <positive integer>} <term 1>
{
followed by <format definition>|}

Processes

ST52. <process> ::=
  <verb phrase>
{{<
determiner>|} <term> {<qualifying clause>|}|}

Lists

ST15. <or-list> ::= {<simple or-list>|<complex or-list>}
ST12. <simple or-list> ::=
  {<article> <term 1> or <article> <term 2>|
    <article> <term 3>, <simple or-list>}
ST14. <complex or-list> ::=
  <article> <term 1>|<simple and-list>}; or
    {<article> <term 1>|<simple and-list>}|<complex or-list>}
ST13. <simple and-list> ::=
  {<article> <term 1> and <article> <term 2>|
    <article> <term 3>, <simple and-list>}
ST53. <process list> ::=
  {<or-process list>|<and-process list>}
ST54. <or-process list> ::=
  {<process 1> or < process 2>|<process 3>, <or-process list>}
ST55. <and-process list> ::=
  {<process 1> and < process 2>|<process 3>, <and-process list>}

Conditional clauses

ST24. <conditional clause> ::=
  {<simple conditional clause>|<and-conditional clause>|
<or-conditional clause>}
ST25. <simple conditional clause> ::=
  <condition subject> <condition>
ST26. <and-conditional clause> ::=
  <simple conditional clause> and
{<simple conditional clause>|<and-conditional clause>}
ST27. <or-conditional clause> ::=
  <simple conditional clause> or
{<simple conditional clause>|<or-conditional clause>}
ST49. <condition subject> ::=
  <determiner> <term> {<qualifying clause>|}
ST45. <simple condition> ::=
  <verb phrase> <determiner> <term>
ST56. <final condition> ::=
  {{<simple condition>|<verb phrase>|is <predicate>}
{<
preposition> <condition subject>|}|
other than the {first|last}}
ST36. <chained condition> ::=
  {<simple condition>|<chained condition>}
{that|who} <final condition>
ST37. <condition> ::= {<final condition>|<chained condition>}

Qualifying clauses

ST47. <simple qualifying clause> ::=
  {{that|who} <final condition>|
<
preposition> {which|whom} <determiner> <term>
<
verb phrase>}
ST48. <chained qualifying clause> ::=
  {{that|who} <simple condition>
{<simple qualifying clause>|<chained qualifying clause>}|
<
preposition> {which|whom} {<article>|each|that} <term> <chained condition>}
ST40. <or-qualifying clause> ::=
  {<simple qualifying clause>|<or-qualifying clause>}
or <final condition>
ST41. <and-qualifying clause> ::=
  {<simple qualifying clause>|<and-qualifying clause>}
and <final condition>
ST42. <either-or-qualifying clause> ::=
  {{that|who} either <condition> or <condition> {or|but not} both|
{
that|who} <simple condition> <either-or-qualifying clause>
ST43. <both-and-qualifying clause> ::=
  {that|who} both <condition> and <condition>|
{
that|who} <simple condition> <both-and-qualifying clause>
ST44. <qualifying clause> ::=
  {<simple qualifying clause>|<chained qualifying clause>|
<or-qualifying clause>|<and-qualifying clause>|
<either-or-qualifying clause>|<both-and-qualifying clause>
}

Metarules

Rule type Template Metarules
Mandatory data item rule   <cardinality> ::=
    {exactly <positive integer>|
    at least <positive integer>
    {and at most <positive integer>|}}
RT39 for data items that are part of complex data items
RT38 for other data items
Mandatory option selection rule RT16  
Mandatory group rule RT17 if either or both of 2 items in the group
RT18 if only 1 of 2 items in the group
RT19 if more than 2 items in the group
Prohibited data rule RT20  
Singular data rule   <cardinality> ::= {exactly|at most} one
RT39 for data items that are part of complex data items
RT38 for other data items
Dependent cardinality rule RT27 <set function> ::= number
Structural cardinality rule RT36  
Value set rule RT21 <predicate> ::= <value predicate>
if only 1 data item
RT22 <combination predicate> ::=
<combination value set predicate>
if combination of data items
Match rule (operative) RT21 <predicate> ::= <match predicate>
Match rule (structural) RT26 <predicate> ::= <match predicate>
Range rule RT21 <predicate> ::= <range predicate>
Uniqueness constraint RT21 <predicate> ::=
<uniqueness predicate>
if only 1 data item
RT22

<combination predicate> ::=
<combination uniqueness predicate>
if combination of data items

Set constraint (operative) RT28  
Set constraint (structural) RT29  
Definitional rule RT25  
Inter-process interval rule RT34 if rule statement expresses obligation (must)
RT35

if rule statement expresses restricted permission (may only)

Prerequisite process rule RT32  
Other process pre-condition RT33  

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 passengers must travel on the specified dates.
RS27. Each flight booking confirmation must specify whether or not the paying party 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.

Fact Types

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
FT15.  flight booking request gives rise to flight booking confirmation
FT16. passenger must travel on the specified dates
FT17. paying party wishes to include a CO2 offset payment
FT20. flight booking request is for multi-stop journey
FT21. payment is for flight booking confirmation
FT22. credit card payment is a category of payment
FT23. electronic transfer payment is a category of payment
FT24. flight booking confirmation specifies mobile phone number
FT25. flight booking confirmation specifies e-mail address
FT26. flight booking confirmation specifies credit card
FT27. flight booking confirmation specifies electronic transfer payment receipt
FT28. flight booking confirmation specifies postal address
FT29. flight booking confirmation specifies fax number
FT30. flight booking confirmation specifies origin city daytime phone number
FT31. flight booking confirmation specifies origin city evening phone number
FT32. flight booking confirmation specifies destination city daytime phone number
FT33. flight booking confirmation specifies destination city evening phone number
FT34. bag weighs weight
FT35. bag is labelled with label
FT36. 'heavy bag' label is a category of label
FT37. flight has departure time
FT38. flight booking confirmation specifies flight
FT39. outgoing flight is a category of flight
FT40. return flight is a category of flight
FT41. flight has arrival time
FT42. flight booking confirmation is made online
FT43. flight booking confirmation has booking confirmation time
FT44. postal address includes address line
FT45. postal address includes placename
FT46. postal address includes postal code
FT47. postal address includes country name
FT48. passenger name includes first name
FT49. passenger name includes last name
FT50. flight booking confirmation is for return journey
  (derived from fact types FT6 and FT15)
FT51. flight booking confirmation is for one-way journey
  (derived from fact types FT7 and FT15)
FT54. flight booking confirmation specifies travel class for flight
FT55. flight booking confirmation specifies fare class for flight
FT56. record locator is allocated to flight booking confirmation
FT57. departure date is specified in seat allocation
FT58. flight number is specified in seat allocation
FT59. departure city is specified in seat allocation
FT60. seat number is specified in seat allocation
FT61.  postal authority allocates place name
FT62.  postal authority allocates postal code
FT63.  postal authority is of country
FT64.  postal address specifies country
  (derived from fact type FT47)
FT65.  airline can access postal code information from postal authority
FT66.  flight booking confirmation specifies set of passport details for passenger
FT67.  flight is international
FT68.  flight booking confirmation specifies date of birth for passenger
FT69.  flight booking confirmation specifies insurance option
FT70.  flight booking confirmation specifies escorting party at destination city
FT71.  flight booking confirmation specifies passenger
  (derived from fact type FT12)
FT72.  passenger is of age
FT73.  travel class is offered by airline
FT74.  fare class is available on flight
FT75.  flight is operated by airline
FT76.  flight is operated by partner of airline
FT77.  seat is of fare class
FT78.  seat is available on flight
FT79.  flight has origin city
FT80.  flight has destination city
FT81.  passenger is booked on flight
FT82.  flight connects with flight at port
FT83.  passenger boards flight
FT84.  passenger checks in for flight
FT85.  online check-in is for flight
FT86.  port has minimum domestic transit time
FT87.  port has minimum international transit time
FT88.  flight is domestic
FT89.  passenger undergoes departure control
FT90.  passenger undergoes security screening
FT91.  passenger undergoes check-in
FT92.  passenger enters landside
FT93.  passenger presents boarding pass
FT94.  boarding pass specifies flight
FT95.  boarding pass specifies departure date
FT96.  international flight is a category of flight
FT97.  passenger boards international flight
  (derived from fact types FT83 and FT94)
FT98.  passenger presents passport
FT99.  passport specifies name of passenger
FT100.  passport bears likeness of passenger
FT101.  passport specifies expiry date
FT102.  passenger passes through departure control
FT103.  date is of departure control
FT104.  boarding card specifies name of passenger
FT105.  passenger passes through security screening
FT106.  security screening is for international flight
FT107.  date is of security screening
FT108.  online check-in is a category of check-in
FT109.  domestic flight is a category of flight
FT110.  flight has destination port
FT111.  flight has origin port
FT112.  multi-stop journey is a category of journey
FT113.  passenger name identifies passenger
FT114.  flight booking confirmation specifies paying party
FT115.  flight is part of journey
FT116.  port serves city

 


Note

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.