Interface for qBeta module object

Origin: OOPM

ReservationSystem: obj
   %visible StringLib,Containers.Set,Containers.OrderedList
   Person:
      sendEmail:
      asText:<
         out T: ref String
   Employee:
   Date: Value
      >:
         out B: var Boolean
   City:
   toDay:
      out D: var Date
   Travel:
   Flight: -- new
   Carrier: -- new
      notifyCancellation:
      asText:<
         out T: ref String
   AirPort:
   TrainStation:
   FlightCompany: Carrier
      notifyCancellationY:
   TrainCompany:
      notifyCancellation:
   Hotel:
   Itinerary:
   bookingRegister: obj Set
   Booking:
      number: var integer
      theDate: val Date -- date of issue
      customer: ref Person
      agent: ref Employee
      lastCancelDate: val Date
      registerBooking:
         -- Register this booking in a register in the agency
         
      cancel:<
      confirmText: ref String
      confirm:<
   TravelBooking: Booking
      TravelInfo:< --Travel
         source: ref City
         destination: ref City
         asText:<
            out T: ref String
      theTravel: ref TravelInfo
      confirm::<
         --confirmText := confirmText + "(text special for TravelBooking)"
         
   FlightBooking: TravelBooking
      TravelInfo::
         theFlight: ref Flight
         row: var Integer
         seat: var Char
         theCarrier: ref Carrier
         asText::
      cancel::
      confirm::
   TrainBooking: TravelBooking
      TravelInfo::
         fromStation: ref TrainStation
         toStation: ref TrainStation
         waggon: var Integer
         seat: var Integer
         carrier: ref TrainCompany
      cancel::
      confirm::
   HotelBooking: Booking
      theHotel: ref Hotel
      room: var Integer
      arrival: var Date
      departure: var Date
      confirm::
         -- confirmText.append("text special for HotelBooking")
         
   RoundTripBooking:
      plan: ref Itinerary
      trip: obj OrderedList
      confirm: --- used to be ::
         --for all bookings b in trip b.confirm -- syntaks
         
   makeBooking:
      current: ref FlightBooking
   %Module version2