se
chalmers
cse
mdsd1617
group13
hotelsystem
BookingHandler
getBookingById
bookingId
isFree
roomId
startDate
endDate
bookings
paymentHandler
roomhandler
bookingCurrentlyCheckingOut
nextBookingId
Booking
cancel
getOccupiedRooms
date
checkOut
nrOfNights
isCheckedIn
checkIn
room
getBookingPrice
getRoomPrice
roomNumber
isFree
roomId
startDate
endDate
addExtra
extra
roomNbr
checkOutRoom
roomNumber
customer
roomReservations
startDate
endDate
canceled
bookingId
bills
confirmed
Customer
firstName
lastName
RoomReservation
checkIn
checkOut
nrOfNights
getRoomIfOccupied
date
getRoomId
addExtra
extra
roomType
roomExtras
startDate
endDate
room
checkInDate
checkOuDate
RoomType
description
numBeds
pricePerNight
name
RoomExtra
price
description
Room
occupied
roomtype
blocked
roomNumber
Bill
roomreservation
price
billID
PaymentHandler
payIfCardValid
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
sum
bankingComponent
IRoomHandler
getAllRoomTypes
nrOfBeds
getFreeRooms
getAllRoomsByType
roomType
getRoomType
roomTypeName
getFreeRoomByType
roomType
getAllRooms
IHotelReceptionistProvides
editBookingTime
reservationId
startDate
endDate
addRoomTypeToBooking
bookingId
roomTypeName
numberOfRoomsForType
removeRoomTypeFromBooking
bookingId
roomType
nbrToRemove
listFreeRooms
bookingId
checkIn
bookingId
roomNumbers
cancelBooking
bookingId
listBookings
listOccupiedRooms
date
listCheckins
startDate
endDate
listCheckouts
startDate
endDate
addExtraToRoom
bookingId
roomNumber
extraDescription
price
getFreeRoom
roomType
startDate
endDate
IHotelCustomerProvides
getFreeRooms
numBeds
startDate
endDate
initiateBooking
firstName
startDate
endDate
lastName
addRoomToBooking
roomTypeName
bookingID
confirmBooking
bookingID
initiateCheckout
bookingID
payDuringCheckout
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
initiateRoomCheckout
roomNumber
bookingId
payRoomDuringCheckout
roomNumber
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
checkInRoom
roomTypeName
bookindId
FreeRoomTypesDTO
roomTypeDescription
numBeds
pricePerNight
numFreeRooms
RoomHandler
getRoom
roomNumber
initialize
numberOfRooms
roomTypes
rooms
IHotelAdministratorProvides
addRoomType
roomTypeName
price
nbrOfBeds
featureDescription
editRoomType
roomTypeName
price
nbrOfBeds
featuresDescription
removeRoomType
roomTypeName
changeRoomType
roomNumber
roomTypeName
addRoom
roomNumber
roomTypeName
removeRoom
roomNumber
blockRoom
roomNumber
unblockRoom
roomNumber
IHotelStartupProvides
startup
numRooms
HotelInitializer
roomHandler
bankcomponents
BankAdministrator
IAdministratorProvides
makeDeposit
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
sum
addCreditCard
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
removeCreditCard
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
getBalance
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
ICustomerProvides
makePayment
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
sum
isCreditCardValid
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
actor
User
Receptionist
ireceptionistprovides
ihotelcustomerprovides
Administrator
iadministratorprovides
ihotelstartupprovides
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="se" nsURI="http:///se.ecore" nsPrefix="se">
  <eSubpackages name="chalmers" nsURI="http:///se/chalmers.ecore" nsPrefix="se.chalmers">
    <eSubpackages name="cse" nsURI="http:///se/chalmers/cse.ecore" nsPrefix="se.chalmers.cse">
      <eSubpackages name="mdsd1617" nsURI="http:///se/chalmers/cse/mdsd1617.ecore"
          nsPrefix="se.chalmers.cse.mdsd1617">
        <eSubpackages name="group13" nsURI="http:///se/chalmers/cse/mdsd1617/group13.ecore"
            nsPrefix="se.chalmers.cse.mdsd1617.group13">
          <eSubpackages name="hotelsystem" nsURI="http:///se/chalmers/cse/mdsd1617/group13/hotelsystem.ecore"
              nsPrefix="se.chalmers.cse.mdsd1617.group13.hotelsystem">
            <eClassifiers xsi:type="ecore:EClass" name="BookingHandler" eSuperTypes="#//chalmers/cse/mdsd1617/group13/hotelsystem/IHotelReceptionistProvides #//chalmers/cse/mdsd1617/group13/hotelsystem/IHotelCustomerProvides">
              <eOperations name="getBookingById" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Booking">
                <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="isFree" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="startDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="endDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eStructuralFeatures xsi:type="ecore:EReference" name="bookings" ordered="false"
                  upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Booking"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="paymentHandler"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/PaymentHandler"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="roomhandler"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/IRoomHandler"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="bookingCurrentlyCheckingOut"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="nextBookingId"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="Booking">
              <eOperations name="cancel" ordered="false" lowerBound="1"/>
              <eOperations name="getOccupiedRooms" ordered="false" upperBound="-1"
                  eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room">
                <eParameters name="date" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="checkOut" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              <eOperations name="nrOfNights" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              <eOperations name="isCheckedIn" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
              <eOperations name="checkIn" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
                  <details key="originalName" value="checkIn()"/>
                </eAnnotations>
                <eParameters name="room" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room"/>
              </eOperations>
              <eOperations name="getBookingPrice" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              <eOperations name="getRoomPrice" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="isFree" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="startDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="endDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="addExtra" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="extra" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomExtra"/>
                <eParameters name="roomNbr" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="checkOutRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eStructuralFeatures xsi:type="ecore:EReference" name="customer" ordered="false"
                  lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Customer"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="roomReservations"
                  ordered="false" upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomReservation"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="startDate" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="endDate" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="canceled" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="bookingId" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="bills" ordered="false"
                  upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Bill"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="confirmed" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="Customer">
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" ordered="false"
                  unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" ordered="false"
                  unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="RoomReservation">
              <eOperations name="checkIn" ordered="false" lowerBound="1"/>
              <eOperations name="checkOut" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
                <eParameters name="nrOfNights" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="getRoomIfOccupied" ordered="false" lowerBound="1"
                  eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room">
                <eParameters name="date" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="getRoomId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              <eOperations name="addExtra" ordered="false" lowerBound="1">
                <eParameters name="extra" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomExtra"/>
              </eOperations>
              <eStructuralFeatures xsi:type="ecore:EReference" name="roomType" ordered="false"
                  lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomType"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="roomExtras" ordered="false"
                  upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomExtra"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="startDate" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="endDate" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="room" ordered="false"
                  eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="checkInDate"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="checkOuDate"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="RoomType">
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="description"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="numBeds" ordered="false"
                  unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="pricePerNight"
                  ordered="false" unique="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="RoomExtra">
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="price" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="description"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="Room">
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="occupied" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="roomtype" ordered="false"
                  lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomType"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="blocked" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="roomNumber" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="Bill">
              <eStructuralFeatures xsi:type="ecore:EReference" name="roomreservation"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomReservation"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="price" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="billID" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="PaymentHandler">
              <eOperations name="payIfCardValid" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="sum" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              </eOperations>
              <eStructuralFeatures xsi:type="ecore:EReference" name="bankingComponent"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/bankcomponents/ICustomerProvides"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="IRoomHandler" abstract="true"
                interface="true">
              <eOperations name="getAllRoomTypes" ordered="false" upperBound="-1"
                  eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomType">
                <eParameters name="nrOfBeds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="getFreeRooms" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              <eOperations name="getAllRoomsByType" ordered="false" upperBound="-1"
                  eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room">
                <eParameters name="roomType" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomType"/>
              </eOperations>
              <eOperations name="getRoomType" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomType">
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="getFreeRoomByType" ordered="false" lowerBound="1"
                  eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room">
                <eParameters name="roomType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="getAllRooms" ordered="false" upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="IHotelReceptionistProvides"
                abstract="true" interface="true">
              <eOperations name="editBookingTime" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="reservationId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="startDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="endDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="addRoomTypeToBooking" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="numberOfRoomsForType" ordered="false" lowerBound="1"
                    eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="removeRoomTypeFromBooking" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="roomType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="nbrToRemove" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="listFreeRooms" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
                <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="checkIn" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
                <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="roomNumbers" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="cancelBooking" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="listBookings" ordered="false" upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Booking"/>
              <eOperations name="listOccupiedRooms" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
                <eParameters name="date" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="listCheckins" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
                <eParameters name="startDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="endDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="listCheckouts" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
                <eParameters name="startDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="endDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="addExtraToRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="extraDescription" ordered="false" lowerBound="1"
                    eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="price" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="getFreeRoom" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room">
                <eParameters name="roomType" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomType"/>
                <eParameters name="startDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="endDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="IHotelCustomerProvides" abstract="true"
                interface="true">
              <eOperations name="getFreeRooms" ordered="false" upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/FreeRoomTypesDTO">
                <eParameters name="numBeds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="startDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="endDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="initiateBooking" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="startDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="endDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="addRoomToBooking" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="bookingID" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="confirmBooking" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="bookingID" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="initiateCheckout" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
                <eParameters name="bookingID" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="payDuringCheckout" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="initiateRoomCheckout" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="payRoomDuringCheckout" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="checkInRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="bookindId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="FreeRoomTypesDTO">
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="roomTypeDescription"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="numBeds" ordered="false"
                  lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="pricePerNight"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              <eStructuralFeatures xsi:type="ecore:EAttribute" name="numFreeRooms"
                  ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="RoomHandler" eSuperTypes="#//chalmers/cse/mdsd1617/group13/hotelsystem/IRoomHandler #//chalmers/cse/mdsd1617/group13/hotelsystem/IHotelAdministratorProvides">
              <eOperations name="getRoom" ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="initialize" ordered="false" lowerBound="1">
                <eParameters name="numberOfRooms" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eStructuralFeatures xsi:type="ecore:EReference" name="roomTypes" ordered="false"
                  upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomType"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="rooms" ordered="false"
                  upperBound="-1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/Room"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="IHotelAdministratorProvides"
                abstract="true" interface="true">
              <eOperations name="addRoomType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="price" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
                <eParameters name="nbrOfBeds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="featureDescription" ordered="false" lowerBound="1"
                    eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="editRoomType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="price" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
                <eParameters name="nbrOfBeds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="featuresDescription" ordered="false" lowerBound="1"
                    eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="removeRoomType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="changeRoomType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="addRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="roomTypeName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="removeRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="blockRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
              <eOperations name="unblockRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="IHotelStartupProvides" abstract="true"
                interface="true">
              <eOperations name="startup" ordered="false" lowerBound="1">
                <eParameters name="numRooms" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
              </eOperations>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="HotelInitializer" eSuperTypes="#//chalmers/cse/mdsd1617/group13/hotelsystem/IHotelStartupProvides">
              <eStructuralFeatures xsi:type="ecore:EReference" name="roomHandler"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/RoomHandler"/>
            </eClassifiers>
          </eSubpackages>
          <eSubpackages name="bankcomponents" nsURI="http:///se/chalmers/cse/mdsd1617/group13/bankcomponents.ecore"
              nsPrefix="se.chalmers.cse.mdsd1617.group13.bankcomponents">
            <eClassifiers xsi:type="ecore:EClass" name="BankAdministrator" eSuperTypes="#//chalmers/cse/mdsd1617/group13/bankcomponents/IAdministratorProvides"/>
            <eClassifiers xsi:type="ecore:EClass" name="IAdministratorProvides" abstract="true"
                interface="true">
              <eOperations name="makeDeposit" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="sum" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              </eOperations>
              <eOperations name="addCreditCard" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="removeCreditCard" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
              <eOperations name="getBalance" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="ICustomerProvides" abstract="true"
                interface="true">
              <eOperations name="makePayment" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="sum" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
              </eOperations>
              <eOperations name="isCreditCardValid" ordered="false" lowerBound="1"
                  eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
                <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
                <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
                <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
              </eOperations>
            </eClassifiers>
          </eSubpackages>
          <eSubpackages name="actor" nsURI="http:///se/chalmers/cse/mdsd1617/group13/actor.ecore"
              nsPrefix="se.chalmers.cse.mdsd1617.group13.actor">
            <eClassifiers xsi:type="ecore:EClass" name="User"/>
            <eClassifiers xsi:type="ecore:EClass" name="Receptionist" eSuperTypes="#//chalmers/cse/mdsd1617/group13/actor/User">
              <eStructuralFeatures xsi:type="ecore:EReference" name="ireceptionistprovides"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/IHotelReceptionistProvides"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="ihotelcustomerprovides"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/IHotelCustomerProvides"/>
            </eClassifiers>
            <eClassifiers xsi:type="ecore:EClass" name="Administrator" eSuperTypes="#//chalmers/cse/mdsd1617/group13/actor/User">
              <eStructuralFeatures xsi:type="ecore:EReference" name="iadministratorprovides"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/IHotelAdministratorProvides"/>
              <eStructuralFeatures xsi:type="ecore:EReference" name="ihotelstartupprovides"
                  ordered="false" lowerBound="1" eType="#//chalmers/cse/mdsd1617/group13/hotelsystem/IHotelStartupProvides"/>
            </eClassifiers>
          </eSubpackages>
        </eSubpackages>
      </eSubpackages>
    </eSubpackages>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"se","nsURI":"http:///se.ecore","name":"se","id":0,"eClass":"EPackage"},{"nsPrefix":"se.chalmers","nsURI":"http:///se/chalmers.ecore","name":"chalmers","id":1,"eClass":"EPackage"},{"nsPrefix":"se.chalmers.cse","nsURI":"http:///se/chalmers/cse.ecore","name":"cse","id":2,"eClass":"EPackage"},{"nsPrefix":"se.chalmers.cse.mdsd1617","nsURI":"http:///se/chalmers/cse/mdsd1617.ecore","name":"mdsd1617","id":3,"eClass":"EPackage"},{"nsPrefix":"se.chalmers.cse.mdsd1617.group13","nsURI":"http:///se/chalmers/cse/mdsd1617/group13.ecore","name":"group13","id":4,"eClass":"EPackage"},{"nsPrefix":"se.chalmers.cse.mdsd1617.group13.hotelsystem","nsURI":"http:///se/chalmers/cse/mdsd1617/group13/hotelsystem.ecore","name":"hotelsystem","id":5,"eClass":"EPackage"},{"nsPrefix":"se.chalmers.cse.mdsd1617.group13.bankcomponents","nsURI":"http:///se/chalmers/cse/mdsd1617/group13/bankcomponents.ecore","name":"bankcomponents","id":6,"eClass":"EPackage"},{"nsPrefix":"se.chalmers.cse.mdsd1617.group13.actor","nsURI":"http:///se/chalmers/cse/mdsd1617/group13/actor.ecore","name":"actor","id":7,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BookingHandler","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Booking","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Customer","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomReservation","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomType","instanceClass":null,"abstract":false,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomExtra","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Room","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Bill","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PaymentHandler","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IRoomHandler","instanceClass":null,"abstract":true,"id":17,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IHotelReceptionistProvides","instanceClass":null,"abstract":true,"id":18,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IHotelCustomerProvides","instanceClass":null,"abstract":true,"id":19,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FreeRoomTypesDTO","instanceClass":null,"abstract":false,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomHandler","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IHotelAdministratorProvides","instanceClass":null,"abstract":true,"id":22,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IHotelStartupProvides","instanceClass":null,"abstract":true,"id":23,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"HotelInitializer","instanceClass":null,"abstract":false,"id":24,"interface":false,"eClass":"EClass"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBookingById","lowerBound":1,"id":25,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"isFree","lowerBound":1,"id":26,"many":false,"required":true,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"bookings","changeable":true,"resolveProxies":true,"lowerBound":0,"id":27,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"paymentHandler","changeable":true,"resolveProxies":true,"lowerBound":1,"id":28,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomhandler","changeable":true,"resolveProxies":true,"lowerBound":1,"id":29,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"bookingCurrentlyCheckingOut","changeable":true,"lowerBound":1,"iD":false,"id":30,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"nextBookingId","changeable":true,"lowerBound":1,"iD":false,"id":31,"derived":false},{"id":32,"eClass":"EGenericType"},{"id":33,"eClass":"EGenericType"},{"id":34,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":35,"many":false,"required":true,"eClass":"EParameter"},{"id":36,"eClass":"EGenericType"},{"id":37,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomId","lowerBound":1,"id":38,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"startDate","lowerBound":1,"id":39,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"endDate","lowerBound":1,"id":40,"many":false,"required":true,"eClass":"EParameter"},{"id":41,"eClass":"EGenericType"},{"id":42,"eClass":"EGenericType"},{"id":43,"eClass":"EGenericType"},{"id":44,"eClass":"EGenericType"},{"id":45,"eClass":"EGenericType"},{"id":46,"eClass":"EGenericType"},{"id":47,"eClass":"EGenericType"},{"id":48,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"cancel","lowerBound":1,"id":49,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getOccupiedRooms","lowerBound":0,"id":50,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkOut","lowerBound":1,"id":51,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"nrOfNights","lowerBound":1,"id":52,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"isCheckedIn","lowerBound":1,"id":53,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkIn","lowerBound":1,"id":54,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBookingPrice","lowerBound":1,"id":55,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoomPrice","lowerBound":1,"id":56,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"isFree","lowerBound":1,"id":57,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addExtra","lowerBound":1,"id":58,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkOutRoom","lowerBound":1,"id":59,"many":false,"required":true,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"customer","changeable":true,"resolveProxies":true,"lowerBound":1,"id":60,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomReservations","changeable":true,"resolveProxies":true,"lowerBound":0,"id":61,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"startDate","changeable":true,"lowerBound":1,"iD":false,"id":62,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"endDate","changeable":true,"lowerBound":1,"iD":false,"id":63,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"canceled","changeable":true,"lowerBound":1,"iD":false,"id":64,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"bookingId","changeable":true,"lowerBound":1,"iD":false,"id":65,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"bills","changeable":true,"resolveProxies":true,"lowerBound":0,"id":66,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"confirmed","changeable":true,"lowerBound":1,"iD":false,"id":67,"derived":false},{"id":68,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"date","lowerBound":1,"id":69,"many":false,"required":true,"eClass":"EParameter"},{"id":70,"eClass":"EGenericType"},{"id":71,"eClass":"EGenericType"},{"id":72,"eClass":"EGenericType"},{"id":73,"eClass":"EGenericType"},{"id":74,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":75,"many":false,"required":true,"eClass":"EParameter"},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"id":78,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":79,"many":false,"required":true,"eClass":"EParameter"},{"id":80,"eClass":"EGenericType"},{"id":81,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomId","lowerBound":1,"id":82,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"startDate","lowerBound":1,"id":83,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"endDate","lowerBound":1,"id":84,"many":false,"required":true,"eClass":"EParameter"},{"id":85,"eClass":"EGenericType"},{"id":86,"eClass":"EGenericType"},{"id":87,"eClass":"EGenericType"},{"id":88,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"extra","lowerBound":1,"id":89,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNbr","lowerBound":1,"id":90,"many":false,"required":true,"eClass":"EParameter"},{"id":91,"eClass":"EGenericType"},{"id":92,"eClass":"EGenericType"},{"id":93,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":94,"many":false,"required":true,"eClass":"EParameter"},{"id":95,"eClass":"EGenericType"},{"id":96,"eClass":"EGenericType"},{"id":97,"eClass":"EGenericType"},{"id":98,"eClass":"EGenericType"},{"id":99,"eClass":"EGenericType"},{"id":100,"eClass":"EGenericType"},{"id":101,"eClass":"EGenericType"},{"id":102,"eClass":"EGenericType"},{"id":103,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"firstName","changeable":true,"lowerBound":1,"iD":false,"id":104,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"lastName","changeable":true,"lowerBound":1,"iD":false,"id":105,"derived":false},{"id":106,"eClass":"EGenericType"},{"id":107,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkIn","lowerBound":1,"id":108,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkOut","lowerBound":1,"id":109,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoomIfOccupied","lowerBound":1,"id":110,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoomId","lowerBound":1,"id":111,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addExtra","lowerBound":1,"id":112,"many":false,"required":true,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":113,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomExtras","changeable":true,"resolveProxies":true,"lowerBound":0,"id":114,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"startDate","changeable":true,"lowerBound":1,"iD":false,"id":115,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"endDate","changeable":true,"lowerBound":1,"iD":false,"id":116,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"room","changeable":true,"resolveProxies":true,"lowerBound":0,"id":117,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"checkInDate","changeable":true,"lowerBound":1,"iD":false,"id":118,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"checkOuDate","changeable":true,"lowerBound":1,"iD":false,"id":119,"derived":false},{"id":120,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"nrOfNights","lowerBound":1,"id":121,"many":false,"required":true,"eClass":"EParameter"},{"id":122,"eClass":"EGenericType"},{"id":123,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"date","lowerBound":1,"id":124,"many":false,"required":true,"eClass":"EParameter"},{"id":125,"eClass":"EGenericType"},{"id":126,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"extra","lowerBound":1,"id":127,"many":false,"required":true,"eClass":"EParameter"},{"id":128,"eClass":"EGenericType"},{"id":129,"eClass":"EGenericType"},{"id":130,"eClass":"EGenericType"},{"id":131,"eClass":"EGenericType"},{"id":132,"eClass":"EGenericType"},{"id":133,"eClass":"EGenericType"},{"id":134,"eClass":"EGenericType"},{"id":135,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"description","changeable":true,"lowerBound":1,"iD":false,"id":136,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"numBeds","changeable":true,"lowerBound":1,"iD":false,"id":137,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":false,"name":"pricePerNight","changeable":true,"lowerBound":1,"iD":false,"id":138,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":1,"iD":false,"id":139,"derived":false},{"id":140,"eClass":"EGenericType"},{"id":141,"eClass":"EGenericType"},{"id":142,"eClass":"EGenericType"},{"id":143,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"price","changeable":true,"lowerBound":1,"iD":false,"id":144,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"description","changeable":true,"lowerBound":1,"iD":false,"id":145,"derived":false},{"id":146,"eClass":"EGenericType"},{"id":147,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"occupied","changeable":true,"lowerBound":1,"iD":false,"id":148,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomtype","changeable":true,"resolveProxies":true,"lowerBound":1,"id":149,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"blocked","changeable":true,"lowerBound":1,"iD":false,"id":150,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"roomNumber","changeable":true,"lowerBound":1,"iD":false,"id":151,"derived":false},{"id":152,"eClass":"EGenericType"},{"id":153,"eClass":"EGenericType"},{"id":154,"eClass":"EGenericType"},{"id":155,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomreservation","changeable":true,"resolveProxies":true,"lowerBound":1,"id":156,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"price","changeable":true,"lowerBound":1,"iD":false,"id":157,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"billID","changeable":true,"lowerBound":1,"iD":false,"id":158,"derived":false},{"id":159,"eClass":"EGenericType"},{"id":160,"eClass":"EGenericType"},{"id":161,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"payIfCardValid","lowerBound":1,"id":162,"many":false,"required":true,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"bankingComponent","changeable":true,"resolveProxies":true,"lowerBound":1,"id":163,"derived":false},{"id":164,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":165,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":166,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":167,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":168,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":169,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":170,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"sum","lowerBound":1,"id":171,"many":false,"required":true,"eClass":"EParameter"},{"id":172,"eClass":"EGenericType"},{"id":173,"eClass":"EGenericType"},{"id":174,"eClass":"EGenericType"},{"id":175,"eClass":"EGenericType"},{"id":176,"eClass":"EGenericType"},{"id":177,"eClass":"EGenericType"},{"id":178,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ICustomerProvides","instanceClass":null,"abstract":true,"id":179,"interface":true,"eClass":"EClass"},{"id":180,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllRoomTypes","lowerBound":0,"id":181,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getFreeRooms","lowerBound":0,"id":182,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllRoomsByType","lowerBound":0,"id":183,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoomType","lowerBound":1,"id":184,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getFreeRoomByType","lowerBound":1,"id":185,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllRooms","lowerBound":0,"id":186,"many":true,"required":false,"eClass":"EOperation"},{"id":187,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"nrOfBeds","lowerBound":1,"id":188,"many":false,"required":true,"eClass":"EParameter"},{"id":189,"eClass":"EGenericType"},{"id":190,"eClass":"EGenericType"},{"id":191,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":192,"many":false,"required":true,"eClass":"EParameter"},{"id":193,"eClass":"EGenericType"},{"id":194,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":195,"many":false,"required":true,"eClass":"EParameter"},{"id":196,"eClass":"EGenericType"},{"id":197,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":198,"many":false,"required":true,"eClass":"EParameter"},{"id":199,"eClass":"EGenericType"},{"id":200,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"editBookingTime","lowerBound":1,"id":201,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addRoomTypeToBooking","lowerBound":1,"id":202,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeRoomTypeFromBooking","lowerBound":1,"id":203,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"listFreeRooms","lowerBound":0,"id":204,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkIn","lowerBound":1,"id":205,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"cancelBooking","lowerBound":1,"id":206,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"listBookings","lowerBound":0,"id":207,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"listOccupiedRooms","lowerBound":1,"id":208,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"listCheckins","lowerBound":1,"id":209,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"listCheckouts","lowerBound":1,"id":210,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addExtraToRoom","lowerBound":1,"id":211,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getFreeRoom","lowerBound":1,"id":212,"many":false,"required":true,"eClass":"EOperation"},{"id":213,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"reservationId","lowerBound":1,"id":214,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"startDate","lowerBound":1,"id":215,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"endDate","lowerBound":1,"id":216,"many":false,"required":true,"eClass":"EParameter"},{"id":217,"eClass":"EGenericType"},{"id":218,"eClass":"EGenericType"},{"id":219,"eClass":"EGenericType"},{"id":220,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":221,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":222,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfRoomsForType","lowerBound":1,"id":223,"many":false,"required":true,"eClass":"EParameter"},{"id":224,"eClass":"EGenericType"},{"id":225,"eClass":"EGenericType"},{"id":226,"eClass":"EGenericType"},{"id":227,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":228,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":229,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"nbrToRemove","lowerBound":1,"id":230,"many":false,"required":true,"eClass":"EParameter"},{"id":231,"eClass":"EGenericType"},{"id":232,"eClass":"EGenericType"},{"id":233,"eClass":"EGenericType"},{"id":234,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":235,"many":false,"required":true,"eClass":"EParameter"},{"id":236,"eClass":"EGenericType"},{"id":237,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":238,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumbers","lowerBound":1,"id":239,"many":false,"required":true,"eClass":"EParameter"},{"id":240,"eClass":"EGenericType"},{"id":241,"eClass":"EGenericType"},{"id":242,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":243,"many":false,"required":true,"eClass":"EParameter"},{"id":244,"eClass":"EGenericType"},{"id":245,"eClass":"EGenericType"},{"id":246,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"date","lowerBound":1,"id":247,"many":false,"required":true,"eClass":"EParameter"},{"id":248,"eClass":"EGenericType"},{"id":249,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"startDate","lowerBound":1,"id":250,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"endDate","lowerBound":1,"id":251,"many":false,"required":true,"eClass":"EParameter"},{"id":252,"eClass":"EGenericType"},{"id":253,"eClass":"EGenericType"},{"id":254,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"startDate","lowerBound":1,"id":255,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"endDate","lowerBound":1,"id":256,"many":false,"required":true,"eClass":"EParameter"},{"id":257,"eClass":"EGenericType"},{"id":258,"eClass":"EGenericType"},{"id":259,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":260,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":261,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"extraDescription","lowerBound":1,"id":262,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"price","lowerBound":1,"id":263,"many":false,"required":true,"eClass":"EParameter"},{"id":264,"eClass":"EGenericType"},{"id":265,"eClass":"EGenericType"},{"id":266,"eClass":"EGenericType"},{"id":267,"eClass":"EGenericType"},{"id":268,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":269,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"startDate","lowerBound":1,"id":270,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"endDate","lowerBound":1,"id":271,"many":false,"required":true,"eClass":"EParameter"},{"id":272,"eClass":"EGenericType"},{"id":273,"eClass":"EGenericType"},{"id":274,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getFreeRooms","lowerBound":0,"id":275,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"initiateBooking","lowerBound":1,"id":276,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addRoomToBooking","lowerBound":1,"id":277,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"confirmBooking","lowerBound":1,"id":278,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"initiateCheckout","lowerBound":1,"id":279,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"payDuringCheckout","lowerBound":1,"id":280,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"initiateRoomCheckout","lowerBound":1,"id":281,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"payRoomDuringCheckout","lowerBound":1,"id":282,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkInRoom","lowerBound":1,"id":283,"many":false,"required":true,"eClass":"EOperation"},{"id":284,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"numBeds","lowerBound":1,"id":285,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"startDate","lowerBound":1,"id":286,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"endDate","lowerBound":1,"id":287,"many":false,"required":true,"eClass":"EParameter"},{"id":288,"eClass":"EGenericType"},{"id":289,"eClass":"EGenericType"},{"id":290,"eClass":"EGenericType"},{"id":291,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":292,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"startDate","lowerBound":1,"id":293,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"endDate","lowerBound":1,"id":294,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":295,"many":false,"required":true,"eClass":"EParameter"},{"id":296,"eClass":"EGenericType"},{"id":297,"eClass":"EGenericType"},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"id":300,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":301,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingID","lowerBound":1,"id":302,"many":false,"required":true,"eClass":"EParameter"},{"id":303,"eClass":"EGenericType"},{"id":304,"eClass":"EGenericType"},{"id":305,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingID","lowerBound":1,"id":306,"many":false,"required":true,"eClass":"EParameter"},{"id":307,"eClass":"EGenericType"},{"id":308,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingID","lowerBound":1,"id":309,"many":false,"required":true,"eClass":"EParameter"},{"id":310,"eClass":"EGenericType"},{"id":311,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":312,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":313,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":314,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":315,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":316,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":317,"many":false,"required":true,"eClass":"EParameter"},{"id":318,"eClass":"EGenericType"},{"id":319,"eClass":"EGenericType"},{"id":320,"eClass":"EGenericType"},{"id":321,"eClass":"EGenericType"},{"id":322,"eClass":"EGenericType"},{"id":323,"eClass":"EGenericType"},{"id":324,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":325,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":326,"many":false,"required":true,"eClass":"EParameter"},{"id":327,"eClass":"EGenericType"},{"id":328,"eClass":"EGenericType"},{"id":329,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":330,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":331,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":332,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":333,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":334,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":335,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":336,"many":false,"required":true,"eClass":"EParameter"},{"id":337,"eClass":"EGenericType"},{"id":338,"eClass":"EGenericType"},{"id":339,"eClass":"EGenericType"},{"id":340,"eClass":"EGenericType"},{"id":341,"eClass":"EGenericType"},{"id":342,"eClass":"EGenericType"},{"id":343,"eClass":"EGenericType"},{"id":344,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":345,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookindId","lowerBound":1,"id":346,"many":false,"required":true,"eClass":"EParameter"},{"id":347,"eClass":"EGenericType"},{"id":348,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"roomTypeDescription","changeable":true,"lowerBound":1,"iD":false,"id":349,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"numBeds","changeable":true,"lowerBound":1,"iD":false,"id":350,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"pricePerNight","changeable":true,"lowerBound":1,"iD":false,"id":351,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"numFreeRooms","changeable":true,"lowerBound":1,"iD":false,"id":352,"derived":false},{"id":353,"eClass":"EGenericType"},{"id":354,"eClass":"EGenericType"},{"id":355,"eClass":"EGenericType"},{"id":356,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoom","lowerBound":1,"id":357,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"initialize","lowerBound":1,"id":358,"many":false,"required":true,"eClass":"EOperation"},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomTypes","changeable":true,"resolveProxies":true,"lowerBound":0,"id":359,"derived":false},{"container":false,"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"rooms","changeable":true,"resolveProxies":true,"lowerBound":0,"id":360,"derived":false},{"id":361,"eClass":"EGenericType"},{"id":362,"eClass":"EGenericType"},{"id":363,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":364,"many":false,"required":true,"eClass":"EParameter"},{"id":365,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfRooms","lowerBound":1,"id":366,"many":false,"required":true,"eClass":"EParameter"},{"id":367,"eClass":"EGenericType"},{"id":368,"eClass":"EGenericType"},{"id":369,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"addRoomType","lowerBound":1,"id":370,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"editRoomType","lowerBound":1,"id":371,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeRoomType","lowerBound":1,"id":372,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"changeRoomType","lowerBound":1,"id":373,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addRoom","lowerBound":1,"id":374,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeRoom","lowerBound":1,"id":375,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"blockRoom","lowerBound":1,"id":376,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unblockRoom","lowerBound":1,"id":377,"many":false,"required":true,"eClass":"EOperation"},{"id":378,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":379,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"price","lowerBound":1,"id":380,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"nbrOfBeds","lowerBound":1,"id":381,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"featureDescription","lowerBound":1,"id":382,"many":false,"required":true,"eClass":"EParameter"},{"id":383,"eClass":"EGenericType"},{"id":384,"eClass":"EGenericType"},{"id":385,"eClass":"EGenericType"},{"id":386,"eClass":"EGenericType"},{"id":387,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":388,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"price","lowerBound":1,"id":389,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"nbrOfBeds","lowerBound":1,"id":390,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"featuresDescription","lowerBound":1,"id":391,"many":false,"required":true,"eClass":"EParameter"},{"id":392,"eClass":"EGenericType"},{"id":393,"eClass":"EGenericType"},{"id":394,"eClass":"EGenericType"},{"id":395,"eClass":"EGenericType"},{"id":396,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":397,"many":false,"required":true,"eClass":"EParameter"},{"id":398,"eClass":"EGenericType"},{"id":399,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":400,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":401,"many":false,"required":true,"eClass":"EParameter"},{"id":402,"eClass":"EGenericType"},{"id":403,"eClass":"EGenericType"},{"id":404,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":405,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomTypeName","lowerBound":1,"id":406,"many":false,"required":true,"eClass":"EParameter"},{"id":407,"eClass":"EGenericType"},{"id":408,"eClass":"EGenericType"},{"id":409,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":410,"many":false,"required":true,"eClass":"EParameter"},{"id":411,"eClass":"EGenericType"},{"id":412,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":413,"many":false,"required":true,"eClass":"EParameter"},{"id":414,"eClass":"EGenericType"},{"id":415,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":416,"many":false,"required":true,"eClass":"EParameter"},{"id":417,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"startup","lowerBound":1,"id":418,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"numRooms","lowerBound":1,"id":419,"many":false,"required":true,"eClass":"EParameter"},{"id":420,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomHandler","changeable":true,"resolveProxies":true,"lowerBound":1,"id":421,"derived":false},{"id":422,"eClass":"EGenericType"},{"id":423,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BankAdministrator","instanceClass":null,"abstract":false,"id":424,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IAdministratorProvides","instanceClass":null,"abstract":true,"id":425,"interface":true,"eClass":"EClass"},{"id":426,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"makeDeposit","lowerBound":1,"id":427,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addCreditCard","lowerBound":1,"id":428,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeCreditCard","lowerBound":1,"id":429,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBalance","lowerBound":1,"id":430,"many":false,"required":true,"eClass":"EOperation"},{"id":431,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":432,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":433,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":434,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":435,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":436,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":437,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"sum","lowerBound":1,"id":438,"many":false,"required":true,"eClass":"EParameter"},{"id":439,"eClass":"EGenericType"},{"id":440,"eClass":"EGenericType"},{"id":441,"eClass":"EGenericType"},{"id":442,"eClass":"EGenericType"},{"id":443,"eClass":"EGenericType"},{"id":444,"eClass":"EGenericType"},{"id":445,"eClass":"EGenericType"},{"id":446,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":447,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":448,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":449,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":450,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":451,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":452,"many":false,"required":true,"eClass":"EParameter"},{"id":453,"eClass":"EGenericType"},{"id":454,"eClass":"EGenericType"},{"id":455,"eClass":"EGenericType"},{"id":456,"eClass":"EGenericType"},{"id":457,"eClass":"EGenericType"},{"id":458,"eClass":"EGenericType"},{"id":459,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":460,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":461,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":462,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":463,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":464,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":465,"many":false,"required":true,"eClass":"EParameter"},{"id":466,"eClass":"EGenericType"},{"id":467,"eClass":"EGenericType"},{"id":468,"eClass":"EGenericType"},{"id":469,"eClass":"EGenericType"},{"id":470,"eClass":"EGenericType"},{"id":471,"eClass":"EGenericType"},{"id":472,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":473,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":474,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":475,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":476,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":477,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":478,"many":false,"required":true,"eClass":"EParameter"},{"id":479,"eClass":"EGenericType"},{"id":480,"eClass":"EGenericType"},{"id":481,"eClass":"EGenericType"},{"id":482,"eClass":"EGenericType"},{"id":483,"eClass":"EGenericType"},{"id":484,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"makePayment","lowerBound":1,"id":485,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"isCreditCardValid","lowerBound":1,"id":486,"many":false,"required":true,"eClass":"EOperation"},{"id":487,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":488,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":489,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":490,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":491,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":492,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":493,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"sum","lowerBound":1,"id":494,"many":false,"required":true,"eClass":"EParameter"},{"id":495,"eClass":"EGenericType"},{"id":496,"eClass":"EGenericType"},{"id":497,"eClass":"EGenericType"},{"id":498,"eClass":"EGenericType"},{"id":499,"eClass":"EGenericType"},{"id":500,"eClass":"EGenericType"},{"id":501,"eClass":"EGenericType"},{"id":502,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":503,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":504,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":505,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":506,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":507,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":508,"many":false,"required":true,"eClass":"EParameter"},{"id":509,"eClass":"EGenericType"},{"id":510,"eClass":"EGenericType"},{"id":511,"eClass":"EGenericType"},{"id":512,"eClass":"EGenericType"},{"id":513,"eClass":"EGenericType"},{"id":514,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"User","instanceClass":null,"abstract":false,"id":515,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Receptionist","instanceClass":null,"abstract":false,"id":516,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Administrator","instanceClass":null,"abstract":false,"id":517,"interface":false,"eClass":"EClass"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"ireceptionistprovides","changeable":true,"resolveProxies":true,"lowerBound":1,"id":518,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"ihotelcustomerprovides","changeable":true,"resolveProxies":true,"lowerBound":1,"id":519,"derived":false},{"id":520,"eClass":"EGenericType"},{"id":521,"eClass":"EGenericType"},{"id":522,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"iadministratorprovides","changeable":true,"resolveProxies":true,"lowerBound":1,"id":523,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"ihotelstartupprovides","changeable":true,"resolveProxies":true,"lowerBound":1,"id":524,"derived":false},{"id":525,"eClass":"EGenericType"},{"id":526,"eClass":"EGenericType"},{"id":527,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":1,"target":2},{"source":1,"target":0},{"source":2,"target":3},{"source":2,"target":1},{"source":3,"target":4},{"source":3,"target":2},{"source":4,"target":5},{"source":4,"target":6},{"source":4,"target":7},{"source":4,"target":3},{"source":5,"target":8},{"source":5,"target":9},{"source":5,"target":10},{"source":5,"target":11},{"source":5,"target":12},{"source":5,"target":13},{"source":5,"target":14},{"source":5,"target":15},{"source":5,"target":16},{"source":5,"target":17},{"source":5,"target":18},{"source":5,"target":19},{"source":5,"target":20},{"source":5,"target":21},{"source":5,"target":22},{"source":5,"target":23},{"source":5,"target":24},{"source":5,"target":4},{"source":8,"target":5},{"source":8,"target":18},{"source":8,"target":19},{"source":8,"target":25},{"source":8,"target":26},{"source":8,"target":27},{"source":8,"target":28},{"source":8,"target":29},{"source":8,"target":30},{"source":8,"target":31},{"source":8,"target":32},{"source":8,"target":33},{"source":25,"target":9},{"source":25,"target":34},{"source":25,"target":8},{"source":25,"target":35},{"source":34,"target":9},{"source":35,"target":36},{"source":35,"target":25},{"source":26,"target":37},{"source":26,"target":8},{"source":26,"target":38},{"source":26,"target":39},{"source":26,"target":40},{"source":38,"target":41},{"source":38,"target":26},{"source":39,"target":42},{"source":39,"target":26},{"source":40,"target":43},{"source":40,"target":26},{"source":27,"target":9},{"source":27,"target":44},{"source":27,"target":8},{"source":44,"target":9},{"source":28,"target":16},{"source":28,"target":45},{"source":28,"target":8},{"source":45,"target":16},{"source":29,"target":17},{"source":29,"target":46},{"source":29,"target":8},{"source":46,"target":17},{"source":30,"target":47},{"source":30,"target":8},{"source":31,"target":48},{"source":31,"target":8},{"source":32,"target":18},{"source":33,"target":19},{"source":9,"target":5},{"source":9,"target":49},{"source":9,"target":50},{"source":9,"target":51},{"source":9,"target":52},{"source":9,"target":53},{"source":9,"target":54},{"source":9,"target":55},{"source":9,"target":56},{"source":9,"target":57},{"source":9,"target":58},{"source":9,"target":59},{"source":9,"target":60},{"source":9,"target":61},{"source":9,"target":62},{"source":9,"target":63},{"source":9,"target":64},{"source":9,"target":65},{"source":9,"target":66},{"source":9,"target":67},{"source":49,"target":9},{"source":50,"target":14},{"source":50,"target":68},{"source":50,"target":9},{"source":50,"target":69},{"source":68,"target":14},{"source":69,"target":70},{"source":69,"target":50},{"source":51,"target":71},{"source":51,"target":9},{"source":52,"target":72},{"source":52,"target":9},{"source":53,"target":73},{"source":53,"target":9},{"source":54,"target":74},{"source":54,"target":9},{"source":54,"target":75},{"source":75,"target":14},{"source":75,"target":76},{"source":75,"target":54},{"source":76,"target":14},{"source":55,"target":77},{"source":55,"target":9},{"source":56,"target":78},{"source":56,"target":9},{"source":56,"target":79},{"source":79,"target":80},{"source":79,"target":56},{"source":57,"target":81},{"source":57,"target":9},{"source":57,"target":82},{"source":57,"target":83},{"source":57,"target":84},{"source":82,"target":85},{"source":82,"target":57},{"source":83,"target":86},{"source":83,"target":57},{"source":84,"target":87},{"source":84,"target":57},{"source":58,"target":88},{"source":58,"target":9},{"source":58,"target":89},{"source":58,"target":90},{"source":89,"target":13},{"source":89,"target":91},{"source":89,"target":58},{"source":91,"target":13},{"source":90,"target":92},{"source":90,"target":58},{"source":59,"target":93},{"source":59,"target":9},{"source":59,"target":94},{"source":94,"target":95},{"source":94,"target":59},{"source":60,"target":10},{"source":60,"target":96},{"source":60,"target":9},{"source":96,"target":10},{"source":61,"target":11},{"source":61,"target":97},{"source":61,"target":9},{"source":97,"target":11},{"source":62,"target":98},{"source":62,"target":9},{"source":63,"target":99},{"source":63,"target":9},{"source":64,"target":100},{"source":64,"target":9},{"source":65,"target":101},{"source":65,"target":9},{"source":66,"target":15},{"source":66,"target":102},{"source":66,"target":9},{"source":102,"target":15},{"source":67,"target":103},{"source":67,"target":9},{"source":10,"target":5},{"source":10,"target":104},{"source":10,"target":105},{"source":104,"target":106},{"source":104,"target":10},{"source":105,"target":107},{"source":105,"target":10},{"source":11,"target":5},{"source":11,"target":108},{"source":11,"target":109},{"source":11,"target":110},{"source":11,"target":111},{"source":11,"target":112},{"source":11,"target":113},{"source":11,"target":114},{"source":11,"target":115},{"source":11,"target":116},{"source":11,"target":117},{"source":11,"target":118},{"source":11,"target":119},{"source":108,"target":11},{"source":109,"target":120},{"source":109,"target":11},{"source":109,"target":121},{"source":121,"target":122},{"source":121,"target":109},{"source":110,"target":14},{"source":110,"target":123},{"source":110,"target":11},{"source":110,"target":124},{"source":123,"target":14},{"source":124,"target":125},{"source":124,"target":110},{"source":111,"target":126},{"source":111,"target":11},{"source":112,"target":11},{"source":112,"target":127},{"source":127,"target":13},{"source":127,"target":128},{"source":127,"target":112},{"source":128,"target":13},{"source":113,"target":12},{"source":113,"target":129},{"source":113,"target":11},{"source":129,"target":12},{"source":114,"target":13},{"source":114,"target":130},{"source":114,"target":11},{"source":130,"target":13},{"source":115,"target":131},{"source":115,"target":11},{"source":116,"target":132},{"source":116,"target":11},{"source":117,"target":14},{"source":117,"target":133},{"source":117,"target":11},{"source":133,"target":14},{"source":118,"target":134},{"source":118,"target":11},{"source":119,"target":135},{"source":119,"target":11},{"source":12,"target":5},{"source":12,"target":136},{"source":12,"target":137},{"source":12,"target":138},{"source":12,"target":139},{"source":136,"target":140},{"source":136,"target":12},{"source":137,"target":141},{"source":137,"target":12},{"source":138,"target":142},{"source":138,"target":12},{"source":139,"target":143},{"source":139,"target":12},{"source":13,"target":5},{"source":13,"target":144},{"source":13,"target":145},{"source":144,"target":146},{"source":144,"target":13},{"source":145,"target":147},{"source":145,"target":13},{"source":14,"target":5},{"source":14,"target":148},{"source":14,"target":149},{"source":14,"target":150},{"source":14,"target":151},{"source":148,"target":152},{"source":148,"target":14},{"source":149,"target":12},{"source":149,"target":153},{"source":149,"target":14},{"source":153,"target":12},{"source":150,"target":154},{"source":150,"target":14},{"source":151,"target":155},{"source":151,"target":14},{"source":15,"target":5},{"source":15,"target":156},{"source":15,"target":157},{"source":15,"target":158},{"source":156,"target":11},{"source":156,"target":159},{"source":156,"target":15},{"source":159,"target":11},{"source":157,"target":160},{"source":157,"target":15},{"source":158,"target":161},{"source":158,"target":15},{"source":16,"target":5},{"source":16,"target":162},{"source":16,"target":163},{"source":162,"target":164},{"source":162,"target":16},{"source":162,"target":165},{"source":162,"target":166},{"source":162,"target":167},{"source":162,"target":168},{"source":162,"target":169},{"source":162,"target":170},{"source":162,"target":171},{"source":165,"target":172},{"source":165,"target":162},{"source":166,"target":173},{"source":166,"target":162},{"source":167,"target":174},{"source":167,"target":162},{"source":168,"target":175},{"source":168,"target":162},{"source":169,"target":176},{"source":169,"target":162},{"source":170,"target":177},{"source":170,"target":162},{"source":171,"target":178},{"source":171,"target":162},{"source":163,"target":179},{"source":163,"target":180},{"source":163,"target":16},{"source":180,"target":179},{"source":17,"target":5},{"source":17,"target":181},{"source":17,"target":182},{"source":17,"target":183},{"source":17,"target":184},{"source":17,"target":185},{"source":17,"target":186},{"source":181,"target":12},{"source":181,"target":187},{"source":181,"target":17},{"source":181,"target":188},{"source":187,"target":12},{"source":188,"target":189},{"source":188,"target":181},{"source":182,"target":190},{"source":182,"target":17},{"source":183,"target":14},{"source":183,"target":191},{"source":183,"target":17},{"source":183,"target":192},{"source":191,"target":14},{"source":192,"target":12},{"source":192,"target":193},{"source":192,"target":183},{"source":193,"target":12},{"source":184,"target":12},{"source":184,"target":194},{"source":184,"target":17},{"source":184,"target":195},{"source":194,"target":12},{"source":195,"target":196},{"source":195,"target":184},{"source":185,"target":14},{"source":185,"target":197},{"source":185,"target":17},{"source":185,"target":198},{"source":197,"target":14},{"source":198,"target":199},{"source":198,"target":185},{"source":186,"target":14},{"source":186,"target":200},{"source":186,"target":17},{"source":200,"target":14},{"source":18,"target":5},{"source":18,"target":201},{"source":18,"target":202},{"source":18,"target":203},{"source":18,"target":204},{"source":18,"target":205},{"source":18,"target":206},{"source":18,"target":207},{"source":18,"target":208},{"source":18,"target":209},{"source":18,"target":210},{"source":18,"target":211},{"source":18,"target":212},{"source":201,"target":213},{"source":201,"target":18},{"source":201,"target":214},{"source":201,"target":215},{"source":201,"target":216},{"source":214,"target":217},{"source":214,"target":201},{"source":215,"target":218},{"source":215,"target":201},{"source":216,"target":219},{"source":216,"target":201},{"source":202,"target":220},{"source":202,"target":18},{"source":202,"target":221},{"source":202,"target":222},{"source":202,"target":223},{"source":221,"target":224},{"source":221,"target":202},{"source":222,"target":225},{"source":222,"target":202},{"source":223,"target":226},{"source":223,"target":202},{"source":203,"target":227},{"source":203,"target":18},{"source":203,"target":228},{"source":203,"target":229},{"source":203,"target":230},{"source":228,"target":231},{"source":228,"target":203},{"source":229,"target":232},{"source":229,"target":203},{"source":230,"target":233},{"source":230,"target":203},{"source":204,"target":234},{"source":204,"target":18},{"source":204,"target":235},{"source":235,"target":236},{"source":235,"target":204},{"source":205,"target":237},{"source":205,"target":18},{"source":205,"target":238},{"source":205,"target":239},{"source":238,"target":240},{"source":238,"target":205},{"source":239,"target":241},{"source":239,"target":205},{"source":206,"target":242},{"source":206,"target":18},{"source":206,"target":243},{"source":243,"target":244},{"source":243,"target":206},{"source":207,"target":9},{"source":207,"target":245},{"source":207,"target":18},{"source":245,"target":9},{"source":208,"target":246},{"source":208,"target":18},{"source":208,"target":247},{"source":247,"target":248},{"source":247,"target":208},{"source":209,"target":249},{"source":209,"target":18},{"source":209,"target":250},{"source":209,"target":251},{"source":250,"target":252},{"source":250,"target":209},{"source":251,"target":253},{"source":251,"target":209},{"source":210,"target":254},{"source":210,"target":18},{"source":210,"target":255},{"source":210,"target":256},{"source":255,"target":257},{"source":255,"target":210},{"source":256,"target":258},{"source":256,"target":210},{"source":211,"target":259},{"source":211,"target":18},{"source":211,"target":260},{"source":211,"target":261},{"source":211,"target":262},{"source":211,"target":263},{"source":260,"target":264},{"source":260,"target":211},{"source":261,"target":265},{"source":261,"target":211},{"source":262,"target":266},{"source":262,"target":211},{"source":263,"target":267},{"source":263,"target":211},{"source":212,"target":14},{"source":212,"target":268},{"source":212,"target":18},{"source":212,"target":269},{"source":212,"target":270},{"source":212,"target":271},{"source":268,"target":14},{"source":269,"target":12},{"source":269,"target":272},{"source":269,"target":212},{"source":272,"target":12},{"source":270,"target":273},{"source":270,"target":212},{"source":271,"target":274},{"source":271,"target":212},{"source":19,"target":5},{"source":19,"target":275},{"source":19,"target":276},{"source":19,"target":277},{"source":19,"target":278},{"source":19,"target":279},{"source":19,"target":280},{"source":19,"target":281},{"source":19,"target":282},{"source":19,"target":283},{"source":275,"target":20},{"source":275,"target":284},{"source":275,"target":19},{"source":275,"target":285},{"source":275,"target":286},{"source":275,"target":287},{"source":284,"target":20},{"source":285,"target":288},{"source":285,"target":275},{"source":286,"target":289},{"source":286,"target":275},{"source":287,"target":290},{"source":287,"target":275},{"source":276,"target":291},{"source":276,"target":19},{"source":276,"target":292},{"source":276,"target":293},{"source":276,"target":294},{"source":276,"target":295},{"source":292,"target":296},{"source":292,"target":276},{"source":293,"target":297},{"source":293,"target":276},{"source":294,"target":298},{"source":294,"target":276},{"source":295,"target":299},{"source":295,"target":276},{"source":277,"target":300},{"source":277,"target":19},{"source":277,"target":301},{"source":277,"target":302},{"source":301,"target":303},{"source":301,"target":277},{"source":302,"target":304},{"source":302,"target":277},{"source":278,"target":305},{"source":278,"target":19},{"source":278,"target":306},{"source":306,"target":307},{"source":306,"target":278},{"source":279,"target":308},{"source":279,"target":19},{"source":279,"target":309},{"source":309,"target":310},{"source":309,"target":279},{"source":280,"target":311},{"source":280,"target":19},{"source":280,"target":312},{"source":280,"target":313},{"source":280,"target":314},{"source":280,"target":315},{"source":280,"target":316},{"source":280,"target":317},{"source":312,"target":318},{"source":312,"target":280},{"source":313,"target":319},{"source":313,"target":280},{"source":314,"target":320},{"source":314,"target":280},{"source":315,"target":321},{"source":315,"target":280},{"source":316,"target":322},{"source":316,"target":280},{"source":317,"target":323},{"source":317,"target":280},{"source":281,"target":324},{"source":281,"target":19},{"source":281,"target":325},{"source":281,"target":326},{"source":325,"target":327},{"source":325,"target":281},{"source":326,"target":328},{"source":326,"target":281},{"source":282,"target":329},{"source":282,"target":19},{"source":282,"target":330},{"source":282,"target":331},{"source":282,"target":332},{"source":282,"target":333},{"source":282,"target":334},{"source":282,"target":335},{"source":282,"target":336},{"source":330,"target":337},{"source":330,"target":282},{"source":331,"target":338},{"source":331,"target":282},{"source":332,"target":339},{"source":332,"target":282},{"source":333,"target":340},{"source":333,"target":282},{"source":334,"target":341},{"source":334,"target":282},{"source":335,"target":342},{"source":335,"target":282},{"source":336,"target":343},{"source":336,"target":282},{"source":283,"target":344},{"source":283,"target":19},{"source":283,"target":345},{"source":283,"target":346},{"source":345,"target":347},{"source":345,"target":283},{"source":346,"target":348},{"source":346,"target":283},{"source":20,"target":5},{"source":20,"target":349},{"source":20,"target":350},{"source":20,"target":351},{"source":20,"target":352},{"source":349,"target":353},{"source":349,"target":20},{"source":350,"target":354},{"source":350,"target":20},{"source":351,"target":355},{"source":351,"target":20},{"source":352,"target":356},{"source":352,"target":20},{"source":21,"target":5},{"source":21,"target":17},{"source":21,"target":22},{"source":21,"target":357},{"source":21,"target":358},{"source":21,"target":359},{"source":21,"target":360},{"source":21,"target":361},{"source":21,"target":362},{"source":357,"target":14},{"source":357,"target":363},{"source":357,"target":21},{"source":357,"target":364},{"source":363,"target":14},{"source":364,"target":365},{"source":364,"target":357},{"source":358,"target":21},{"source":358,"target":366},{"source":366,"target":367},{"source":366,"target":358},{"source":359,"target":12},{"source":359,"target":368},{"source":359,"target":21},{"source":368,"target":12},{"source":360,"target":14},{"source":360,"target":369},{"source":360,"target":21},{"source":369,"target":14},{"source":361,"target":17},{"source":362,"target":22},{"source":22,"target":5},{"source":22,"target":370},{"source":22,"target":371},{"source":22,"target":372},{"source":22,"target":373},{"source":22,"target":374},{"source":22,"target":375},{"source":22,"target":376},{"source":22,"target":377},{"source":370,"target":378},{"source":370,"target":22},{"source":370,"target":379},{"source":370,"target":380},{"source":370,"target":381},{"source":370,"target":382},{"source":379,"target":383},{"source":379,"target":370},{"source":380,"target":384},{"source":380,"target":370},{"source":381,"target":385},{"source":381,"target":370},{"source":382,"target":386},{"source":382,"target":370},{"source":371,"target":387},{"source":371,"target":22},{"source":371,"target":388},{"source":371,"target":389},{"source":371,"target":390},{"source":371,"target":391},{"source":388,"target":392},{"source":388,"target":371},{"source":389,"target":393},{"source":389,"target":371},{"source":390,"target":394},{"source":390,"target":371},{"source":391,"target":395},{"source":391,"target":371},{"source":372,"target":396},{"source":372,"target":22},{"source":372,"target":397},{"source":397,"target":398},{"source":397,"target":372},{"source":373,"target":399},{"source":373,"target":22},{"source":373,"target":400},{"source":373,"target":401},{"source":400,"target":402},{"source":400,"target":373},{"source":401,"target":403},{"source":401,"target":373},{"source":374,"target":404},{"source":374,"target":22},{"source":374,"target":405},{"source":374,"target":406},{"source":405,"target":407},{"source":405,"target":374},{"source":406,"target":408},{"source":406,"target":374},{"source":375,"target":409},{"source":375,"target":22},{"source":375,"target":410},{"source":410,"target":411},{"source":410,"target":375},{"source":376,"target":412},{"source":376,"target":22},{"source":376,"target":413},{"source":413,"target":414},{"source":413,"target":376},{"source":377,"target":415},{"source":377,"target":22},{"source":377,"target":416},{"source":416,"target":417},{"source":416,"target":377},{"source":23,"target":5},{"source":23,"target":418},{"source":418,"target":23},{"source":418,"target":419},{"source":419,"target":420},{"source":419,"target":418},{"source":24,"target":5},{"source":24,"target":23},{"source":24,"target":421},{"source":24,"target":422},{"source":421,"target":21},{"source":421,"target":423},{"source":421,"target":24},{"source":423,"target":21},{"source":422,"target":23},{"source":6,"target":424},{"source":6,"target":425},{"source":6,"target":179},{"source":6,"target":4},{"source":424,"target":6},{"source":424,"target":425},{"source":424,"target":426},{"source":426,"target":425},{"source":425,"target":6},{"source":425,"target":427},{"source":425,"target":428},{"source":425,"target":429},{"source":425,"target":430},{"source":427,"target":431},{"source":427,"target":425},{"source":427,"target":432},{"source":427,"target":433},{"source":427,"target":434},{"source":427,"target":435},{"source":427,"target":436},{"source":427,"target":437},{"source":427,"target":438},{"source":432,"target":439},{"source":432,"target":427},{"source":433,"target":440},{"source":433,"target":427},{"source":434,"target":441},{"source":434,"target":427},{"source":435,"target":442},{"source":435,"target":427},{"source":436,"target":443},{"source":436,"target":427},{"source":437,"target":444},{"source":437,"target":427},{"source":438,"target":445},{"source":438,"target":427},{"source":428,"target":446},{"source":428,"target":425},{"source":428,"target":447},{"source":428,"target":448},{"source":428,"target":449},{"source":428,"target":450},{"source":428,"target":451},{"source":428,"target":452},{"source":447,"target":453},{"source":447,"target":428},{"source":448,"target":454},{"source":448,"target":428},{"source":449,"target":455},{"source":449,"target":428},{"source":450,"target":456},{"source":450,"target":428},{"source":451,"target":457},{"source":451,"target":428},{"source":452,"target":458},{"source":452,"target":428},{"source":429,"target":459},{"source":429,"target":425},{"source":429,"target":460},{"source":429,"target":461},{"source":429,"target":462},{"source":429,"target":463},{"source":429,"target":464},{"source":429,"target":465},{"source":460,"target":466},{"source":460,"target":429},{"source":461,"target":467},{"source":461,"target":429},{"source":462,"target":468},{"source":462,"target":429},{"source":463,"target":469},{"source":463,"target":429},{"source":464,"target":470},{"source":464,"target":429},{"source":465,"target":471},{"source":465,"target":429},{"source":430,"target":472},{"source":430,"target":425},{"source":430,"target":473},{"source":430,"target":474},{"source":430,"target":475},{"source":430,"target":476},{"source":430,"target":477},{"source":430,"target":478},{"source":473,"target":479},{"source":473,"target":430},{"source":474,"target":480},{"source":474,"target":430},{"source":475,"target":481},{"source":475,"target":430},{"source":476,"target":482},{"source":476,"target":430},{"source":477,"target":483},{"source":477,"target":430},{"source":478,"target":484},{"source":478,"target":430},{"source":179,"target":6},{"source":179,"target":485},{"source":179,"target":486},{"source":485,"target":487},{"source":485,"target":179},{"source":485,"target":488},{"source":485,"target":489},{"source":485,"target":490},{"source":485,"target":491},{"source":485,"target":492},{"source":485,"target":493},{"source":485,"target":494},{"source":488,"target":495},{"source":488,"target":485},{"source":489,"target":496},{"source":489,"target":485},{"source":490,"target":497},{"source":490,"target":485},{"source":491,"target":498},{"source":491,"target":485},{"source":492,"target":499},{"source":492,"target":485},{"source":493,"target":500},{"source":493,"target":485},{"source":494,"target":501},{"source":494,"target":485},{"source":486,"target":502},{"source":486,"target":179},{"source":486,"target":503},{"source":486,"target":504},{"source":486,"target":505},{"source":486,"target":506},{"source":486,"target":507},{"source":486,"target":508},{"source":503,"target":509},{"source":503,"target":486},{"source":504,"target":510},{"source":504,"target":486},{"source":505,"target":511},{"source":505,"target":486},{"source":506,"target":512},{"source":506,"target":486},{"source":507,"target":513},{"source":507,"target":486},{"source":508,"target":514},{"source":508,"target":486},{"source":7,"target":515},{"source":7,"target":516},{"source":7,"target":517},{"source":7,"target":4},{"source":515,"target":7},{"source":516,"target":7},{"source":516,"target":515},{"source":516,"target":518},{"source":516,"target":519},{"source":516,"target":520},{"source":518,"target":18},{"source":518,"target":521},{"source":518,"target":516},{"source":521,"target":18},{"source":519,"target":19},{"source":519,"target":522},{"source":519,"target":516},{"source":522,"target":19},{"source":520,"target":515},{"source":517,"target":7},{"source":517,"target":515},{"source":517,"target":523},{"source":517,"target":524},{"source":517,"target":525},{"source":523,"target":22},{"source":523,"target":526},{"source":523,"target":517},{"source":526,"target":22},{"source":524,"target":23},{"source":524,"target":527},{"source":524,"target":517},{"source":527,"target":23},{"source":525,"target":515}],"multigraph":true}