model
BankComponent
HotelComponent
Receptionist
Customers
Admin
BankInterface
CustomerInterface
searchRooms
dateFrom
dateTo
numberOfGuests
numberOfRooms
createCustomer
firstName
surname
email
address
ccNumber
ccv
expiringMonth
expriningYear
pay
customer
receipt
validateCard
customer
createBooking
fromDate
toDate
wishes
customer
promotion
receipt
roomTypes
Room
Room
number
description
type
price
beds
status
receipt
price
number
description
clean
type
beds
receipt
residents
status
Expense
Expense
id
name
date
description
price
isFixed
receiptID
price
name
description
date
id
fixed
receiptId
Receipt
addExpense
expense
removeExpense
expense
getAllExpenses
Receipt
id
date
expenses
expenses
totalCost
Date
id
Resident
Resident
id
firstName
surname
firstName
surname
id
Customer
Customer
firstName
surname
email
address
ccNumber
ccv
ccExpiringMonth
ccExpiringYear
firstName
surname
email
adress
ccNumber
ccv
expiringMonth
expiringYear
ReceptionistInterface
createResident
firstName
surname
passportNumber
viewAllBookings
fromDate
toDate
getBooking
bookingNumber
viewUnOccupiedRooms
viewAllBookings
surname
dateFrom
dateTo
viewUnOccupiedRooms
roomType
checkIn
booking
rooms
checkOut
booking
login
name
password
removeBooking
booking
Booking
Booking
fromDate
toDate
wishes
customer
roomTypes
promotionCode
id
rooms
receipt
customer
fromDate
toDate
wishes
promotion
roomTypes
checkedIn
id
receipt
room
AdminInterface
login
name
password
createRoom
room
removeRoom
room
updateRoom
room
createUser
user
removeUser
user
updateUser
user
createPromotion
promotion
removePromotion
promotion
updatePromotion
promotion
createExpense
expense
removeExpense
expense
updateExpense
expense
viewRooms
viewPromotions
viewUsers
viewExpenses
AdminController
roomExpert
expenseExpert
userExpert
promotionExpert
User
User
firstName
surname
password
receptionist
administrator
id
firstName
surname
password
id
receptionist
administrator
Promotion
calculateDiscount
room
Promotion
code
description
percentage
vaildFrom
vaildTo
roomType
expirationDate
code
description
percentage
validFrom
validTo
roomType
expirationDate
RoomExpert
getAllRooms
getAvailableRoomTypes
from
to
numberOfRooms
numberOfGuests
getUnoccupiedRooms
addRoom
room
removeRoom
room
updateRoom
room
getRoom
roomNumber
RoomExpert
database
database
DatabaseInterface
query
query
send
query
ExpenseExpert
getExpense
ID
getAllExpense
getAllExpense
receiptID
addExpense
expense
removeExpense
ID
updateExpense
expense
ExpenseExpert
database
database
UserExpert
getUser
ID
getAllUsers
addUser
user
removeUser
ID
updateUser
user
login
name
password
UserExpert
database
database
PromotionExpert
getPromotion
promotionCode
getAllPromotions
removePromotion
code
updatePromotion
promotion
PromotionExpert
database
addPromotion
promotion
database
BookingExpert
getBooking
ID
getAllBookings
dateFrom
dateTo
addBooking
booking
removeBooking
booking
updateBooking
booking
getAllBookings
dateFrom
dateTo
surname
BookingExpert
database
checkIn
booking
rooms
checkOut
booking
database
ReceiptExpert
getReceipt
ID
getAllReceipt
combine
receiptList
addReceipt
receipt
removeReceipt
receipt
updateReceipt
receipt
ReceiptExpert
database
database
EmailSender
send
booking
Payment
makePayment
customer
amount
isCreditCardValid
customer
BookingController
BookingController
roomExpert
bookingExpert
promotionExpert
expenseExpert
receiptExpert
room
bookingExpert
promotionExpert
databaseInterface
expenseExpert
receiptExpert
AdminController
AdminController
expenseExpert
promotionExpert
userExpert
roomExpert
userExpert
expenseExpert
promoExpert
databaseInterface
roomExpert
ReceptionistController
ReceptionistController
receiptExpert
expenseExpert
roomExpert
bookingExpert
promotionExpert
userExpert
userExpert
MSAccessDB
openConnection
closeConnection
<?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="model" nsURI="http:///model.ecore" nsPrefix="model">
  <eClassifiers xsi:type="ecore:EClass" name="BankComponent"/>
  <eClassifiers xsi:type="ecore:EClass" name="HotelComponent"/>
  <eClassifiers xsi:type="ecore:EClass" name="Receptionist"/>
  <eClassifiers xsi:type="ecore:EClass" name="Customers"/>
  <eClassifiers xsi:type="ecore:EClass" name="Admin"/>
  <eClassifiers xsi:type="ecore:EClass" name="BankInterface" abstract="true" interface="true"/>
  <eClassifiers xsi:type="ecore:EClass" name="CustomerInterface" abstract="true" interface="true">
    <eOperations name="searchRooms" ordered="false" upperBound="-1" eType="#//Room">
      <eParameters name="dateFrom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="dateTo" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="numberOfGuests" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eParameters name="numberOfRooms" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    </eOperations>
    <eOperations name="createCustomer" ordered="false" lowerBound="1" eType="#//Customer">
      <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="surname" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="email" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="address" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="expiringMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eParameters name="expriningYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    </eOperations>
    <eOperations name="pay" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="customer" ordered="false" lowerBound="1" eType="#//Customer"/>
      <eParameters name="receipt" ordered="false" lowerBound="1" eType="#//Receipt"/>
    </eOperations>
    <eOperations name="validateCard" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="customer" ordered="false" lowerBound="1" eType="#//Customer"/>
    </eOperations>
    <eOperations name="createBooking" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="fromDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="toDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="wishes" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="customer" ordered="false" lowerBound="1" eType="#//Customer"/>
      <eParameters name="promotion" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="receipt" ordered="false" lowerBound="1" eType="#//Receipt"/>
      <eParameters name="roomTypes" ordered="false" upperBound="-1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Room">
    <eOperations name="Room" ordered="false" lowerBound="1">
      <eParameters name="number" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
      <eParameters name="description" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="type" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="price" ordered="false" lowerBound="1" eType="#//Expense"/>
      <eParameters name="beds" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
      <eParameters name="status" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="receipt" ordered="false" lowerBound="1" eType="#//Receipt"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="price" ordered="false"
        lowerBound="1" eType="#//Expense"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="number" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="clean" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" ordered="false" lowerBound="1"
        eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="beds" ordered="false" lowerBound="1"
        eType="ecore:EDataType types.ecore#//Integer"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="receipt" ordered="false"
        lowerBound="1" eType="#//Receipt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="residents" ordered="false"
        upperBound="-1" eType="#//Resident"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="status" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Expense">
    <eOperations name="Expense" ordered="false" lowerBound="1">
      <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="date" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="description" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="price" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
      <eParameters name="isFixed" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eParameters name="receiptID" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    </eOperations>
    <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="name" ordered="false" lowerBound="1"
        eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="date" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fixed" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="receiptId" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Receipt">
    <eOperations name="addExpense" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="expense" ordered="false" lowerBound="1" eType="#//Expense"/>
    </eOperations>
    <eOperations name="removeExpense" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="expense" ordered="false" lowerBound="1" eType="#//Expense"/>
    </eOperations>
    <eOperations name="getAllExpenses" ordered="false" upperBound="-1" eType="#//Expense"/>
    <eOperations name="Receipt" ordered="false" lowerBound="1">
      <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eParameters name="date" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="expenses" ordered="false" upperBound="-1" eType="#//Expense"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="expenses" ordered="false"
        upperBound="-1" eType="#//Expense"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="totalCost" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="Date" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Resident">
    <eOperations name="Resident" ordered="false" lowerBound="1">
      <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="surname" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="surname" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
        eType="ecore:EDataType types.ecore#//String"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Customer">
    <eOperations name="Customer" ordered="false" lowerBound="1">
      <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="surname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="email" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="address" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <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="ccExpiringMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eParameters name="ccExpiringYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="surname" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="email" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="adress" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ccNumber" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="ccv" ordered="false" lowerBound="1"
        eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="expiringMonth" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="expiringYear" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReceptionistInterface" abstract="true"
      interface="true">
    <eOperations name="createResident" ordered="false" lowerBound="1" eType="#//Resident">
      <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="surname" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="passportNumber" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="viewAllBookings" ordered="false" upperBound="-1" eType="#//Booking">
      <eParameters name="fromDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="toDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    </eOperations>
    <eOperations name="getBooking" ordered="false" lowerBound="1" eType="#//Booking">
      <eParameters name="bookingNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    </eOperations>
    <eOperations name="viewUnOccupiedRooms" ordered="false" upperBound="-1" eType="#//Room"/>
    <eOperations name="viewAllBookings" ordered="false" upperBound="-1" eType="#//Booking">
      <eParameters name="surname" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="dateFrom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="dateTo" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    </eOperations>
    <eOperations name="viewUnOccupiedRooms" ordered="false" upperBound="-1" eType="#//Room">
      <eParameters name="roomType" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="checkIn" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
      <eParameters name="rooms" ordered="false" upperBound="-1" eType="#//Room"/>
    </eOperations>
    <eOperations name="checkOut" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
    </eOperations>
    <eOperations name="login" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="password" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="removeBooking" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Booking">
    <eOperations name="Booking" ordered="false" lowerBound="1">
      <eParameters name="fromDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="toDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="wishes" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="customer" ordered="false" lowerBound="1" eType="#//Customer"/>
      <eParameters name="roomTypes" ordered="false" upperBound="-1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="promotionCode" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eParameters name="rooms" ordered="false" upperBound="-1" eType="#//Room"/>
      <eParameters name="receipt" ordered="false" lowerBound="1" eType="#//Receipt"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="customer" ordered="false"
        lowerBound="1" eType="#//Customer"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fromDate" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="toDate" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="wishes" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="promotion" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="roomTypes" ordered="false"
        upperBound="-1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="checkedIn" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="receipt" ordered="false"
        lowerBound="1" eType="#//Receipt"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="room" ordered="false" upperBound="-1"
        eType="#//Room"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AdminInterface" abstract="true" interface="true">
    <eOperations name="login" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="password" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="createRoom" ordered="false" lowerBound="1" eType="#//Room">
      <eParameters name="room" ordered="false" lowerBound="1" eType="#//Room"/>
    </eOperations>
    <eOperations name="removeRoom" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="room" ordered="false" lowerBound="1" eType="#//Room"/>
    </eOperations>
    <eOperations name="updateRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="room" ordered="false" lowerBound="1" eType="#//Room"/>
    </eOperations>
    <eOperations name="createUser" ordered="false" lowerBound="1" eType="#//User">
      <eParameters name="user" ordered="false" lowerBound="1" eType="#//User"/>
    </eOperations>
    <eOperations name="removeUser" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="user" ordered="false" lowerBound="1" eType="#//User"/>
    </eOperations>
    <eOperations name="updateUser" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="user" ordered="false" lowerBound="1" eType="#//User"/>
    </eOperations>
    <eOperations name="createPromotion" ordered="false" lowerBound="1" eType="#//Promotion">
      <eParameters name="promotion" ordered="false" lowerBound="1" eType="#//Promotion"/>
    </eOperations>
    <eOperations name="removePromotion" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="promotion" ordered="false" lowerBound="1" eType="#//Promotion"/>
    </eOperations>
    <eOperations name="updatePromotion" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="promotion" ordered="false" lowerBound="1" eType="#//Promotion"/>
    </eOperations>
    <eOperations name="createExpense" ordered="false" lowerBound="1" eType="#//Expense">
      <eParameters name="expense" ordered="false" lowerBound="1" eType="#//Expense"/>
    </eOperations>
    <eOperations name="removeExpense" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="expense" ordered="false" lowerBound="1" eType="#//Expense"/>
    </eOperations>
    <eOperations name="updateExpense" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean">
      <eParameters name="expense" ordered="false" lowerBound="1" eType="#//Expense"/>
    </eOperations>
    <eOperations name="viewRooms" ordered="false" upperBound="-1" eType="#//Room"/>
    <eOperations name="viewPromotions" ordered="false" upperBound="-1" eType="#//Promotion"/>
    <eOperations name="viewUsers" ordered="false" upperBound="-1" eType="#//User"/>
    <eOperations name="viewExpenses" ordered="false" upperBound="-1" eType="#//Expense"/>
    <eOperations name="AdminController" ordered="false" lowerBound="1">
      <eParameters name="roomExpert" ordered="false" lowerBound="1" eType="#//RoomExpert"/>
      <eParameters name="expenseExpert" ordered="false" lowerBound="1" eType="#//ExpenseExpert"/>
      <eParameters name="userExpert" ordered="false" lowerBound="1" eType="#//UserExpert"/>
      <eParameters name="promotionExpert" ordered="false" lowerBound="1" eType="#//PromotionExpert"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="User">
    <eOperations name="User" ordered="false" lowerBound="1">
      <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="surname" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="password" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="receptionist" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eParameters name="administrator" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
      <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="surname" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="password" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
        eType="ecore:EDataType types.ecore#//Integer"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="receptionist" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="administrator" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//Boolean"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Promotion">
    <eOperations name="calculateDiscount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
      <eParameters name="room" ordered="false" lowerBound="1" eType="#//Room"/>
    </eOperations>
    <eOperations name="Promotion" ordered="false" lowerBound="1">
      <eParameters name="code" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="description" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
      <eParameters name="percentage" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
      <eParameters name="vaildFrom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="vaildTo" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="roomType" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="expirationDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" ordered="false" lowerBound="1"
        eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="percentage" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="validFrom" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="validTo" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="roomType" ordered="false"
        lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="expirationDate" ordered="false"
        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="RoomExpert">
    <eOperations name="getAllRooms" ordered="false" upperBound="-1" eType="#//Room"/>
    <eOperations name="getAvailableRoomTypes" ordered="false" upperBound="-1" eType="#//Room">
      <eParameters name="from" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="to" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="numberOfRooms" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
      <eParameters name="numberOfGuests" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="getUnoccupiedRooms" ordered="false" upperBound="-1" eType="#//Room"/>
    <eOperations name="addRoom" ordered="false" lowerBound="1" eType="#//Room">
      <eParameters name="room" ordered="false" lowerBound="1" eType="#//Room"/>
    </eOperations>
    <eOperations name="removeRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="room" ordered="false" lowerBound="1" eType="#//Room"/>
    </eOperations>
    <eOperations name="updateRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="room" ordered="false" lowerBound="1" eType="#//Room"/>
    </eOperations>
    <eOperations name="getRoom" ordered="false" lowerBound="1" eType="#//Room">
      <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="RoomExpert" ordered="false" lowerBound="1">
      <eParameters name="database" ordered="false" lowerBound="1" eType="#//DatabaseInterface"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="database" ordered="false"
        lowerBound="1" eType="#//DatabaseInterface"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="DatabaseInterface" abstract="true" interface="true">
    <eOperations name="query" ordered="false" upperBound="-1" eType="ecore:EDataType types.ecore#//String">
      <eParameters name="query" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="send" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="query" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ExpenseExpert">
    <eOperations name="getExpense" ordered="false" lowerBound="1" eType="#//Expense">
      <eParameters name="ID" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="getAllExpense" ordered="false" upperBound="-1" eType="#//Expense"/>
    <eOperations name="getAllExpense" ordered="false" upperBound="-1" eType="#//Expense">
      <eParameters name="receiptID" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    </eOperations>
    <eOperations name="addExpense" ordered="false" lowerBound="1" eType="#//Expense">
      <eParameters name="expense" ordered="false" lowerBound="1" eType="#//Expense"/>
    </eOperations>
    <eOperations name="removeExpense" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="ID" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="updateExpense" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="expense" ordered="false" lowerBound="1" eType="#//Expense"/>
    </eOperations>
    <eOperations name="ExpenseExpert" ordered="false" lowerBound="1">
      <eParameters name="database" ordered="false" lowerBound="1" eType="#//DatabaseInterface"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="database" ordered="false"
        lowerBound="1" eType="#//DatabaseInterface"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="UserExpert">
    <eOperations name="getUser" ordered="false" lowerBound="1" eType="#//User">
      <eParameters name="ID" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="getAllUsers" ordered="false" upperBound="-1" eType="#//User"/>
    <eOperations name="addUser" ordered="false" lowerBound="1" eType="#//User">
      <eParameters name="user" ordered="false" lowerBound="1" eType="#//User"/>
    </eOperations>
    <eOperations name="removeUser" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="ID" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="updateUser" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="user" ordered="false" lowerBound="1" eType="#//User"/>
    </eOperations>
    <eOperations name="login" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
      <eParameters name="password" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="UserExpert" ordered="false" lowerBound="1">
      <eParameters name="database" ordered="false" lowerBound="1" eType="#//DatabaseInterface"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="database" ordered="false"
        lowerBound="1" eType="#//DatabaseInterface"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="PromotionExpert">
    <eOperations name="getPromotion" ordered="false" lowerBound="1" eType="#//Promotion">
      <eParameters name="promotionCode" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="getAllPromotions" ordered="false" upperBound="-1" eType="#//Promotion"/>
    <eOperations name="removePromotion" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="code" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="updatePromotion" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="promotion" ordered="false" lowerBound="1" eType="#//Promotion"/>
    </eOperations>
    <eOperations name="PromotionExpert" ordered="false" lowerBound="1">
      <eParameters name="database" ordered="false" lowerBound="1" eType="#//DatabaseInterface"/>
    </eOperations>
    <eOperations name="addPromotion" ordered="false" lowerBound="1" eType="#//Promotion">
      <eParameters name="promotion" ordered="false" lowerBound="1" eType="#//Promotion"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="database" ordered="false"
        lowerBound="1" eType="#//DatabaseInterface"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BookingExpert">
    <eOperations name="getBooking" ordered="false" lowerBound="1" eType="#//Booking">
      <eParameters name="ID" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="getAllBookings" ordered="false" upperBound="-1" eType="#//Booking">
      <eParameters name="dateFrom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="dateTo" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
    </eOperations>
    <eOperations name="addBooking" ordered="false" lowerBound="1" eType="#//Booking">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
    </eOperations>
    <eOperations name="removeBooking" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
    </eOperations>
    <eOperations name="updateBooking" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
    </eOperations>
    <eOperations name="getAllBookings" ordered="false" upperBound="-1" eType="#//Booking">
      <eParameters name="dateFrom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="dateTo" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
      <eParameters name="surname" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//String"/>
    </eOperations>
    <eOperations name="BookingExpert" ordered="false" lowerBound="1">
      <eParameters name="database" ordered="false" lowerBound="1" eType="#//DatabaseInterface"/>
    </eOperations>
    <eOperations name="checkIn" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
      <eParameters name="rooms" ordered="false" upperBound="-1" eType="#//Room"/>
    </eOperations>
    <eOperations name="checkOut" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="database" ordered="false"
        lowerBound="1" eType="#//DatabaseInterface"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReceiptExpert">
    <eOperations name="getReceipt" ordered="false" lowerBound="1" eType="#//Receipt">
      <eParameters name="ID" ordered="false" lowerBound="1" eType="ecore:EDataType types.ecore#//Integer"/>
    </eOperations>
    <eOperations name="getAllReceipt" ordered="false" upperBound="-1" eType="#//Receipt"/>
    <eOperations name="combine" ordered="false" lowerBound="1" eType="#//Receipt">
      <eParameters name="receiptList" ordered="false" upperBound="-1" eType="#//Receipt"/>
    </eOperations>
    <eOperations name="addReceipt" ordered="false" lowerBound="1" eType="#//Receipt">
      <eParameters name="receipt" ordered="false" lowerBound="1" eType="#//Receipt"/>
    </eOperations>
    <eOperations name="removeReceipt" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="receipt" ordered="false" lowerBound="1" eType="#//Receipt"/>
    </eOperations>
    <eOperations name="updateReceipt" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="receipt" ordered="false" lowerBound="1" eType="#//Receipt"/>
    </eOperations>
    <eOperations name="ReceiptExpert" ordered="false" lowerBound="1">
      <eParameters name="database" ordered="false" lowerBound="1" eType="#//DatabaseInterface"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="database" ordered="false"
        lowerBound="1" eType="#//DatabaseInterface"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="EmailSender">
    <eOperations name="send" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="booking" ordered="false" lowerBound="1" eType="#//Booking"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="Payment">
    <eOperations name="makePayment" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
      <eParameters name="customer" ordered="false" lowerBound="1" eType="#//Customer"/>
      <eParameters name="amount" 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="customer" ordered="false" lowerBound="1" eType="#//Customer"/>
    </eOperations>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="BookingController" eSuperTypes="#//CustomerInterface">
    <eOperations name="BookingController" ordered="false" lowerBound="1">
      <eParameters name="roomExpert" ordered="false" lowerBound="1" eType="#//RoomExpert"/>
      <eParameters name="bookingExpert" ordered="false" lowerBound="1" eType="#//BookingExpert"/>
      <eParameters name="promotionExpert" ordered="false" lowerBound="1" eType="#//PromotionExpert"/>
      <eParameters name="expenseExpert" ordered="false" lowerBound="1" eType="#//ExpenseExpert"/>
      <eParameters name="receiptExpert" ordered="false" lowerBound="1" eType="#//ReceiptExpert"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="room" ordered="false" lowerBound="1"
        eType="#//RoomExpert"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="bookingExpert" ordered="false"
        lowerBound="1" eType="#//BookingExpert"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="promotionExpert" ordered="false"
        lowerBound="1" eType="#//PromotionExpert"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="databaseInterface" ordered="false"
        lowerBound="1" eType="#//DatabaseInterface"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="expenseExpert" ordered="false"
        lowerBound="1" eType="#//ExpenseExpert"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="receiptExpert" ordered="false"
        lowerBound="1" eType="#//ReceiptExpert"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="AdminController" eSuperTypes="#//AdminInterface">
    <eOperations name="AdminController" ordered="false" lowerBound="1">
      <eParameters name="expenseExpert" ordered="false" lowerBound="1" eType="#//ExpenseExpert"/>
      <eParameters name="promotionExpert" ordered="false" lowerBound="1" eType="#//PromotionExpert"/>
      <eParameters name="userExpert" ordered="false" lowerBound="1" eType="#//UserExpert"/>
      <eParameters name="roomExpert" ordered="false" lowerBound="1" eType="#//RoomExpert"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="userExpert" ordered="false"
        lowerBound="1" eType="#//UserExpert"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="expenseExpert" ordered="false"
        lowerBound="1" eType="#//ExpenseExpert"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="promoExpert" ordered="false"
        lowerBound="1" eType="#//PromotionExpert"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="databaseInterface" ordered="false"
        lowerBound="1" eType="#//DatabaseInterface"/>
    <eStructuralFeatures xsi:type="ecore:EReference" name="roomExpert" ordered="false"
        lowerBound="1" eType="#//RoomExpert"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="ReceptionistController" eSuperTypes="#//BookingController #//ReceptionistInterface">
    <eOperations name="ReceptionistController" ordered="false" lowerBound="1">
      <eParameters name="receiptExpert" ordered="false" lowerBound="1" eType="#//ReceiptExpert"/>
      <eParameters name="expenseExpert" ordered="false" lowerBound="1" eType="#//ExpenseExpert"/>
      <eParameters name="roomExpert" ordered="false" lowerBound="1" eType="#//RoomExpert"/>
      <eParameters name="bookingExpert" ordered="false" lowerBound="1" eType="#//BookingExpert"/>
      <eParameters name="promotionExpert" ordered="false" lowerBound="1" eType="#//PromotionExpert"/>
      <eParameters name="userExpert" ordered="false" lowerBound="1" eType="#//UserExpert"/>
    </eOperations>
    <eStructuralFeatures xsi:type="ecore:EReference" name="userExpert" ordered="false"
        lowerBound="1" eType="#//UserExpert"/>
  </eClassifiers>
  <eClassifiers xsi:type="ecore:EClass" name="MSAccessDB" eSuperTypes="#//DatabaseInterface">
    <eOperations name="openConnection" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
    <eOperations name="closeConnection" ordered="false" lowerBound="1"/>
  </eClassifiers>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"model","nsURI":"http:///model.ecore","name":"model","id":0,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BankComponent","instanceClass":null,"abstract":false,"id":1,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"HotelComponent","instanceClass":null,"abstract":false,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Receptionist","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Customers","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Admin","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BankInterface","instanceClass":null,"abstract":true,"id":6,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CustomerInterface","instanceClass":null,"abstract":true,"id":7,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Room","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Expense","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Receipt","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Resident","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Customer","instanceClass":null,"abstract":false,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ReceptionistInterface","instanceClass":null,"abstract":true,"id":13,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Booking","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminInterface","instanceClass":null,"abstract":true,"id":15,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"User","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Promotion","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomExpert","instanceClass":null,"abstract":false,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DatabaseInterface","instanceClass":null,"abstract":true,"id":19,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExpenseExpert","instanceClass":null,"abstract":false,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UserExpert","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PromotionExpert","instanceClass":null,"abstract":false,"id":22,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BookingExpert","instanceClass":null,"abstract":false,"id":23,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ReceiptExpert","instanceClass":null,"abstract":false,"id":24,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EmailSender","instanceClass":null,"abstract":false,"id":25,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Payment","instanceClass":null,"abstract":false,"id":26,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BookingController","instanceClass":null,"abstract":false,"id":27,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminController","instanceClass":null,"abstract":false,"id":28,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ReceptionistController","instanceClass":null,"abstract":false,"id":29,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MSAccessDB","instanceClass":null,"abstract":false,"id":30,"interface":false,"eClass":"EClass"},{"ordered":false,"upperBound":-1,"unique":true,"name":"searchRooms","lowerBound":0,"id":31,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createCustomer","lowerBound":1,"id":32,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"pay","lowerBound":1,"id":33,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"validateCard","lowerBound":1,"id":34,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createBooking","lowerBound":1,"id":35,"many":false,"required":true,"eClass":"EOperation"},{"id":36,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"dateFrom","lowerBound":1,"id":37,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"dateTo","lowerBound":1,"id":38,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfGuests","lowerBound":1,"id":39,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfRooms","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"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":46,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"surname","lowerBound":1,"id":47,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"email","lowerBound":1,"id":48,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"address","lowerBound":1,"id":49,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":50,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":51,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiringMonth","lowerBound":1,"id":52,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expriningYear","lowerBound":1,"id":53,"many":false,"required":true,"eClass":"EParameter"},{"id":54,"eClass":"EGenericType"},{"id":55,"eClass":"EGenericType"},{"id":56,"eClass":"EGenericType"},{"id":57,"eClass":"EGenericType"},{"id":58,"eClass":"EGenericType"},{"id":59,"eClass":"EGenericType"},{"id":60,"eClass":"EGenericType"},{"id":61,"eClass":"EGenericType"},{"id":62,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":63,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"receipt","lowerBound":1,"id":64,"many":false,"required":true,"eClass":"EParameter"},{"id":65,"eClass":"EGenericType"},{"id":66,"eClass":"EGenericType"},{"id":67,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":68,"many":false,"required":true,"eClass":"EParameter"},{"id":69,"eClass":"EGenericType"},{"id":70,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"fromDate","lowerBound":1,"id":71,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"toDate","lowerBound":1,"id":72,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"wishes","lowerBound":1,"id":73,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":74,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotion","lowerBound":1,"id":75,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"receipt","lowerBound":1,"id":76,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"roomTypes","lowerBound":0,"id":77,"many":true,"required":false,"eClass":"EParameter"},{"id":78,"eClass":"EGenericType"},{"id":79,"eClass":"EGenericType"},{"id":80,"eClass":"EGenericType"},{"id":81,"eClass":"EGenericType"},{"id":82,"eClass":"EGenericType"},{"id":83,"eClass":"EGenericType"},{"id":84,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"Room","lowerBound":1,"id":85,"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":"price","changeable":true,"resolveProxies":true,"lowerBound":1,"id":86,"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":"number","changeable":true,"lowerBound":1,"iD":false,"id":87,"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":88,"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":"clean","changeable":true,"lowerBound":1,"iD":false,"id":89,"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":"type","changeable":true,"lowerBound":1,"iD":false,"id":90,"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":"beds","changeable":true,"lowerBound":1,"iD":false,"id":91,"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":"receipt","changeable":true,"resolveProxies":true,"lowerBound":1,"id":92,"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":"residents","changeable":true,"resolveProxies":true,"lowerBound":0,"id":93,"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":"status","changeable":true,"lowerBound":1,"iD":false,"id":94,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"number","lowerBound":1,"id":95,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"description","lowerBound":1,"id":96,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"type","lowerBound":1,"id":97,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"price","lowerBound":1,"id":98,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"beds","lowerBound":1,"id":99,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"status","lowerBound":1,"id":100,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"receipt","lowerBound":1,"id":101,"many":false,"required":true,"eClass":"EParameter"},{"id":102,"eClass":"EGenericType"},{"id":103,"eClass":"EGenericType"},{"id":104,"eClass":"EGenericType"},{"id":105,"eClass":"EGenericType"},{"id":106,"eClass":"EGenericType"},{"id":107,"eClass":"EGenericType"},{"id":108,"eClass":"EGenericType"},{"id":109,"eClass":"EGenericType"},{"id":110,"eClass":"EGenericType"},{"id":111,"eClass":"EGenericType"},{"id":112,"eClass":"EGenericType"},{"id":113,"eClass":"EGenericType"},{"id":114,"eClass":"EGenericType"},{"id":115,"eClass":"EGenericType"},{"id":116,"eClass":"EGenericType"},{"id":117,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"Expense","lowerBound":1,"id":118,"many":false,"required":true,"eClass":"EOperation"},{"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":119,"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":120,"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":121,"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":"date","changeable":true,"lowerBound":1,"iD":false,"id":122,"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":"id","changeable":true,"lowerBound":1,"iD":false,"id":123,"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":"fixed","changeable":true,"lowerBound":1,"iD":false,"id":124,"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":"receiptId","changeable":true,"lowerBound":1,"iD":false,"id":125,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":126,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":127,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"date","lowerBound":1,"id":128,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"description","lowerBound":1,"id":129,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"price","lowerBound":1,"id":130,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"isFixed","lowerBound":1,"id":131,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"receiptID","lowerBound":1,"id":132,"many":false,"required":true,"eClass":"EParameter"},{"id":133,"eClass":"EGenericType"},{"id":134,"eClass":"EGenericType"},{"id":135,"eClass":"EGenericType"},{"id":136,"eClass":"EGenericType"},{"id":137,"eClass":"EGenericType"},{"id":138,"eClass":"EGenericType"},{"id":139,"eClass":"EGenericType"},{"id":140,"eClass":"EGenericType"},{"id":141,"eClass":"EGenericType"},{"id":142,"eClass":"EGenericType"},{"id":143,"eClass":"EGenericType"},{"id":144,"eClass":"EGenericType"},{"id":145,"eClass":"EGenericType"},{"id":146,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"addExpense","lowerBound":1,"id":147,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeExpense","lowerBound":1,"id":148,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllExpenses","lowerBound":0,"id":149,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"Receipt","lowerBound":1,"id":150,"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":"expenses","changeable":true,"resolveProxies":true,"lowerBound":0,"id":151,"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":"totalCost","changeable":true,"lowerBound":1,"iD":false,"id":152,"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":"Date","changeable":true,"lowerBound":1,"iD":false,"id":153,"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":"id","changeable":true,"lowerBound":1,"iD":false,"id":154,"derived":false},{"id":155,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"expense","lowerBound":1,"id":156,"many":false,"required":true,"eClass":"EParameter"},{"id":157,"eClass":"EGenericType"},{"id":158,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"expense","lowerBound":1,"id":159,"many":false,"required":true,"eClass":"EParameter"},{"id":160,"eClass":"EGenericType"},{"id":161,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":162,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"date","lowerBound":1,"id":163,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"expenses","lowerBound":0,"id":164,"many":true,"required":false,"eClass":"EParameter"},{"id":165,"eClass":"EGenericType"},{"id":166,"eClass":"EGenericType"},{"id":167,"eClass":"EGenericType"},{"id":168,"eClass":"EGenericType"},{"id":169,"eClass":"EGenericType"},{"id":170,"eClass":"EGenericType"},{"id":171,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"Resident","lowerBound":1,"id":172,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"firstName","changeable":true,"lowerBound":1,"iD":false,"id":173,"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":"surname","changeable":true,"lowerBound":1,"iD":false,"id":174,"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":"id","changeable":true,"lowerBound":1,"iD":false,"id":175,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":176,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":177,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"surname","lowerBound":1,"id":178,"many":false,"required":true,"eClass":"EParameter"},{"id":179,"eClass":"EGenericType"},{"id":180,"eClass":"EGenericType"},{"id":181,"eClass":"EGenericType"},{"id":182,"eClass":"EGenericType"},{"id":183,"eClass":"EGenericType"},{"id":184,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"Customer","lowerBound":1,"id":185,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"firstName","changeable":true,"lowerBound":1,"iD":false,"id":186,"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":"surname","changeable":true,"lowerBound":1,"iD":false,"id":187,"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":"email","changeable":true,"lowerBound":1,"iD":false,"id":188,"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":"adress","changeable":true,"lowerBound":1,"iD":false,"id":189,"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":"ccNumber","changeable":true,"lowerBound":1,"iD":false,"id":190,"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":"ccv","changeable":true,"lowerBound":1,"iD":false,"id":191,"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":"expiringMonth","changeable":true,"lowerBound":1,"iD":false,"id":192,"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":"expiringYear","changeable":true,"lowerBound":1,"iD":false,"id":193,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":194,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"surname","lowerBound":1,"id":195,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"email","lowerBound":1,"id":196,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"address","lowerBound":1,"id":197,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":198,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":199,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccExpiringMonth","lowerBound":1,"id":200,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccExpiringYear","lowerBound":1,"id":201,"many":false,"required":true,"eClass":"EParameter"},{"id":202,"eClass":"EGenericType"},{"id":203,"eClass":"EGenericType"},{"id":204,"eClass":"EGenericType"},{"id":205,"eClass":"EGenericType"},{"id":206,"eClass":"EGenericType"},{"id":207,"eClass":"EGenericType"},{"id":208,"eClass":"EGenericType"},{"id":209,"eClass":"EGenericType"},{"id":210,"eClass":"EGenericType"},{"id":211,"eClass":"EGenericType"},{"id":212,"eClass":"EGenericType"},{"id":213,"eClass":"EGenericType"},{"id":214,"eClass":"EGenericType"},{"id":215,"eClass":"EGenericType"},{"id":216,"eClass":"EGenericType"},{"id":217,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"createResident","lowerBound":1,"id":218,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"viewAllBookings","lowerBound":0,"id":219,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBooking","lowerBound":1,"id":220,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"viewUnOccupiedRooms","lowerBound":0,"id":221,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"viewAllBookings","lowerBound":0,"id":222,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"viewUnOccupiedRooms","lowerBound":0,"id":223,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkIn","lowerBound":1,"id":224,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkOut","lowerBound":1,"id":225,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"login","lowerBound":1,"id":226,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeBooking","lowerBound":1,"id":227,"many":false,"required":true,"eClass":"EOperation"},{"id":228,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":229,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"surname","lowerBound":1,"id":230,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"passportNumber","lowerBound":1,"id":231,"many":false,"required":true,"eClass":"EParameter"},{"id":232,"eClass":"EGenericType"},{"id":233,"eClass":"EGenericType"},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"fromDate","lowerBound":1,"id":236,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"toDate","lowerBound":1,"id":237,"many":false,"required":true,"eClass":"EParameter"},{"id":238,"eClass":"EGenericType"},{"id":239,"eClass":"EGenericType"},{"id":240,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingNumber","lowerBound":1,"id":241,"many":false,"required":true,"eClass":"EParameter"},{"id":242,"eClass":"EGenericType"},{"id":243,"eClass":"EGenericType"},{"id":244,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"surname","lowerBound":1,"id":245,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"dateFrom","lowerBound":1,"id":246,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"dateTo","lowerBound":1,"id":247,"many":false,"required":true,"eClass":"EParameter"},{"id":248,"eClass":"EGenericType"},{"id":249,"eClass":"EGenericType"},{"id":250,"eClass":"EGenericType"},{"id":251,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":252,"many":false,"required":true,"eClass":"EParameter"},{"id":253,"eClass":"EGenericType"},{"id":254,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":255,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"rooms","lowerBound":0,"id":256,"many":true,"required":false,"eClass":"EParameter"},{"id":257,"eClass":"EGenericType"},{"id":258,"eClass":"EGenericType"},{"id":259,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":260,"many":false,"required":true,"eClass":"EParameter"},{"id":261,"eClass":"EGenericType"},{"id":262,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":263,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"password","lowerBound":1,"id":264,"many":false,"required":true,"eClass":"EParameter"},{"id":265,"eClass":"EGenericType"},{"id":266,"eClass":"EGenericType"},{"id":267,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":268,"many":false,"required":true,"eClass":"EParameter"},{"id":269,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"Booking","lowerBound":1,"id":270,"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":271,"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":"fromDate","changeable":true,"lowerBound":1,"iD":false,"id":272,"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":"toDate","changeable":true,"lowerBound":1,"iD":false,"id":273,"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":"wishes","changeable":true,"lowerBound":1,"iD":false,"id":274,"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":"promotion","changeable":true,"lowerBound":1,"iD":false,"id":275,"derived":false},{"ordered":false,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"roomTypes","changeable":true,"lowerBound":0,"iD":false,"id":276,"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":"checkedIn","changeable":true,"lowerBound":1,"iD":false,"id":277,"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":"id","changeable":true,"lowerBound":1,"iD":false,"id":278,"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":"receipt","changeable":true,"resolveProxies":true,"lowerBound":1,"id":279,"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":"room","changeable":true,"resolveProxies":true,"lowerBound":0,"id":280,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"fromDate","lowerBound":1,"id":281,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"toDate","lowerBound":1,"id":282,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"wishes","lowerBound":1,"id":283,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":284,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"roomTypes","lowerBound":0,"id":285,"many":true,"required":false,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotionCode","lowerBound":1,"id":286,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":287,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"rooms","lowerBound":0,"id":288,"many":true,"required":false,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"receipt","lowerBound":1,"id":289,"many":false,"required":true,"eClass":"EParameter"},{"id":290,"eClass":"EGenericType"},{"id":291,"eClass":"EGenericType"},{"id":292,"eClass":"EGenericType"},{"id":293,"eClass":"EGenericType"},{"id":294,"eClass":"EGenericType"},{"id":295,"eClass":"EGenericType"},{"id":296,"eClass":"EGenericType"},{"id":297,"eClass":"EGenericType"},{"id":298,"eClass":"EGenericType"},{"id":299,"eClass":"EGenericType"},{"id":300,"eClass":"EGenericType"},{"id":301,"eClass":"EGenericType"},{"id":302,"eClass":"EGenericType"},{"id":303,"eClass":"EGenericType"},{"id":304,"eClass":"EGenericType"},{"id":305,"eClass":"EGenericType"},{"id":306,"eClass":"EGenericType"},{"id":307,"eClass":"EGenericType"},{"id":308,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"login","lowerBound":1,"id":309,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createRoom","lowerBound":1,"id":310,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeRoom","lowerBound":1,"id":311,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updateRoom","lowerBound":1,"id":312,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createUser","lowerBound":1,"id":313,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeUser","lowerBound":1,"id":314,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updateUser","lowerBound":1,"id":315,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createPromotion","lowerBound":1,"id":316,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removePromotion","lowerBound":1,"id":317,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updatePromotion","lowerBound":1,"id":318,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createExpense","lowerBound":1,"id":319,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeExpense","lowerBound":1,"id":320,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updateExpense","lowerBound":1,"id":321,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"viewRooms","lowerBound":0,"id":322,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"viewPromotions","lowerBound":0,"id":323,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"viewUsers","lowerBound":0,"id":324,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"viewExpenses","lowerBound":0,"id":325,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"AdminController","lowerBound":1,"id":326,"many":false,"required":true,"eClass":"EOperation"},{"id":327,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":328,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"password","lowerBound":1,"id":329,"many":false,"required":true,"eClass":"EParameter"},{"id":330,"eClass":"EGenericType"},{"id":331,"eClass":"EGenericType"},{"id":332,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":333,"many":false,"required":true,"eClass":"EParameter"},{"id":334,"eClass":"EGenericType"},{"id":335,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":336,"many":false,"required":true,"eClass":"EParameter"},{"id":337,"eClass":"EGenericType"},{"id":338,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":339,"many":false,"required":true,"eClass":"EParameter"},{"id":340,"eClass":"EGenericType"},{"id":341,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"user","lowerBound":1,"id":342,"many":false,"required":true,"eClass":"EParameter"},{"id":343,"eClass":"EGenericType"},{"id":344,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"user","lowerBound":1,"id":345,"many":false,"required":true,"eClass":"EParameter"},{"id":346,"eClass":"EGenericType"},{"id":347,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"user","lowerBound":1,"id":348,"many":false,"required":true,"eClass":"EParameter"},{"id":349,"eClass":"EGenericType"},{"id":350,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotion","lowerBound":1,"id":351,"many":false,"required":true,"eClass":"EParameter"},{"id":352,"eClass":"EGenericType"},{"id":353,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotion","lowerBound":1,"id":354,"many":false,"required":true,"eClass":"EParameter"},{"id":355,"eClass":"EGenericType"},{"id":356,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotion","lowerBound":1,"id":357,"many":false,"required":true,"eClass":"EParameter"},{"id":358,"eClass":"EGenericType"},{"id":359,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"expense","lowerBound":1,"id":360,"many":false,"required":true,"eClass":"EParameter"},{"id":361,"eClass":"EGenericType"},{"id":362,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"expense","lowerBound":1,"id":363,"many":false,"required":true,"eClass":"EParameter"},{"id":364,"eClass":"EGenericType"},{"id":365,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"expense","lowerBound":1,"id":366,"many":false,"required":true,"eClass":"EParameter"},{"id":367,"eClass":"EGenericType"},{"id":368,"eClass":"EGenericType"},{"id":369,"eClass":"EGenericType"},{"id":370,"eClass":"EGenericType"},{"id":371,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomExpert","lowerBound":1,"id":372,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expenseExpert","lowerBound":1,"id":373,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"userExpert","lowerBound":1,"id":374,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotionExpert","lowerBound":1,"id":375,"many":false,"required":true,"eClass":"EParameter"},{"id":376,"eClass":"EGenericType"},{"id":377,"eClass":"EGenericType"},{"id":378,"eClass":"EGenericType"},{"id":379,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"User","lowerBound":1,"id":380,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"firstName","changeable":true,"lowerBound":1,"iD":false,"id":381,"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":"surname","changeable":true,"lowerBound":1,"iD":false,"id":382,"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":"password","changeable":true,"lowerBound":1,"iD":false,"id":383,"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":"id","changeable":true,"lowerBound":1,"iD":false,"id":384,"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":"receptionist","changeable":true,"lowerBound":1,"iD":false,"id":385,"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":"administrator","changeable":true,"lowerBound":1,"iD":false,"id":386,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":387,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"surname","lowerBound":1,"id":388,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"password","lowerBound":1,"id":389,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"receptionist","lowerBound":1,"id":390,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"administrator","lowerBound":1,"id":391,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":392,"many":false,"required":true,"eClass":"EParameter"},{"id":393,"eClass":"EGenericType"},{"id":394,"eClass":"EGenericType"},{"id":395,"eClass":"EGenericType"},{"id":396,"eClass":"EGenericType"},{"id":397,"eClass":"EGenericType"},{"id":398,"eClass":"EGenericType"},{"id":399,"eClass":"EGenericType"},{"id":400,"eClass":"EGenericType"},{"id":401,"eClass":"EGenericType"},{"id":402,"eClass":"EGenericType"},{"id":403,"eClass":"EGenericType"},{"id":404,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"calculateDiscount","lowerBound":1,"id":405,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"Promotion","lowerBound":1,"id":406,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"code","changeable":true,"lowerBound":1,"iD":false,"id":407,"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":408,"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":"percentage","changeable":true,"lowerBound":1,"iD":false,"id":409,"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":"validFrom","changeable":true,"lowerBound":1,"iD":false,"id":410,"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":"validTo","changeable":true,"lowerBound":1,"iD":false,"id":411,"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":"roomType","changeable":true,"lowerBound":1,"iD":false,"id":412,"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":"expirationDate","changeable":true,"lowerBound":1,"iD":false,"id":413,"derived":false},{"id":414,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":415,"many":false,"required":true,"eClass":"EParameter"},{"id":416,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"code","lowerBound":1,"id":417,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"description","lowerBound":1,"id":418,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"percentage","lowerBound":1,"id":419,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"vaildFrom","lowerBound":1,"id":420,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"vaildTo","lowerBound":1,"id":421,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":422,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expirationDate","lowerBound":1,"id":423,"many":false,"required":true,"eClass":"EParameter"},{"id":424,"eClass":"EGenericType"},{"id":425,"eClass":"EGenericType"},{"id":426,"eClass":"EGenericType"},{"id":427,"eClass":"EGenericType"},{"id":428,"eClass":"EGenericType"},{"id":429,"eClass":"EGenericType"},{"id":430,"eClass":"EGenericType"},{"id":431,"eClass":"EGenericType"},{"id":432,"eClass":"EGenericType"},{"id":433,"eClass":"EGenericType"},{"id":434,"eClass":"EGenericType"},{"id":435,"eClass":"EGenericType"},{"id":436,"eClass":"EGenericType"},{"id":437,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllRooms","lowerBound":0,"id":438,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAvailableRoomTypes","lowerBound":0,"id":439,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getUnoccupiedRooms","lowerBound":0,"id":440,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addRoom","lowerBound":1,"id":441,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeRoom","lowerBound":1,"id":442,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updateRoom","lowerBound":1,"id":443,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoom","lowerBound":1,"id":444,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"RoomExpert","lowerBound":1,"id":445,"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":"database","changeable":true,"resolveProxies":true,"lowerBound":1,"id":446,"derived":false},{"id":447,"eClass":"EGenericType"},{"id":448,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":449,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":450,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfRooms","lowerBound":1,"id":451,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfGuests","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"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":459,"many":false,"required":true,"eClass":"EParameter"},{"id":460,"eClass":"EGenericType"},{"id":461,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":462,"many":false,"required":true,"eClass":"EParameter"},{"id":463,"eClass":"EGenericType"},{"id":464,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":465,"many":false,"required":true,"eClass":"EParameter"},{"id":466,"eClass":"EGenericType"},{"id":467,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":468,"many":false,"required":true,"eClass":"EParameter"},{"id":469,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"database","lowerBound":1,"id":470,"many":false,"required":true,"eClass":"EParameter"},{"id":471,"eClass":"EGenericType"},{"id":472,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"query","lowerBound":0,"id":473,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"send","lowerBound":1,"id":474,"many":false,"required":true,"eClass":"EOperation"},{"id":475,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"query","lowerBound":1,"id":476,"many":false,"required":true,"eClass":"EParameter"},{"id":477,"eClass":"EGenericType"},{"id":478,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"query","lowerBound":1,"id":479,"many":false,"required":true,"eClass":"EParameter"},{"id":480,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getExpense","lowerBound":1,"id":481,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllExpense","lowerBound":0,"id":482,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllExpense","lowerBound":0,"id":483,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addExpense","lowerBound":1,"id":484,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeExpense","lowerBound":1,"id":485,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updateExpense","lowerBound":1,"id":486,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"ExpenseExpert","lowerBound":1,"id":487,"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":"database","changeable":true,"resolveProxies":true,"lowerBound":1,"id":488,"derived":false},{"id":489,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ID","lowerBound":1,"id":490,"many":false,"required":true,"eClass":"EParameter"},{"id":491,"eClass":"EGenericType"},{"id":492,"eClass":"EGenericType"},{"id":493,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"receiptID","lowerBound":1,"id":494,"many":false,"required":true,"eClass":"EParameter"},{"id":495,"eClass":"EGenericType"},{"id":496,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"expense","lowerBound":1,"id":497,"many":false,"required":true,"eClass":"EParameter"},{"id":498,"eClass":"EGenericType"},{"id":499,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ID","lowerBound":1,"id":500,"many":false,"required":true,"eClass":"EParameter"},{"id":501,"eClass":"EGenericType"},{"id":502,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"expense","lowerBound":1,"id":503,"many":false,"required":true,"eClass":"EParameter"},{"id":504,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"database","lowerBound":1,"id":505,"many":false,"required":true,"eClass":"EParameter"},{"id":506,"eClass":"EGenericType"},{"id":507,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getUser","lowerBound":1,"id":508,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllUsers","lowerBound":0,"id":509,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addUser","lowerBound":1,"id":510,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeUser","lowerBound":1,"id":511,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updateUser","lowerBound":1,"id":512,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"login","lowerBound":1,"id":513,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"UserExpert","lowerBound":1,"id":514,"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":"database","changeable":true,"resolveProxies":true,"lowerBound":1,"id":515,"derived":false},{"id":516,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ID","lowerBound":1,"id":517,"many":false,"required":true,"eClass":"EParameter"},{"id":518,"eClass":"EGenericType"},{"id":519,"eClass":"EGenericType"},{"id":520,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"user","lowerBound":1,"id":521,"many":false,"required":true,"eClass":"EParameter"},{"id":522,"eClass":"EGenericType"},{"id":523,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ID","lowerBound":1,"id":524,"many":false,"required":true,"eClass":"EParameter"},{"id":525,"eClass":"EGenericType"},{"id":526,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"user","lowerBound":1,"id":527,"many":false,"required":true,"eClass":"EParameter"},{"id":528,"eClass":"EGenericType"},{"id":529,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":530,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"password","lowerBound":1,"id":531,"many":false,"required":true,"eClass":"EParameter"},{"id":532,"eClass":"EGenericType"},{"id":533,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"database","lowerBound":1,"id":534,"many":false,"required":true,"eClass":"EParameter"},{"id":535,"eClass":"EGenericType"},{"id":536,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getPromotion","lowerBound":1,"id":537,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllPromotions","lowerBound":0,"id":538,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removePromotion","lowerBound":1,"id":539,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updatePromotion","lowerBound":1,"id":540,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"PromotionExpert","lowerBound":1,"id":541,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addPromotion","lowerBound":1,"id":542,"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":"database","changeable":true,"resolveProxies":true,"lowerBound":1,"id":543,"derived":false},{"id":544,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotionCode","lowerBound":1,"id":545,"many":false,"required":true,"eClass":"EParameter"},{"id":546,"eClass":"EGenericType"},{"id":547,"eClass":"EGenericType"},{"id":548,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"code","lowerBound":1,"id":549,"many":false,"required":true,"eClass":"EParameter"},{"id":550,"eClass":"EGenericType"},{"id":551,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotion","lowerBound":1,"id":552,"many":false,"required":true,"eClass":"EParameter"},{"id":553,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"database","lowerBound":1,"id":554,"many":false,"required":true,"eClass":"EParameter"},{"id":555,"eClass":"EGenericType"},{"id":556,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotion","lowerBound":1,"id":557,"many":false,"required":true,"eClass":"EParameter"},{"id":558,"eClass":"EGenericType"},{"id":559,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBooking","lowerBound":1,"id":560,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllBookings","lowerBound":0,"id":561,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addBooking","lowerBound":1,"id":562,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeBooking","lowerBound":1,"id":563,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updateBooking","lowerBound":1,"id":564,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllBookings","lowerBound":0,"id":565,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"BookingExpert","lowerBound":1,"id":566,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkIn","lowerBound":1,"id":567,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkOut","lowerBound":1,"id":568,"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":"database","changeable":true,"resolveProxies":true,"lowerBound":1,"id":569,"derived":false},{"id":570,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ID","lowerBound":1,"id":571,"many":false,"required":true,"eClass":"EParameter"},{"id":572,"eClass":"EGenericType"},{"id":573,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"dateFrom","lowerBound":1,"id":574,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"dateTo","lowerBound":1,"id":575,"many":false,"required":true,"eClass":"EParameter"},{"id":576,"eClass":"EGenericType"},{"id":577,"eClass":"EGenericType"},{"id":578,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":579,"many":false,"required":true,"eClass":"EParameter"},{"id":580,"eClass":"EGenericType"},{"id":581,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":582,"many":false,"required":true,"eClass":"EParameter"},{"id":583,"eClass":"EGenericType"},{"id":584,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":585,"many":false,"required":true,"eClass":"EParameter"},{"id":586,"eClass":"EGenericType"},{"id":587,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"dateFrom","lowerBound":1,"id":588,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"dateTo","lowerBound":1,"id":589,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"surname","lowerBound":1,"id":590,"many":false,"required":true,"eClass":"EParameter"},{"id":591,"eClass":"EGenericType"},{"id":592,"eClass":"EGenericType"},{"id":593,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"database","lowerBound":1,"id":594,"many":false,"required":true,"eClass":"EParameter"},{"id":595,"eClass":"EGenericType"},{"id":596,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":597,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"rooms","lowerBound":0,"id":598,"many":true,"required":false,"eClass":"EParameter"},{"id":599,"eClass":"EGenericType"},{"id":600,"eClass":"EGenericType"},{"id":601,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":602,"many":false,"required":true,"eClass":"EParameter"},{"id":603,"eClass":"EGenericType"},{"id":604,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getReceipt","lowerBound":1,"id":605,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllReceipt","lowerBound":0,"id":606,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"combine","lowerBound":1,"id":607,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addReceipt","lowerBound":1,"id":608,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeReceipt","lowerBound":1,"id":609,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"updateReceipt","lowerBound":1,"id":610,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"ReceiptExpert","lowerBound":1,"id":611,"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":"database","changeable":true,"resolveProxies":true,"lowerBound":1,"id":612,"derived":false},{"id":613,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ID","lowerBound":1,"id":614,"many":false,"required":true,"eClass":"EParameter"},{"id":615,"eClass":"EGenericType"},{"id":616,"eClass":"EGenericType"},{"id":617,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"receiptList","lowerBound":0,"id":618,"many":true,"required":false,"eClass":"EParameter"},{"id":619,"eClass":"EGenericType"},{"id":620,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"receipt","lowerBound":1,"id":621,"many":false,"required":true,"eClass":"EParameter"},{"id":622,"eClass":"EGenericType"},{"id":623,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"receipt","lowerBound":1,"id":624,"many":false,"required":true,"eClass":"EParameter"},{"id":625,"eClass":"EGenericType"},{"id":626,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"receipt","lowerBound":1,"id":627,"many":false,"required":true,"eClass":"EParameter"},{"id":628,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"database","lowerBound":1,"id":629,"many":false,"required":true,"eClass":"EParameter"},{"id":630,"eClass":"EGenericType"},{"id":631,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"send","lowerBound":1,"id":632,"many":false,"required":true,"eClass":"EOperation"},{"id":633,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":634,"many":false,"required":true,"eClass":"EParameter"},{"id":635,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"makePayment","lowerBound":1,"id":636,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"isCreditCardValid","lowerBound":1,"id":637,"many":false,"required":true,"eClass":"EOperation"},{"id":638,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":639,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"amount","lowerBound":1,"id":640,"many":false,"required":true,"eClass":"EParameter"},{"id":641,"eClass":"EGenericType"},{"id":642,"eClass":"EGenericType"},{"id":643,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":644,"many":false,"required":true,"eClass":"EParameter"},{"id":645,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"BookingController","lowerBound":1,"id":646,"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":"room","changeable":true,"resolveProxies":true,"lowerBound":1,"id":647,"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":"bookingExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":648,"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":"promotionExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":649,"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":"databaseInterface","changeable":true,"resolveProxies":true,"lowerBound":1,"id":650,"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":"expenseExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":651,"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":"receiptExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":652,"derived":false},{"id":653,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomExpert","lowerBound":1,"id":654,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingExpert","lowerBound":1,"id":655,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotionExpert","lowerBound":1,"id":656,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expenseExpert","lowerBound":1,"id":657,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"receiptExpert","lowerBound":1,"id":658,"many":false,"required":true,"eClass":"EParameter"},{"id":659,"eClass":"EGenericType"},{"id":660,"eClass":"EGenericType"},{"id":661,"eClass":"EGenericType"},{"id":662,"eClass":"EGenericType"},{"id":663,"eClass":"EGenericType"},{"id":664,"eClass":"EGenericType"},{"id":665,"eClass":"EGenericType"},{"id":666,"eClass":"EGenericType"},{"id":667,"eClass":"EGenericType"},{"id":668,"eClass":"EGenericType"},{"id":669,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"AdminController","lowerBound":1,"id":670,"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":"userExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":671,"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":"expenseExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":672,"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":"promoExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":673,"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":"databaseInterface","changeable":true,"resolveProxies":true,"lowerBound":1,"id":674,"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":"roomExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":675,"derived":false},{"id":676,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"expenseExpert","lowerBound":1,"id":677,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotionExpert","lowerBound":1,"id":678,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"userExpert","lowerBound":1,"id":679,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomExpert","lowerBound":1,"id":680,"many":false,"required":true,"eClass":"EParameter"},{"id":681,"eClass":"EGenericType"},{"id":682,"eClass":"EGenericType"},{"id":683,"eClass":"EGenericType"},{"id":684,"eClass":"EGenericType"},{"id":685,"eClass":"EGenericType"},{"id":686,"eClass":"EGenericType"},{"id":687,"eClass":"EGenericType"},{"id":688,"eClass":"EGenericType"},{"id":689,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ReceptionistController","lowerBound":1,"id":690,"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":"userExpert","changeable":true,"resolveProxies":true,"lowerBound":1,"id":691,"derived":false},{"id":692,"eClass":"EGenericType"},{"id":693,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"receiptExpert","lowerBound":1,"id":694,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expenseExpert","lowerBound":1,"id":695,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomExpert","lowerBound":1,"id":696,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingExpert","lowerBound":1,"id":697,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"promotionExpert","lowerBound":1,"id":698,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"userExpert","lowerBound":1,"id":699,"many":false,"required":true,"eClass":"EParameter"},{"id":700,"eClass":"EGenericType"},{"id":701,"eClass":"EGenericType"},{"id":702,"eClass":"EGenericType"},{"id":703,"eClass":"EGenericType"},{"id":704,"eClass":"EGenericType"},{"id":705,"eClass":"EGenericType"},{"id":706,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"openConnection","lowerBound":1,"id":707,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"closeConnection","lowerBound":1,"id":708,"many":false,"required":true,"eClass":"EOperation"},{"id":709,"eClass":"EGenericType"},{"id":710,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":0,"target":2},{"source":0,"target":3},{"source":0,"target":4},{"source":0,"target":5},{"source":0,"target":6},{"source":0,"target":7},{"source":0,"target":8},{"source":0,"target":9},{"source":0,"target":10},{"source":0,"target":11},{"source":0,"target":12},{"source":0,"target":13},{"source":0,"target":14},{"source":0,"target":15},{"source":0,"target":16},{"source":0,"target":17},{"source":0,"target":18},{"source":0,"target":19},{"source":0,"target":20},{"source":0,"target":21},{"source":0,"target":22},{"source":0,"target":23},{"source":0,"target":24},{"source":0,"target":25},{"source":0,"target":26},{"source":0,"target":27},{"source":0,"target":28},{"source":0,"target":29},{"source":0,"target":30},{"source":1,"target":0},{"source":2,"target":0},{"source":3,"target":0},{"source":4,"target":0},{"source":5,"target":0},{"source":6,"target":0},{"source":7,"target":0},{"source":7,"target":31},{"source":7,"target":32},{"source":7,"target":33},{"source":7,"target":34},{"source":7,"target":35},{"source":31,"target":8},{"source":31,"target":36},{"source":31,"target":7},{"source":31,"target":37},{"source":31,"target":38},{"source":31,"target":39},{"source":31,"target":40},{"source":36,"target":8},{"source":37,"target":41},{"source":37,"target":31},{"source":38,"target":42},{"source":38,"target":31},{"source":39,"target":43},{"source":39,"target":31},{"source":40,"target":44},{"source":40,"target":31},{"source":32,"target":12},{"source":32,"target":45},{"source":32,"target":7},{"source":32,"target":46},{"source":32,"target":47},{"source":32,"target":48},{"source":32,"target":49},{"source":32,"target":50},{"source":32,"target":51},{"source":32,"target":52},{"source":32,"target":53},{"source":45,"target":12},{"source":46,"target":54},{"source":46,"target":32},{"source":47,"target":55},{"source":47,"target":32},{"source":48,"target":56},{"source":48,"target":32},{"source":49,"target":57},{"source":49,"target":32},{"source":50,"target":58},{"source":50,"target":32},{"source":51,"target":59},{"source":51,"target":32},{"source":52,"target":60},{"source":52,"target":32},{"source":53,"target":61},{"source":53,"target":32},{"source":33,"target":62},{"source":33,"target":7},{"source":33,"target":63},{"source":33,"target":64},{"source":63,"target":12},{"source":63,"target":65},{"source":63,"target":33},{"source":65,"target":12},{"source":64,"target":10},{"source":64,"target":66},{"source":64,"target":33},{"source":66,"target":10},{"source":34,"target":67},{"source":34,"target":7},{"source":34,"target":68},{"source":68,"target":12},{"source":68,"target":69},{"source":68,"target":34},{"source":69,"target":12},{"source":35,"target":70},{"source":35,"target":7},{"source":35,"target":71},{"source":35,"target":72},{"source":35,"target":73},{"source":35,"target":74},{"source":35,"target":75},{"source":35,"target":76},{"source":35,"target":77},{"source":71,"target":78},{"source":71,"target":35},{"source":72,"target":79},{"source":72,"target":35},{"source":73,"target":80},{"source":73,"target":35},{"source":74,"target":12},{"source":74,"target":81},{"source":74,"target":35},{"source":81,"target":12},{"source":75,"target":82},{"source":75,"target":35},{"source":76,"target":10},{"source":76,"target":83},{"source":76,"target":35},{"source":83,"target":10},{"source":77,"target":84},{"source":77,"target":35},{"source":8,"target":0},{"source":8,"target":85},{"source":8,"target":86},{"source":8,"target":87},{"source":8,"target":88},{"source":8,"target":89},{"source":8,"target":90},{"source":8,"target":91},{"source":8,"target":92},{"source":8,"target":93},{"source":8,"target":94},{"source":85,"target":8},{"source":85,"target":95},{"source":85,"target":96},{"source":85,"target":97},{"source":85,"target":98},{"source":85,"target":99},{"source":85,"target":100},{"source":85,"target":101},{"source":95,"target":102},{"source":95,"target":85},{"source":96,"target":103},{"source":96,"target":85},{"source":97,"target":104},{"source":97,"target":85},{"source":98,"target":9},{"source":98,"target":105},{"source":98,"target":85},{"source":105,"target":9},{"source":99,"target":106},{"source":99,"target":85},{"source":100,"target":107},{"source":100,"target":85},{"source":101,"target":10},{"source":101,"target":108},{"source":101,"target":85},{"source":108,"target":10},{"source":86,"target":9},{"source":86,"target":109},{"source":86,"target":8},{"source":109,"target":9},{"source":87,"target":110},{"source":87,"target":8},{"source":88,"target":111},{"source":88,"target":8},{"source":89,"target":112},{"source":89,"target":8},{"source":90,"target":113},{"source":90,"target":8},{"source":91,"target":114},{"source":91,"target":8},{"source":92,"target":10},{"source":92,"target":115},{"source":92,"target":8},{"source":115,"target":10},{"source":93,"target":11},{"source":93,"target":116},{"source":93,"target":8},{"source":116,"target":11},{"source":94,"target":117},{"source":94,"target":8},{"source":9,"target":0},{"source":9,"target":118},{"source":9,"target":119},{"source":9,"target":120},{"source":9,"target":121},{"source":9,"target":122},{"source":9,"target":123},{"source":9,"target":124},{"source":9,"target":125},{"source":118,"target":9},{"source":118,"target":126},{"source":118,"target":127},{"source":118,"target":128},{"source":118,"target":129},{"source":118,"target":130},{"source":118,"target":131},{"source":118,"target":132},{"source":126,"target":133},{"source":126,"target":118},{"source":127,"target":134},{"source":127,"target":118},{"source":128,"target":135},{"source":128,"target":118},{"source":129,"target":136},{"source":129,"target":118},{"source":130,"target":137},{"source":130,"target":118},{"source":131,"target":138},{"source":131,"target":118},{"source":132,"target":139},{"source":132,"target":118},{"source":119,"target":140},{"source":119,"target":9},{"source":120,"target":141},{"source":120,"target":9},{"source":121,"target":142},{"source":121,"target":9},{"source":122,"target":143},{"source":122,"target":9},{"source":123,"target":144},{"source":123,"target":9},{"source":124,"target":145},{"source":124,"target":9},{"source":125,"target":146},{"source":125,"target":9},{"source":10,"target":0},{"source":10,"target":147},{"source":10,"target":148},{"source":10,"target":149},{"source":10,"target":150},{"source":10,"target":151},{"source":10,"target":152},{"source":10,"target":153},{"source":10,"target":154},{"source":147,"target":155},{"source":147,"target":10},{"source":147,"target":156},{"source":156,"target":9},{"source":156,"target":157},{"source":156,"target":147},{"source":157,"target":9},{"source":148,"target":158},{"source":148,"target":10},{"source":148,"target":159},{"source":159,"target":9},{"source":159,"target":160},{"source":159,"target":148},{"source":160,"target":9},{"source":149,"target":9},{"source":149,"target":161},{"source":149,"target":10},{"source":161,"target":9},{"source":150,"target":10},{"source":150,"target":162},{"source":150,"target":163},{"source":150,"target":164},{"source":162,"target":165},{"source":162,"target":150},{"source":163,"target":166},{"source":163,"target":150},{"source":164,"target":9},{"source":164,"target":167},{"source":164,"target":150},{"source":167,"target":9},{"source":151,"target":9},{"source":151,"target":168},{"source":151,"target":10},{"source":168,"target":9},{"source":152,"target":169},{"source":152,"target":10},{"source":153,"target":170},{"source":153,"target":10},{"source":154,"target":171},{"source":154,"target":10},{"source":11,"target":0},{"source":11,"target":172},{"source":11,"target":173},{"source":11,"target":174},{"source":11,"target":175},{"source":172,"target":11},{"source":172,"target":176},{"source":172,"target":177},{"source":172,"target":178},{"source":176,"target":179},{"source":176,"target":172},{"source":177,"target":180},{"source":177,"target":172},{"source":178,"target":181},{"source":178,"target":172},{"source":173,"target":182},{"source":173,"target":11},{"source":174,"target":183},{"source":174,"target":11},{"source":175,"target":184},{"source":175,"target":11},{"source":12,"target":0},{"source":12,"target":185},{"source":12,"target":186},{"source":12,"target":187},{"source":12,"target":188},{"source":12,"target":189},{"source":12,"target":190},{"source":12,"target":191},{"source":12,"target":192},{"source":12,"target":193},{"source":185,"target":12},{"source":185,"target":194},{"source":185,"target":195},{"source":185,"target":196},{"source":185,"target":197},{"source":185,"target":198},{"source":185,"target":199},{"source":185,"target":200},{"source":185,"target":201},{"source":194,"target":202},{"source":194,"target":185},{"source":195,"target":203},{"source":195,"target":185},{"source":196,"target":204},{"source":196,"target":185},{"source":197,"target":205},{"source":197,"target":185},{"source":198,"target":206},{"source":198,"target":185},{"source":199,"target":207},{"source":199,"target":185},{"source":200,"target":208},{"source":200,"target":185},{"source":201,"target":209},{"source":201,"target":185},{"source":186,"target":210},{"source":186,"target":12},{"source":187,"target":211},{"source":187,"target":12},{"source":188,"target":212},{"source":188,"target":12},{"source":189,"target":213},{"source":189,"target":12},{"source":190,"target":214},{"source":190,"target":12},{"source":191,"target":215},{"source":191,"target":12},{"source":192,"target":216},{"source":192,"target":12},{"source":193,"target":217},{"source":193,"target":12},{"source":13,"target":0},{"source":13,"target":218},{"source":13,"target":219},{"source":13,"target":220},{"source":13,"target":221},{"source":13,"target":222},{"source":13,"target":223},{"source":13,"target":224},{"source":13,"target":225},{"source":13,"target":226},{"source":13,"target":227},{"source":218,"target":11},{"source":218,"target":228},{"source":218,"target":13},{"source":218,"target":229},{"source":218,"target":230},{"source":218,"target":231},{"source":228,"target":11},{"source":229,"target":232},{"source":229,"target":218},{"source":230,"target":233},{"source":230,"target":218},{"source":231,"target":234},{"source":231,"target":218},{"source":219,"target":14},{"source":219,"target":235},{"source":219,"target":13},{"source":219,"target":236},{"source":219,"target":237},{"source":235,"target":14},{"source":236,"target":238},{"source":236,"target":219},{"source":237,"target":239},{"source":237,"target":219},{"source":220,"target":14},{"source":220,"target":240},{"source":220,"target":13},{"source":220,"target":241},{"source":240,"target":14},{"source":241,"target":242},{"source":241,"target":220},{"source":221,"target":8},{"source":221,"target":243},{"source":221,"target":13},{"source":243,"target":8},{"source":222,"target":14},{"source":222,"target":244},{"source":222,"target":13},{"source":222,"target":245},{"source":222,"target":246},{"source":222,"target":247},{"source":244,"target":14},{"source":245,"target":248},{"source":245,"target":222},{"source":246,"target":249},{"source":246,"target":222},{"source":247,"target":250},{"source":247,"target":222},{"source":223,"target":8},{"source":223,"target":251},{"source":223,"target":13},{"source":223,"target":252},{"source":251,"target":8},{"source":252,"target":253},{"source":252,"target":223},{"source":224,"target":254},{"source":224,"target":13},{"source":224,"target":255},{"source":224,"target":256},{"source":255,"target":14},{"source":255,"target":257},{"source":255,"target":224},{"source":257,"target":14},{"source":256,"target":8},{"source":256,"target":258},{"source":256,"target":224},{"source":258,"target":8},{"source":225,"target":259},{"source":225,"target":13},{"source":225,"target":260},{"source":260,"target":14},{"source":260,"target":261},{"source":260,"target":225},{"source":261,"target":14},{"source":226,"target":262},{"source":226,"target":13},{"source":226,"target":263},{"source":226,"target":264},{"source":263,"target":265},{"source":263,"target":226},{"source":264,"target":266},{"source":264,"target":226},{"source":227,"target":267},{"source":227,"target":13},{"source":227,"target":268},{"source":268,"target":14},{"source":268,"target":269},{"source":268,"target":227},{"source":269,"target":14},{"source":14,"target":0},{"source":14,"target":270},{"source":14,"target":271},{"source":14,"target":272},{"source":14,"target":273},{"source":14,"target":274},{"source":14,"target":275},{"source":14,"target":276},{"source":14,"target":277},{"source":14,"target":278},{"source":14,"target":279},{"source":14,"target":280},{"source":270,"target":14},{"source":270,"target":281},{"source":270,"target":282},{"source":270,"target":283},{"source":270,"target":284},{"source":270,"target":285},{"source":270,"target":286},{"source":270,"target":287},{"source":270,"target":288},{"source":270,"target":289},{"source":281,"target":290},{"source":281,"target":270},{"source":282,"target":291},{"source":282,"target":270},{"source":283,"target":292},{"source":283,"target":270},{"source":284,"target":12},{"source":284,"target":293},{"source":284,"target":270},{"source":293,"target":12},{"source":285,"target":294},{"source":285,"target":270},{"source":286,"target":295},{"source":286,"target":270},{"source":287,"target":296},{"source":287,"target":270},{"source":288,"target":8},{"source":288,"target":297},{"source":288,"target":270},{"source":297,"target":8},{"source":289,"target":10},{"source":289,"target":298},{"source":289,"target":270},{"source":298,"target":10},{"source":271,"target":12},{"source":271,"target":299},{"source":271,"target":14},{"source":299,"target":12},{"source":272,"target":300},{"source":272,"target":14},{"source":273,"target":301},{"source":273,"target":14},{"source":274,"target":302},{"source":274,"target":14},{"source":275,"target":303},{"source":275,"target":14},{"source":276,"target":304},{"source":276,"target":14},{"source":277,"target":305},{"source":277,"target":14},{"source":278,"target":306},{"source":278,"target":14},{"source":279,"target":10},{"source":279,"target":307},{"source":279,"target":14},{"source":307,"target":10},{"source":280,"target":8},{"source":280,"target":308},{"source":280,"target":14},{"source":308,"target":8},{"source":15,"target":0},{"source":15,"target":309},{"source":15,"target":310},{"source":15,"target":311},{"source":15,"target":312},{"source":15,"target":313},{"source":15,"target":314},{"source":15,"target":315},{"source":15,"target":316},{"source":15,"target":317},{"source":15,"target":318},{"source":15,"target":319},{"source":15,"target":320},{"source":15,"target":321},{"source":15,"target":322},{"source":15,"target":323},{"source":15,"target":324},{"source":15,"target":325},{"source":15,"target":326},{"source":309,"target":327},{"source":309,"target":15},{"source":309,"target":328},{"source":309,"target":329},{"source":328,"target":330},{"source":328,"target":309},{"source":329,"target":331},{"source":329,"target":309},{"source":310,"target":8},{"source":310,"target":332},{"source":310,"target":15},{"source":310,"target":333},{"source":332,"target":8},{"source":333,"target":8},{"source":333,"target":334},{"source":333,"target":310},{"source":334,"target":8},{"source":311,"target":335},{"source":311,"target":15},{"source":311,"target":336},{"source":336,"target":8},{"source":336,"target":337},{"source":336,"target":311},{"source":337,"target":8},{"source":312,"target":338},{"source":312,"target":15},{"source":312,"target":339},{"source":339,"target":8},{"source":339,"target":340},{"source":339,"target":312},{"source":340,"target":8},{"source":313,"target":16},{"source":313,"target":341},{"source":313,"target":15},{"source":313,"target":342},{"source":341,"target":16},{"source":342,"target":16},{"source":342,"target":343},{"source":342,"target":313},{"source":343,"target":16},{"source":314,"target":344},{"source":314,"target":15},{"source":314,"target":345},{"source":345,"target":16},{"source":345,"target":346},{"source":345,"target":314},{"source":346,"target":16},{"source":315,"target":347},{"source":315,"target":15},{"source":315,"target":348},{"source":348,"target":16},{"source":348,"target":349},{"source":348,"target":315},{"source":349,"target":16},{"source":316,"target":17},{"source":316,"target":350},{"source":316,"target":15},{"source":316,"target":351},{"source":350,"target":17},{"source":351,"target":17},{"source":351,"target":352},{"source":351,"target":316},{"source":352,"target":17},{"source":317,"target":353},{"source":317,"target":15},{"source":317,"target":354},{"source":354,"target":17},{"source":354,"target":355},{"source":354,"target":317},{"source":355,"target":17},{"source":318,"target":356},{"source":318,"target":15},{"source":318,"target":357},{"source":357,"target":17},{"source":357,"target":358},{"source":357,"target":318},{"source":358,"target":17},{"source":319,"target":9},{"source":319,"target":359},{"source":319,"target":15},{"source":319,"target":360},{"source":359,"target":9},{"source":360,"target":9},{"source":360,"target":361},{"source":360,"target":319},{"source":361,"target":9},{"source":320,"target":362},{"source":320,"target":15},{"source":320,"target":363},{"source":363,"target":9},{"source":363,"target":364},{"source":363,"target":320},{"source":364,"target":9},{"source":321,"target":365},{"source":321,"target":15},{"source":321,"target":366},{"source":366,"target":9},{"source":366,"target":367},{"source":366,"target":321},{"source":367,"target":9},{"source":322,"target":8},{"source":322,"target":368},{"source":322,"target":15},{"source":368,"target":8},{"source":323,"target":17},{"source":323,"target":369},{"source":323,"target":15},{"source":369,"target":17},{"source":324,"target":16},{"source":324,"target":370},{"source":324,"target":15},{"source":370,"target":16},{"source":325,"target":9},{"source":325,"target":371},{"source":325,"target":15},{"source":371,"target":9},{"source":326,"target":15},{"source":326,"target":372},{"source":326,"target":373},{"source":326,"target":374},{"source":326,"target":375},{"source":372,"target":18},{"source":372,"target":376},{"source":372,"target":326},{"source":376,"target":18},{"source":373,"target":20},{"source":373,"target":377},{"source":373,"target":326},{"source":377,"target":20},{"source":374,"target":21},{"source":374,"target":378},{"source":374,"target":326},{"source":378,"target":21},{"source":375,"target":22},{"source":375,"target":379},{"source":375,"target":326},{"source":379,"target":22},{"source":16,"target":0},{"source":16,"target":380},{"source":16,"target":381},{"source":16,"target":382},{"source":16,"target":383},{"source":16,"target":384},{"source":16,"target":385},{"source":16,"target":386},{"source":380,"target":16},{"source":380,"target":387},{"source":380,"target":388},{"source":380,"target":389},{"source":380,"target":390},{"source":380,"target":391},{"source":380,"target":392},{"source":387,"target":393},{"source":387,"target":380},{"source":388,"target":394},{"source":388,"target":380},{"source":389,"target":395},{"source":389,"target":380},{"source":390,"target":396},{"source":390,"target":380},{"source":391,"target":397},{"source":391,"target":380},{"source":392,"target":398},{"source":392,"target":380},{"source":381,"target":399},{"source":381,"target":16},{"source":382,"target":400},{"source":382,"target":16},{"source":383,"target":401},{"source":383,"target":16},{"source":384,"target":402},{"source":384,"target":16},{"source":385,"target":403},{"source":385,"target":16},{"source":386,"target":404},{"source":386,"target":16},{"source":17,"target":0},{"source":17,"target":405},{"source":17,"target":406},{"source":17,"target":407},{"source":17,"target":408},{"source":17,"target":409},{"source":17,"target":410},{"source":17,"target":411},{"source":17,"target":412},{"source":17,"target":413},{"source":405,"target":414},{"source":405,"target":17},{"source":405,"target":415},{"source":415,"target":8},{"source":415,"target":416},{"source":415,"target":405},{"source":416,"target":8},{"source":406,"target":17},{"source":406,"target":417},{"source":406,"target":418},{"source":406,"target":419},{"source":406,"target":420},{"source":406,"target":421},{"source":406,"target":422},{"source":406,"target":423},{"source":417,"target":424},{"source":417,"target":406},{"source":418,"target":425},{"source":418,"target":406},{"source":419,"target":426},{"source":419,"target":406},{"source":420,"target":427},{"source":420,"target":406},{"source":421,"target":428},{"source":421,"target":406},{"source":422,"target":429},{"source":422,"target":406},{"source":423,"target":430},{"source":423,"target":406},{"source":407,"target":431},{"source":407,"target":17},{"source":408,"target":432},{"source":408,"target":17},{"source":409,"target":433},{"source":409,"target":17},{"source":410,"target":434},{"source":410,"target":17},{"source":411,"target":435},{"source":411,"target":17},{"source":412,"target":436},{"source":412,"target":17},{"source":413,"target":437},{"source":413,"target":17},{"source":18,"target":0},{"source":18,"target":438},{"source":18,"target":439},{"source":18,"target":440},{"source":18,"target":441},{"source":18,"target":442},{"source":18,"target":443},{"source":18,"target":444},{"source":18,"target":445},{"source":18,"target":446},{"source":438,"target":8},{"source":438,"target":447},{"source":438,"target":18},{"source":447,"target":8},{"source":439,"target":8},{"source":439,"target":448},{"source":439,"target":18},{"source":439,"target":449},{"source":439,"target":450},{"source":439,"target":451},{"source":439,"target":452},{"source":448,"target":8},{"source":449,"target":453},{"source":449,"target":439},{"source":450,"target":454},{"source":450,"target":439},{"source":451,"target":455},{"source":451,"target":439},{"source":452,"target":456},{"source":452,"target":439},{"source":440,"target":8},{"source":440,"target":457},{"source":440,"target":18},{"source":457,"target":8},{"source":441,"target":8},{"source":441,"target":458},{"source":441,"target":18},{"source":441,"target":459},{"source":458,"target":8},{"source":459,"target":8},{"source":459,"target":460},{"source":459,"target":441},{"source":460,"target":8},{"source":442,"target":461},{"source":442,"target":18},{"source":442,"target":462},{"source":462,"target":8},{"source":462,"target":463},{"source":462,"target":442},{"source":463,"target":8},{"source":443,"target":464},{"source":443,"target":18},{"source":443,"target":465},{"source":465,"target":8},{"source":465,"target":466},{"source":465,"target":443},{"source":466,"target":8},{"source":444,"target":8},{"source":444,"target":467},{"source":444,"target":18},{"source":444,"target":468},{"source":467,"target":8},{"source":468,"target":469},{"source":468,"target":444},{"source":445,"target":18},{"source":445,"target":470},{"source":470,"target":19},{"source":470,"target":471},{"source":470,"target":445},{"source":471,"target":19},{"source":446,"target":19},{"source":446,"target":472},{"source":446,"target":18},{"source":472,"target":19},{"source":19,"target":0},{"source":19,"target":473},{"source":19,"target":474},{"source":473,"target":475},{"source":473,"target":19},{"source":473,"target":476},{"source":476,"target":477},{"source":476,"target":473},{"source":474,"target":478},{"source":474,"target":19},{"source":474,"target":479},{"source":479,"target":480},{"source":479,"target":474},{"source":20,"target":0},{"source":20,"target":481},{"source":20,"target":482},{"source":20,"target":483},{"source":20,"target":484},{"source":20,"target":485},{"source":20,"target":486},{"source":20,"target":487},{"source":20,"target":488},{"source":481,"target":9},{"source":481,"target":489},{"source":481,"target":20},{"source":481,"target":490},{"source":489,"target":9},{"source":490,"target":491},{"source":490,"target":481},{"source":482,"target":9},{"source":482,"target":492},{"source":482,"target":20},{"source":492,"target":9},{"source":483,"target":9},{"source":483,"target":493},{"source":483,"target":20},{"source":483,"target":494},{"source":493,"target":9},{"source":494,"target":495},{"source":494,"target":483},{"source":484,"target":9},{"source":484,"target":496},{"source":484,"target":20},{"source":484,"target":497},{"source":496,"target":9},{"source":497,"target":9},{"source":497,"target":498},{"source":497,"target":484},{"source":498,"target":9},{"source":485,"target":499},{"source":485,"target":20},{"source":485,"target":500},{"source":500,"target":501},{"source":500,"target":485},{"source":486,"target":502},{"source":486,"target":20},{"source":486,"target":503},{"source":503,"target":9},{"source":503,"target":504},{"source":503,"target":486},{"source":504,"target":9},{"source":487,"target":20},{"source":487,"target":505},{"source":505,"target":19},{"source":505,"target":506},{"source":505,"target":487},{"source":506,"target":19},{"source":488,"target":19},{"source":488,"target":507},{"source":488,"target":20},{"source":507,"target":19},{"source":21,"target":0},{"source":21,"target":508},{"source":21,"target":509},{"source":21,"target":510},{"source":21,"target":511},{"source":21,"target":512},{"source":21,"target":513},{"source":21,"target":514},{"source":21,"target":515},{"source":508,"target":16},{"source":508,"target":516},{"source":508,"target":21},{"source":508,"target":517},{"source":516,"target":16},{"source":517,"target":518},{"source":517,"target":508},{"source":509,"target":16},{"source":509,"target":519},{"source":509,"target":21},{"source":519,"target":16},{"source":510,"target":16},{"source":510,"target":520},{"source":510,"target":21},{"source":510,"target":521},{"source":520,"target":16},{"source":521,"target":16},{"source":521,"target":522},{"source":521,"target":510},{"source":522,"target":16},{"source":511,"target":523},{"source":511,"target":21},{"source":511,"target":524},{"source":524,"target":525},{"source":524,"target":511},{"source":512,"target":526},{"source":512,"target":21},{"source":512,"target":527},{"source":527,"target":16},{"source":527,"target":528},{"source":527,"target":512},{"source":528,"target":16},{"source":513,"target":529},{"source":513,"target":21},{"source":513,"target":530},{"source":513,"target":531},{"source":530,"target":532},{"source":530,"target":513},{"source":531,"target":533},{"source":531,"target":513},{"source":514,"target":21},{"source":514,"target":534},{"source":534,"target":19},{"source":534,"target":535},{"source":534,"target":514},{"source":535,"target":19},{"source":515,"target":19},{"source":515,"target":536},{"source":515,"target":21},{"source":536,"target":19},{"source":22,"target":0},{"source":22,"target":537},{"source":22,"target":538},{"source":22,"target":539},{"source":22,"target":540},{"source":22,"target":541},{"source":22,"target":542},{"source":22,"target":543},{"source":537,"target":17},{"source":537,"target":544},{"source":537,"target":22},{"source":537,"target":545},{"source":544,"target":17},{"source":545,"target":546},{"source":545,"target":537},{"source":538,"target":17},{"source":538,"target":547},{"source":538,"target":22},{"source":547,"target":17},{"source":539,"target":548},{"source":539,"target":22},{"source":539,"target":549},{"source":549,"target":550},{"source":549,"target":539},{"source":540,"target":551},{"source":540,"target":22},{"source":540,"target":552},{"source":552,"target":17},{"source":552,"target":553},{"source":552,"target":540},{"source":553,"target":17},{"source":541,"target":22},{"source":541,"target":554},{"source":554,"target":19},{"source":554,"target":555},{"source":554,"target":541},{"source":555,"target":19},{"source":542,"target":17},{"source":542,"target":556},{"source":542,"target":22},{"source":542,"target":557},{"source":556,"target":17},{"source":557,"target":17},{"source":557,"target":558},{"source":557,"target":542},{"source":558,"target":17},{"source":543,"target":19},{"source":543,"target":559},{"source":543,"target":22},{"source":559,"target":19},{"source":23,"target":0},{"source":23,"target":560},{"source":23,"target":561},{"source":23,"target":562},{"source":23,"target":563},{"source":23,"target":564},{"source":23,"target":565},{"source":23,"target":566},{"source":23,"target":567},{"source":23,"target":568},{"source":23,"target":569},{"source":560,"target":14},{"source":560,"target":570},{"source":560,"target":23},{"source":560,"target":571},{"source":570,"target":14},{"source":571,"target":572},{"source":571,"target":560},{"source":561,"target":14},{"source":561,"target":573},{"source":561,"target":23},{"source":561,"target":574},{"source":561,"target":575},{"source":573,"target":14},{"source":574,"target":576},{"source":574,"target":561},{"source":575,"target":577},{"source":575,"target":561},{"source":562,"target":14},{"source":562,"target":578},{"source":562,"target":23},{"source":562,"target":579},{"source":578,"target":14},{"source":579,"target":14},{"source":579,"target":580},{"source":579,"target":562},{"source":580,"target":14},{"source":563,"target":581},{"source":563,"target":23},{"source":563,"target":582},{"source":582,"target":14},{"source":582,"target":583},{"source":582,"target":563},{"source":583,"target":14},{"source":564,"target":584},{"source":564,"target":23},{"source":564,"target":585},{"source":585,"target":14},{"source":585,"target":586},{"source":585,"target":564},{"source":586,"target":14},{"source":565,"target":14},{"source":565,"target":587},{"source":565,"target":23},{"source":565,"target":588},{"source":565,"target":589},{"source":565,"target":590},{"source":587,"target":14},{"source":588,"target":591},{"source":588,"target":565},{"source":589,"target":592},{"source":589,"target":565},{"source":590,"target":593},{"source":590,"target":565},{"source":566,"target":23},{"source":566,"target":594},{"source":594,"target":19},{"source":594,"target":595},{"source":594,"target":566},{"source":595,"target":19},{"source":567,"target":596},{"source":567,"target":23},{"source":567,"target":597},{"source":567,"target":598},{"source":597,"target":14},{"source":597,"target":599},{"source":597,"target":567},{"source":599,"target":14},{"source":598,"target":8},{"source":598,"target":600},{"source":598,"target":567},{"source":600,"target":8},{"source":568,"target":601},{"source":568,"target":23},{"source":568,"target":602},{"source":602,"target":14},{"source":602,"target":603},{"source":602,"target":568},{"source":603,"target":14},{"source":569,"target":19},{"source":569,"target":604},{"source":569,"target":23},{"source":604,"target":19},{"source":24,"target":0},{"source":24,"target":605},{"source":24,"target":606},{"source":24,"target":607},{"source":24,"target":608},{"source":24,"target":609},{"source":24,"target":610},{"source":24,"target":611},{"source":24,"target":612},{"source":605,"target":10},{"source":605,"target":613},{"source":605,"target":24},{"source":605,"target":614},{"source":613,"target":10},{"source":614,"target":615},{"source":614,"target":605},{"source":606,"target":10},{"source":606,"target":616},{"source":606,"target":24},{"source":616,"target":10},{"source":607,"target":10},{"source":607,"target":617},{"source":607,"target":24},{"source":607,"target":618},{"source":617,"target":10},{"source":618,"target":10},{"source":618,"target":619},{"source":618,"target":607},{"source":619,"target":10},{"source":608,"target":10},{"source":608,"target":620},{"source":608,"target":24},{"source":608,"target":621},{"source":620,"target":10},{"source":621,"target":10},{"source":621,"target":622},{"source":621,"target":608},{"source":622,"target":10},{"source":609,"target":623},{"source":609,"target":24},{"source":609,"target":624},{"source":624,"target":10},{"source":624,"target":625},{"source":624,"target":609},{"source":625,"target":10},{"source":610,"target":626},{"source":610,"target":24},{"source":610,"target":627},{"source":627,"target":10},{"source":627,"target":628},{"source":627,"target":610},{"source":628,"target":10},{"source":611,"target":24},{"source":611,"target":629},{"source":629,"target":19},{"source":629,"target":630},{"source":629,"target":611},{"source":630,"target":19},{"source":612,"target":19},{"source":612,"target":631},{"source":612,"target":24},{"source":631,"target":19},{"source":25,"target":0},{"source":25,"target":632},{"source":632,"target":633},{"source":632,"target":25},{"source":632,"target":634},{"source":634,"target":14},{"source":634,"target":635},{"source":634,"target":632},{"source":635,"target":14},{"source":26,"target":0},{"source":26,"target":636},{"source":26,"target":637},{"source":636,"target":638},{"source":636,"target":26},{"source":636,"target":639},{"source":636,"target":640},{"source":639,"target":12},{"source":639,"target":641},{"source":639,"target":636},{"source":641,"target":12},{"source":640,"target":642},{"source":640,"target":636},{"source":637,"target":643},{"source":637,"target":26},{"source":637,"target":644},{"source":644,"target":12},{"source":644,"target":645},{"source":644,"target":637},{"source":645,"target":12},{"source":27,"target":0},{"source":27,"target":7},{"source":27,"target":646},{"source":27,"target":647},{"source":27,"target":648},{"source":27,"target":649},{"source":27,"target":650},{"source":27,"target":651},{"source":27,"target":652},{"source":27,"target":653},{"source":646,"target":27},{"source":646,"target":654},{"source":646,"target":655},{"source":646,"target":656},{"source":646,"target":657},{"source":646,"target":658},{"source":654,"target":18},{"source":654,"target":659},{"source":654,"target":646},{"source":659,"target":18},{"source":655,"target":23},{"source":655,"target":660},{"source":655,"target":646},{"source":660,"target":23},{"source":656,"target":22},{"source":656,"target":661},{"source":656,"target":646},{"source":661,"target":22},{"source":657,"target":20},{"source":657,"target":662},{"source":657,"target":646},{"source":662,"target":20},{"source":658,"target":24},{"source":658,"target":663},{"source":658,"target":646},{"source":663,"target":24},{"source":647,"target":18},{"source":647,"target":664},{"source":647,"target":27},{"source":664,"target":18},{"source":648,"target":23},{"source":648,"target":665},{"source":648,"target":27},{"source":665,"target":23},{"source":649,"target":22},{"source":649,"target":666},{"source":649,"target":27},{"source":666,"target":22},{"source":650,"target":19},{"source":650,"target":667},{"source":650,"target":27},{"source":667,"target":19},{"source":651,"target":20},{"source":651,"target":668},{"source":651,"target":27},{"source":668,"target":20},{"source":652,"target":24},{"source":652,"target":669},{"source":652,"target":27},{"source":669,"target":24},{"source":653,"target":7},{"source":28,"target":0},{"source":28,"target":15},{"source":28,"target":670},{"source":28,"target":671},{"source":28,"target":672},{"source":28,"target":673},{"source":28,"target":674},{"source":28,"target":675},{"source":28,"target":676},{"source":670,"target":28},{"source":670,"target":677},{"source":670,"target":678},{"source":670,"target":679},{"source":670,"target":680},{"source":677,"target":20},{"source":677,"target":681},{"source":677,"target":670},{"source":681,"target":20},{"source":678,"target":22},{"source":678,"target":682},{"source":678,"target":670},{"source":682,"target":22},{"source":679,"target":21},{"source":679,"target":683},{"source":679,"target":670},{"source":683,"target":21},{"source":680,"target":18},{"source":680,"target":684},{"source":680,"target":670},{"source":684,"target":18},{"source":671,"target":21},{"source":671,"target":685},{"source":671,"target":28},{"source":685,"target":21},{"source":672,"target":20},{"source":672,"target":686},{"source":672,"target":28},{"source":686,"target":20},{"source":673,"target":22},{"source":673,"target":687},{"source":673,"target":28},{"source":687,"target":22},{"source":674,"target":19},{"source":674,"target":688},{"source":674,"target":28},{"source":688,"target":19},{"source":675,"target":18},{"source":675,"target":689},{"source":675,"target":28},{"source":689,"target":18},{"source":676,"target":15},{"source":29,"target":0},{"source":29,"target":27},{"source":29,"target":13},{"source":29,"target":690},{"source":29,"target":691},{"source":29,"target":692},{"source":29,"target":693},{"source":690,"target":29},{"source":690,"target":694},{"source":690,"target":695},{"source":690,"target":696},{"source":690,"target":697},{"source":690,"target":698},{"source":690,"target":699},{"source":694,"target":24},{"source":694,"target":700},{"source":694,"target":690},{"source":700,"target":24},{"source":695,"target":20},{"source":695,"target":701},{"source":695,"target":690},{"source":701,"target":20},{"source":696,"target":18},{"source":696,"target":702},{"source":696,"target":690},{"source":702,"target":18},{"source":697,"target":23},{"source":697,"target":703},{"source":697,"target":690},{"source":703,"target":23},{"source":698,"target":22},{"source":698,"target":704},{"source":698,"target":690},{"source":704,"target":22},{"source":699,"target":21},{"source":699,"target":705},{"source":699,"target":690},{"source":705,"target":21},{"source":691,"target":21},{"source":691,"target":706},{"source":691,"target":29},{"source":706,"target":21},{"source":692,"target":27},{"source":693,"target":13},{"source":30,"target":0},{"source":30,"target":19},{"source":30,"target":707},{"source":30,"target":708},{"source":30,"target":709},{"source":707,"target":710},{"source":707,"target":30},{"source":708,"target":30},{"source":709,"target":19}],"multigraph":true}