tda593
hotel
california
DataService
E
ID
get
id
getAll
count
set
object
setAll
objects
delete
object
exist
object
facilities
AdminKeyCardManager
addKeyCard
cardNumber
removeKeyCard
cardNumber
KeyCardManager
getKeyCard
keyCardNbr
KeyCard
id
AdminRoomManager
removeRoom
roomNumber
addRoomType
name
description
roomApprovals
price
removeRoomType
roomType
addGuestRoom
number
floor
description
disabilityApprovals
photos
roomType
numberOfBeds
numberOfExtraBeds
addConferenceRoom
number
floor
description
disabilityApprovals
photos
roomType
numberOfSeats
equipment
RoomManager
getRoomTypes
registerKeyCard
keyCard
roomNumber
registerKeyCard
keyCardNbr
roomNumber
getRooms
unregisterKeyCard
keyCard
roomNumber
unregisterKeyCard
keyCardNbr
roomNumber
unregisterAllKeyCards
roomNumber
getRoomTypeAmounts
getRoomTypeAmount
roomType
getRoom
roomNumber
getRoomType
name
getGuestRooms
getConferenceRooms
setIsBeingCleaned
room
value
RoomType
name
description
roomApprovals
price
RoomApproval
Room
registerKeyCard
keyCard
unregisterKeyCard
keyCard
unregisterKeyCards
floor
roomNumber
isOperational
true
isBeingCleaned
description
photos
allowedKeyCards
roomType
disabilityApprovals
DisabilityApproval
GuestRoom
numberOfBeds
numberOfExtrabeds
ConferenceRoom
numberOfSeats
equipment
RoomManagerImpl
roomDataService
roomTypeDataService
keyCardManager
RoomDataService
getAllGuestRooms
getAllConferenceRooms
getGuestRoom
id
getConferenceRoom
id
RoomTypeDataService
KeyCardManagerImpl
keyCardDataService
KeyCardDataService
AdminRoomManagerImpl
AdminKeyCardManagerImpl
billing
DiscountManager
getDiscount
code
Discount
getPriceWithDiscount
price
code
name
discountLimit
DiscountLimit
id
startDate
endDate
allowedUsers
timesLeftToUse
SumDiscount
discountSum
PercentageDiscount
percentage
DiscountDataService
DiscountManagerImpl
discountDataService
Bill
applyDiscount
discount
addSubBill
subBill
registerPurchase
purchase
publishBill
unregisterPurchase
purchase
removeSubBill
subBill
unPublishBill
getPrice
removeDiscount
discount
id
date
isPublished
isPaid
purchases
usedDiscounts
customer
subBills
Purchase
id
quantity
price
service
Service
id
price
name
BookingBill
booking
BillManager
getBill
id
getBookingBill
booking
billItem
bill
quantity
service
addSubBill
subBill
toBill
applyDiscount
discount
bill
publishBill
bill
markBillAsPaid
bill
isPaid
bankingManager
creditCardManager
createBill
customer
createBookingBill
customer
booking
getBills
customer
getUnpaidBills
customer
BankingManager
makePayment
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
sum
isCreditCardValid
ccNumber
ccv
expiryMonth
expiryYear
firstName
lastName
CreditCardManager
setCreditCardInformation
legalEntity
firstname
lastname
cardNumber
ccv
expirationDate
validator
getCreditCardInformation
legalEntity
getCreditCardInformation
legalEntityId
revalidateCreditCardInformation
legalEntity
bankingManager
CreditCardInformation
cardNumber
expirationDate
ccv
firstName
lastName
legalEntity
BillManagerImpl
billDataService
bookingManager
BillDataService
getBookingBill
booking
getAll
customer
BankingManagerImpl
CreditCardInformationDataService
getByLegalEntity
legalEntityId
CreditCardManagerImpl
creditCardInformationDataService
ServiceManagerImpl
serviceDataService
ServiceManager
getAllServices
getService
id
ServiceDataService
AdminServiceManager
createService
name
price
removeService
service
AdminServiceManagerImpl
AdminDiscountManager
addAllowedUsers
discount
legalEntities
addPercentageDiscount
code
name
percentage
addSumDiscount
code
name
sum
createDiscountLimitForDiscount
discount
from
to
users
usesAmount
setAmountLimit
discount
usesAmount
setDateRangeLimit
discount
validFrom
validTo
AdminDiscountManagerImpl
booking
Organization
name
organizationNumber
Person
firstname
lastname
socialSecurityNumber
Booking
registerTravelInformation
travelInformation
unregisterTravelInformation
travelInformation
getStayRequests
getGuests
id
startDate
endDate
specialRequest
price
roomType
travelInformation
responsible
roomStay
isCanceled
TravelInformation
id
trackingId
comment
predecessor
RoomStay
active
stayRequest
registeredPersons
room
id
StayRequest
text
timeStamp
id
BookingManager
getBookings
from
to
getBookings
from
to
customer
getBookings
customer
getAvailableRooms
from
to
getAvailableRooms
from
to
roomType
getAvailableRoomTypeAmounts
from
to
getAvailableRoomTypeAmount
from
to
roomType
createBooking
from
to
customer
roomType
createBooking
from
to
customer
room
isRoomAvailable
from
to
roomNumber
registerRoom
booking
room
checkIn
booking
guests
isRoomTypeAvailable
from
to
roomType
getActiveBooking
roomNumber
checkOut
booking
getBooking
bookingId
changeBookingDates
booking
newStart
newEnd
addStayRequest
booking
stayRequest
removeStayRequest
booking
stayRequest
getStayRequests
setSpecialRequest
booking
specialRequest
cancelBooking
booking
BookingManagerImpl
bookingDataService
roomManager
BookingDataService
getAll
customer
getAll
from
to
getAll
from
to
legal
beginTransaction
commitTransaction
rollbackTransaction
getAll
from
to
roomNumber
LegalEntityManager
findPerson
firstname
lastname
findOrganization
name
getOrganization
organizationNumber
getPerson
SSN
createPerson
firstname
lastname
SSN
phone
email
createOrganization
name
organizationNumber
phone
email
getLegalEntity
id
LegalEntityManagerImpl
legalEntityDataService
LegalEntityDataService
findPerson
firstname
lastname
findOrganization
name
getOrganization
organizationNumber
getPerson
SSN
LegalEntity
getName
phone
email
id
<?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="tda593" nsURI="http:///tda593.ecore" nsPrefix="tda593">
  <eSubpackages name="hotel" nsURI="http:///tda593/hotel.ecore" nsPrefix="tda593.hotel">
    <eSubpackages name="california" nsURI="http:///tda593/hotel/california.ecore"
        nsPrefix="tda593.hotel.california">
      <eClassifiers xsi:type="ecore:EClass" name="DataService" abstract="true" interface="true">
        <eTypeParameters name="E"/>
        <eTypeParameters name="ID"/>
        <eOperations name="get" ordered="false" lowerBound="1">
          <eGenericType eTypeParameter="#//hotel/california/DataService/E"/>
          <eParameters name="id" ordered="false" lowerBound="1">
            <eGenericType eTypeParameter="#//hotel/california/DataService/ID"/>
          </eParameters>
        </eOperations>
        <eOperations name="getAll" ordered="false" upperBound="-1">
          <eGenericType eTypeParameter="#//hotel/california/DataService/E"/>
        </eOperations>
        <eOperations name="count" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
        <eOperations name="set" ordered="false" lowerBound="1">
          <eParameters name="object" ordered="false" lowerBound="1">
            <eGenericType eTypeParameter="#//hotel/california/DataService/E"/>
          </eParameters>
        </eOperations>
        <eOperations name="setAll" ordered="false" lowerBound="1">
          <eParameters name="objects" ordered="false" lowerBound="1" upperBound="-1">
            <eGenericType eTypeParameter="#//hotel/california/DataService/E"/>
          </eParameters>
        </eOperations>
        <eOperations name="delete" ordered="false" lowerBound="1">
          <eParameters name="object" ordered="false" lowerBound="1">
            <eGenericType eTypeParameter="#//hotel/california/DataService/E"/>
          </eParameters>
        </eOperations>
        <eOperations name="exist" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
          <eParameters name="object" ordered="false" lowerBound="1">
            <eGenericType eTypeParameter="#//hotel/california/DataService/ID"/>
          </eParameters>
        </eOperations>
      </eClassifiers>
      <eSubpackages name="facilities" nsURI="http:///tda593/hotel/california/facilities.ecore"
          nsPrefix="tda593.hotel.california.facilities">
        <eClassifiers xsi:type="ecore:EClass" name="AdminKeyCardManager" abstract="true"
            interface="true" eSuperTypes="#//hotel/california/facilities/KeyCardManager">
          <eOperations name="addKeyCard" ordered="false" lowerBound="1">
            <eParameters name="cardNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="removeKeyCard" ordered="false" lowerBound="1">
            <eParameters name="cardNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="KeyCardManager" abstract="true"
            interface="true">
          <eOperations name="getKeyCard" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/KeyCard">
            <eParameters name="keyCardNbr" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="KeyCard">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="AdminRoomManager" abstract="true"
            interface="true" eSuperTypes="#//hotel/california/facilities/RoomManager">
          <eOperations name="removeRoom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="addRoomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType">
            <eParameters name="name" 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="roomApprovals" ordered="false" upperBound="-1" eType="#//hotel/california/facilities/RoomApproval"/>
            <eParameters name="price" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
          </eOperations>
          <eOperations name="removeRoomType" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <eParameters name="roomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
          </eOperations>
          <eOperations name="addGuestRoom" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/GuestRoom">
            <eParameters name="number" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="floor" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="description" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="disabilityApprovals" ordered="false" upperBound="-1"
                eType="#//hotel/california/facilities/DisabilityApproval"/>
            <eParameters name="photos" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="roomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
            <eParameters name="numberOfBeds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="numberOfExtraBeds" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
          <eOperations name="addConferenceRoom" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/ConferenceRoom">
            <eParameters name="number" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="floor" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="description" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="disabilityApprovals" ordered="false" upperBound="-1"
                eType="#//hotel/california/facilities/DisabilityApproval"/>
            <eParameters name="photos" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="roomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
            <eParameters name="numberOfSeats" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="equipment" ordered="false" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="RoomManager" abstract="true" interface="true">
          <eOperations name="getRoomTypes" ordered="false" upperBound="-1" eType="#//hotel/california/facilities/RoomType"/>
          <eOperations name="registerKeyCard" ordered="false" lowerBound="1">
            <eParameters name="keyCard" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/KeyCard"/>
            <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="registerKeyCard" ordered="false" lowerBound="1">
            <eParameters name="keyCardNbr" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getRooms" ordered="false" upperBound="-1" eType="#//hotel/california/facilities/Room"/>
          <eOperations name="unregisterKeyCard" ordered="false" lowerBound="1">
            <eParameters name="keyCard" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/KeyCard"/>
            <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="unregisterKeyCard" ordered="false" lowerBound="1">
            <eParameters name="keyCardNbr" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="unregisterAllKeyCards" ordered="false" lowerBound="1">
            <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getRoomTypeAmounts" ordered="false" lowerBound="1">
            <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
              <eTypeArguments eClassifier="#//hotel/california/facilities/RoomType"/>
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
            </eGenericType>
          </eOperations>
          <eOperations name="getRoomTypeAmount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
            <eParameters name="roomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
          </eOperations>
          <eOperations name="getRoom" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/Room">
            <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getRoomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType">
            <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getGuestRooms" ordered="false" upperBound="-1" eType="#//hotel/california/facilities/GuestRoom"/>
          <eOperations name="getConferenceRooms" ordered="false" upperBound="-1" eType="#//hotel/california/facilities/ConferenceRoom"/>
          <eOperations name="setIsBeingCleaned" ordered="false" lowerBound="1">
            <eParameters name="room" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/Room"/>
            <eParameters name="value" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="RoomType">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="roomApprovals" ordered="false"
              upperBound="-1" eType="#//hotel/california/facilities/RoomApproval"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="price" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EEnum" name="RoomApproval"/>
        <eClassifiers xsi:type="ecore:EClass" name="Room" abstract="true">
          <eOperations name="registerKeyCard" ordered="false" lowerBound="1">
            <eParameters name="keyCard" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/KeyCard"/>
          </eOperations>
          <eOperations name="unregisterKeyCard" ordered="false" lowerBound="1">
            <eParameters name="keyCard" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/KeyCard"/>
          </eOperations>
          <eOperations name="unregisterKeyCards" ordered="false" lowerBound="1"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="floor" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="roomNumber" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isOperational" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
              defaultValueLiteral="true"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBeingCleaned" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="photos" ordered="false"
              upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="allowedKeyCards"
              ordered="false" upperBound="-1" eType="#//hotel/california/facilities/KeyCard"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="roomType" ordered="false"
              lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="disabilityApprovals"
              ordered="false" upperBound="-1" eType="#//hotel/california/facilities/DisabilityApproval"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EEnum" name="DisabilityApproval"/>
        <eClassifiers xsi:type="ecore:EClass" name="GuestRoom" eSuperTypes="#//hotel/california/facilities/Room">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfBeds" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfExtrabeds"
              ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="ConferenceRoom" eSuperTypes="#//hotel/california/facilities/Room">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="numberOfSeats" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="equipment" ordered="false"
              upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="RoomManagerImpl" eSuperTypes="#//hotel/california/facilities/RoomManager">
          <eStructuralFeatures xsi:type="ecore:EReference" name="roomDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomDataService"
              changeable="false"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="roomTypeDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomTypeDataService"
              changeable="false"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="keyCardManager" ordered="false"
              lowerBound="1" eType="#//hotel/california/facilities/KeyCardManager"
              changeable="false"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="RoomDataService">
          <eOperations name="getAllGuestRooms" ordered="false" upperBound="-1" eType="#//hotel/california/facilities/GuestRoom"/>
          <eOperations name="getAllConferenceRooms" ordered="false" upperBound="-1"
              eType="#//hotel/california/facilities/ConferenceRoom"/>
          <eOperations name="getGuestRoom" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/GuestRoom">
            <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getConferenceRoom" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/ConferenceRoom">
            <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/facilities/Room"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="RoomTypeDataService">
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/facilities/RoomType"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="KeyCardManagerImpl" eSuperTypes="#//hotel/california/facilities/KeyCardManager">
          <eStructuralFeatures xsi:type="ecore:EReference" name="keyCardDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/facilities/KeyCardDataService"
              changeable="false"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="KeyCardDataService">
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/facilities/KeyCard"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="AdminRoomManagerImpl" eSuperTypes="#//hotel/california/facilities/RoomManagerImpl #//hotel/california/facilities/AdminRoomManager"/>
        <eClassifiers xsi:type="ecore:EClass" name="AdminKeyCardManagerImpl" eSuperTypes="#//hotel/california/facilities/KeyCardManagerImpl #//hotel/california/facilities/AdminKeyCardManager"/>
      </eSubpackages>
      <eSubpackages name="billing" nsURI="http:///tda593/hotel/california/billing.ecore"
          nsPrefix="tda593.hotel.california.billing">
        <eClassifiers xsi:type="ecore:EClass" name="DiscountManager" abstract="true"
            interface="true">
          <eOperations name="getDiscount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount">
            <eParameters name="code" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="Discount" abstract="true">
          <eOperations name="getPriceWithDiscount" ordered="false" lowerBound="1"
              eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble">
            <eParameters name="price" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
          </eOperations>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="discountLimit" ordered="false"
              eType="#//hotel/california/billing/DiscountLimit"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="DiscountLimit">
          <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="startDate" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="endDate" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="allowedUsers" ordered="false"
              upperBound="-1" eType="#//hotel/california/booking/LegalEntity"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="timesLeftToUse" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="SumDiscount" eSuperTypes="#//hotel/california/billing/Discount">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="discountSum" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="PercentageDiscount" eSuperTypes="#//hotel/california/billing/Discount">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="percentage" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="DiscountDataService">
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/billing/Discount"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="DiscountManagerImpl" eSuperTypes="#//hotel/california/billing/DiscountManager">
          <eStructuralFeatures xsi:type="ecore:EReference" name="discountDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/billing/DiscountDataService"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="Bill">
          <eOperations name="applyDiscount" ordered="false" lowerBound="1">
            <eParameters name="discount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount"/>
          </eOperations>
          <eOperations name="addSubBill" ordered="false" lowerBound="1">
            <eParameters name="subBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill"/>
          </eOperations>
          <eOperations name="registerPurchase" ordered="false" lowerBound="1">
            <eParameters name="purchase" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Purchase"/>
          </eOperations>
          <eOperations name="publishBill" ordered="false" lowerBound="1"/>
          <eOperations name="unregisterPurchase" ordered="false" lowerBound="1">
            <eParameters name="purchase" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Purchase"/>
          </eOperations>
          <eOperations name="removeSubBill" ordered="false" lowerBound="1">
            <eParameters name="subBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill"/>
          </eOperations>
          <eOperations name="unPublishBill" ordered="false" lowerBound="1"/>
          <eOperations name="getPrice" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
          <eOperations name="removeDiscount" ordered="false" lowerBound="1">
            <eParameters name="discount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount"/>
          </eOperations>
          <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="date" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPublished" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isPaid" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="purchases" ordered="false"
              upperBound="-1" eType="#//hotel/california/billing/Purchase"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="usedDiscounts" ordered="false"
              upperBound="-1" eType="#//hotel/california/billing/Discount"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="customer" ordered="false"
              lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="subBills" ordered="false"
              upperBound="-1" eType="#//hotel/california/billing/Bill"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="Purchase">
          <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="quantity" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          <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:EReference" name="service" ordered="false"
              lowerBound="1" eType="#//hotel/california/billing/Service"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="Service">
          <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="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 http://www.eclipse.org/emf/2002/Ecore#//EString"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="BookingBill" eSuperTypes="#//hotel/california/billing/Bill">
          <eStructuralFeatures xsi:type="ecore:EReference" name="booking" ordered="false"
              lowerBound="1" eType="#//hotel/california/booking/Booking"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="BillManager" abstract="true" interface="true">
          <eOperations name="getBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill">
            <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
          <eOperations name="getBookingBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/BookingBill">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
          </eOperations>
          <eOperations name="billItem" ordered="false" lowerBound="1">
            <eParameters name="bill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill"/>
            <eParameters name="quantity" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="service" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Service"/>
          </eOperations>
          <eOperations name="addSubBill" ordered="false" lowerBound="1">
            <eParameters name="subBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill"/>
            <eParameters name="toBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill"/>
          </eOperations>
          <eOperations name="applyDiscount" ordered="false" lowerBound="1">
            <eParameters name="discount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount"/>
            <eParameters name="bill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill"/>
          </eOperations>
          <eOperations name="publishBill" ordered="false" lowerBound="1">
            <eParameters name="bill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill"/>
          </eOperations>
          <eOperations name="markBillAsPaid" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <eParameters name="bill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill"/>
            <eParameters name="isPaid" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
            <eParameters name="bankingManager" ordered="false" lowerBound="1" eType="#//hotel/california/billing/BankingManager"/>
            <eParameters name="creditCardManager" ordered="false" lowerBound="1" eType="#//hotel/california/billing/CreditCardManager"/>
          </eOperations>
          <eOperations name="createBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Bill">
            <eParameters name="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eOperations name="createBookingBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/BookingBill">
            <eParameters name="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
          </eOperations>
          <eOperations name="getBills" ordered="false" upperBound="-1" eType="#//hotel/california/billing/Bill">
            <eParameters name="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eOperations name="getUnpaidBills" ordered="false" upperBound="-1" eType="#//hotel/california/billing/Bill">
            <eParameters name="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="BankingManager" abstract="true"
            interface="true">
          <eOperations name="makePayment" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="sum" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
          </eOperations>
          <eOperations name="isCreditCardValid" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <eParameters name="ccNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="ccv" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="expiryMonth" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="expiryYear" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
            <eParameters name="firstName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="lastName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="CreditCardManager" abstract="true"
            interface="true">
          <eOperations name="setCreditCardInformation" ordered="false" lowerBound="1"
              eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <eParameters name="legalEntity" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
            <eParameters name="firstname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="lastname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="cardNumber" 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="expirationDate" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
            <eParameters name="validator" ordered="false" lowerBound="1" eType="#//hotel/california/billing/BankingManager"/>
          </eOperations>
          <eOperations name="getCreditCardInformation" ordered="false" lowerBound="1"
              eType="#//hotel/california/billing/CreditCardInformation">
            <eParameters name="legalEntity" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eOperations name="getCreditCardInformation" ordered="false" lowerBound="1"
              eType="#//hotel/california/billing/CreditCardInformation">
            <eParameters name="legalEntityId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
          <eOperations name="revalidateCreditCardInformation" ordered="false" lowerBound="1"
              eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <eParameters name="legalEntity" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
            <eParameters name="bankingManager" ordered="false" lowerBound="1" eType="#//hotel/california/billing/BankingManager"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="CreditCardInformation">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="cardNumber" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="expirationDate" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="ccv" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstName" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastName" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="legalEntity" ordered="false"
              eType="#//hotel/california/booking/LegalEntity"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="BillManagerImpl" eSuperTypes="#//hotel/california/billing/BillManager">
          <eStructuralFeatures xsi:type="ecore:EReference" name="billDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/billing/BillDataService"
              changeable="false"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="bookingManager" ordered="false"
              lowerBound="1" eType="#//hotel/california/booking/BookingManager"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="BillDataService">
          <eOperations name="getBookingBill" ordered="false" lowerBound="1" eType="#//hotel/california/billing/BookingBill">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
          </eOperations>
          <eOperations name="getAll" ordered="false" upperBound="-1" eType="#//hotel/california/billing/Bill">
            <eParameters name="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/billing/Bill"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="BankingManagerImpl" eSuperTypes="#//hotel/california/billing/BankingManager"/>
        <eClassifiers xsi:type="ecore:EClass" name="CreditCardInformationDataService">
          <eOperations name="getByLegalEntity" ordered="false" lowerBound="1" eType="#//hotel/california/billing/CreditCardInformation">
            <eParameters name="legalEntityId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/billing/CreditCardInformation"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="CreditCardManagerImpl" eSuperTypes="#//hotel/california/billing/CreditCardManager">
          <eStructuralFeatures xsi:type="ecore:EReference" name="creditCardInformationDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/billing/CreditCardInformationDataService"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="ServiceManagerImpl" eSuperTypes="#//hotel/california/billing/ServiceManager">
          <eStructuralFeatures xsi:type="ecore:EReference" name="serviceDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/billing/ServiceDataService"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="ServiceManager" abstract="true"
            interface="true">
          <eOperations name="getAllServices" ordered="false" upperBound="-1" eType="#//hotel/california/billing/Service"/>
          <eOperations name="getService" ordered="false" eType="#//hotel/california/billing/Service">
            <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="ServiceDataService">
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/billing/Service"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="AdminServiceManager" abstract="true"
            interface="true" eSuperTypes="#//hotel/california/billing/ServiceManager">
          <eOperations name="createService" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Service">
            <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="price" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
          </eOperations>
          <eOperations name="removeService" ordered="false" lowerBound="1">
            <eParameters name="service" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Service"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="AdminServiceManagerImpl" eSuperTypes="#//hotel/california/billing/ServiceManagerImpl #//hotel/california/billing/AdminServiceManager"/>
        <eClassifiers xsi:type="ecore:EClass" name="AdminDiscountManager" abstract="true"
            interface="true" eSuperTypes="#//hotel/california/billing/DiscountManager">
          <eOperations name="addAllowedUsers" ordered="false" lowerBound="1">
            <eParameters name="discount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount"/>
            <eParameters name="legalEntities" ordered="false" upperBound="-1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eOperations name="addPercentageDiscount" ordered="false" lowerBound="1"
              eType="#//hotel/california/billing/Discount">
            <eParameters name="code" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="name" 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#//EFloat"/>
          </eOperations>
          <eOperations name="addSumDiscount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount">
            <eParameters name="code" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="sum" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
          </eOperations>
          <eOperations name="createDiscountLimitForDiscount" ordered="false" lowerBound="1">
            <eParameters name="discount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount"/>
            <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="users" ordered="false" upperBound="-1" eType="#//hotel/california/booking/LegalEntity"/>
            <eParameters name="usesAmount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
          <eOperations name="setAmountLimit" ordered="false" lowerBound="1">
            <eParameters name="discount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount"/>
            <eParameters name="usesAmount" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
          <eOperations name="setDateRangeLimit" ordered="false" lowerBound="1">
            <eParameters name="discount" ordered="false" lowerBound="1" eType="#//hotel/california/billing/Discount"/>
            <eParameters name="validFrom" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
            <eParameters name="validTo" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="AdminDiscountManagerImpl" eSuperTypes="#//hotel/california/billing/DiscountManagerImpl #//hotel/california/billing/AdminDiscountManager"/>
      </eSubpackages>
      <eSubpackages name="booking" nsURI="http:///tda593/hotel/california/booking.ecore"
          nsPrefix="tda593.hotel.california.booking">
        <eClassifiers xsi:type="ecore:EClass" name="Organization" eSuperTypes="#//hotel/california/booking/LegalEntity">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="organizationNumber"
              ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="Person" eSuperTypes="#//hotel/california/booking/LegalEntity">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="firstname" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="lastname" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="socialSecurityNumber"
              ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="Booking">
          <eOperations name="registerTravelInformation" ordered="false" lowerBound="1">
            <eParameters name="travelInformation" ordered="false" lowerBound="1" eType="#//hotel/california/booking/TravelInformation"/>
          </eOperations>
          <eOperations name="unregisterTravelInformation" ordered="false" lowerBound="1">
            <eParameters name="travelInformation" ordered="false" lowerBound="1" eType="#//hotel/california/booking/TravelInformation"/>
          </eOperations>
          <eOperations name="getStayRequests" ordered="false" upperBound="-1" eType="#//hotel/california/booking/StayRequest"/>
          <eOperations name="getGuests" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Person"/>
          <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="startDate" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="endDate" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="specialRequest" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <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:EReference" name="roomType" ordered="false"
              lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="travelInformation"
              ordered="false" eType="#//hotel/california/booking/TravelInformation"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="responsible" ordered="false"
              lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="roomStay" ordered="false"
              eType="#//hotel/california/booking/RoomStay"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="isCanceled" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="TravelInformation">
          <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="trackingId" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="predecessor" ordered="false"
              eType="#//hotel/california/booking/TravelInformation"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="RoomStay">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="active" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="stayRequest" ordered="false"
              upperBound="-1" eType="#//hotel/california/booking/StayRequest"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="registeredPersons"
              ordered="false" upperBound="-1" eType="#//hotel/california/booking/Person"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="room" ordered="false"
              lowerBound="1" eType="#//hotel/california/facilities/Room"/>
          <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="StayRequest">
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="timeStamp" 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="BookingManager" abstract="true"
            interface="true">
          <eOperations name="getBookings" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Booking">
            <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"/>
          </eOperations>
          <eOperations name="getBookings" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Booking">
            <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="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eOperations name="getBookings" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Booking">
            <eParameters name="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eOperations name="getAvailableRooms" ordered="false" upperBound="-1" eType="#//hotel/california/facilities/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"/>
          </eOperations>
          <eOperations name="getAvailableRooms" ordered="false" upperBound="-1" eType="#//hotel/california/facilities/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="roomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
          </eOperations>
          <eOperations name="getAvailableRoomTypeAmounts" ordered="false" lowerBound="1">
            <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
              <eTypeArguments eClassifier="#//hotel/california/facilities/RoomType"/>
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
            </eGenericType>
            <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"/>
          </eOperations>
          <eOperations name="getAvailableRoomTypeAmount" ordered="false" lowerBound="1"
              eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt">
            <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="roomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
          </eOperations>
          <eOperations name="createBooking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking">
            <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="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
            <eParameters name="roomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
          </eOperations>
          <eOperations name="createBooking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking">
            <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="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
            <eParameters name="room" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/Room"/>
          </eOperations>
          <eOperations name="isRoomAvailable" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <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="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="registerRoom" ordered="false" lowerBound="1">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
            <eParameters name="room" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/Room"/>
          </eOperations>
          <eOperations name="checkIn" ordered="false" lowerBound="1">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
            <eParameters name="guests" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Person"/>
          </eOperations>
          <eOperations name="isRoomTypeAvailable" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <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="roomType" ordered="false" lowerBound="1" eType="#//hotel/california/facilities/RoomType"/>
          </eOperations>
          <eOperations name="getActiveBooking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking">
            <eParameters name="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="checkOut" ordered="false" lowerBound="1">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
          </eOperations>
          <eOperations name="getBooking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking">
            <eParameters name="bookingId" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
          <eOperations name="changeBookingDates" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
            <eParameters name="newStart" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
            <eParameters name="newEnd" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
          </eOperations>
          <eOperations name="addStayRequest" ordered="false" lowerBound="1" eType="#//hotel/california/booking/StayRequest">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
            <eParameters name="stayRequest" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="removeStayRequest" ordered="false" lowerBound="1">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
            <eParameters name="stayRequest" ordered="false" lowerBound="1" eType="#//hotel/california/booking/StayRequest"/>
          </eOperations>
          <eOperations name="getStayRequests" ordered="false" lowerBound="1">
            <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap">
              <eTypeArguments eClassifier="#//hotel/california/booking/Booking"/>
              <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
                <eTypeArguments eClassifier="#//hotel/california/booking/StayRequest"/>
              </eTypeArguments>
            </eGenericType>
          </eOperations>
          <eOperations name="setSpecialRequest" ordered="false" lowerBound="1">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
            <eParameters name="specialRequest" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="cancelBooking" ordered="false" lowerBound="1">
            <eParameters name="booking" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Booking"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="BookingManagerImpl" eSuperTypes="#//hotel/california/booking/BookingManager">
          <eStructuralFeatures xsi:type="ecore:EReference" name="bookingDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/booking/BookingDataService"
              changeable="false"/>
          <eStructuralFeatures xsi:type="ecore:EReference" name="roomManager" ordered="false"
              lowerBound="1" eType="#//hotel/california/facilities/RoomManager"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="BookingDataService">
          <eOperations name="getAll" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Booking">
            <eParameters name="customer" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eOperations name="getAll" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Booking">
            <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"/>
          </eOperations>
          <eOperations name="getAll" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Booking">
            <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="legal" ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntity"/>
          </eOperations>
          <eOperations name="beginTransaction" ordered="false" lowerBound="1"/>
          <eOperations name="commitTransaction" ordered="false" lowerBound="1"/>
          <eOperations name="rollbackTransaction" ordered="false" lowerBound="1"/>
          <eOperations name="getAll" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Booking">
            <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="roomNumber" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/booking/Booking"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="LegalEntityManager" abstract="true"
            interface="true">
          <eOperations name="findPerson" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Person">
            <eParameters name="firstname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="lastname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="findOrganization" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Organization">
            <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getOrganization" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Organization">
            <eParameters name="organizationNumber" ordered="false" lowerBound="1"
                eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getPerson" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Person">
            <eParameters name="SSN" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="createPerson" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Person">
            <eParameters name="firstname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="lastname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="SSN" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="phone" 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"/>
          </eOperations>
          <eOperations name="createOrganization" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Organization">
            <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="organizationNumber" ordered="false" lowerBound="1"
                eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="phone" 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"/>
          </eOperations>
          <eOperations name="getLegalEntity" ordered="false" eType="#//hotel/california/booking/LegalEntity">
            <eParameters name="id" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
          </eOperations>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="LegalEntityManagerImpl" eSuperTypes="#//hotel/california/booking/LegalEntityManager">
          <eStructuralFeatures xsi:type="ecore:EReference" name="legalEntityDataService"
              ordered="false" lowerBound="1" eType="#//hotel/california/booking/LegalEntityDataService"/>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="LegalEntityDataService">
          <eOperations name="findPerson" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Person">
            <eParameters name="firstname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
            <eParameters name="lastname" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="findOrganization" ordered="false" upperBound="-1" eType="#//hotel/california/booking/Organization">
            <eParameters name="name" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getOrganization" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Organization">
            <eParameters name="organizationNumber" ordered="false" lowerBound="1"
                eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eOperations name="getPerson" ordered="false" lowerBound="1" eType="#//hotel/california/booking/Person">
            <eParameters name="SSN" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          </eOperations>
          <eGenericSuperTypes eClassifier="#//hotel/california/DataService">
            <eTypeArguments eClassifier="#//hotel/california/booking/LegalEntity"/>
            <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject"/>
          </eGenericSuperTypes>
        </eClassifiers>
        <eClassifiers xsi:type="ecore:EClass" name="LegalEntity" abstract="true">
          <eOperations name="getName" ordered="false" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="phone" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="email" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
          <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false"
              lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
        </eClassifiers>
      </eSubpackages>
    </eSubpackages>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"tda593","nsURI":"http:///tda593.ecore","name":"tda593","id":0,"eClass":"EPackage"},{"nsPrefix":"tda593.hotel","nsURI":"http:///tda593/hotel.ecore","name":"hotel","id":1,"eClass":"EPackage"},{"nsPrefix":"tda593.hotel.california","nsURI":"http:///tda593/hotel/california.ecore","name":"california","id":2,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DataService","instanceClass":null,"abstract":true,"id":3,"interface":true,"eClass":"EClass"},{"nsPrefix":"tda593.hotel.california.facilities","nsURI":"http:///tda593/hotel/california/facilities.ecore","name":"facilities","id":4,"eClass":"EPackage"},{"nsPrefix":"tda593.hotel.california.billing","nsURI":"http:///tda593/hotel/california/billing.ecore","name":"billing","id":5,"eClass":"EPackage"},{"nsPrefix":"tda593.hotel.california.booking","nsURI":"http:///tda593/hotel/california/booking.ecore","name":"booking","id":6,"eClass":"EPackage"},{"name":"E","id":7,"eClass":"ETypeParameter"},{"name":"ID","id":8,"eClass":"ETypeParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"get","lowerBound":1,"id":9,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAll","lowerBound":0,"id":10,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"count","lowerBound":1,"id":11,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"set","lowerBound":1,"id":12,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"setAll","lowerBound":1,"id":13,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"delete","lowerBound":1,"id":14,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"exist","lowerBound":1,"id":15,"many":false,"required":true,"eClass":"EOperation"},{"id":16,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":17,"many":false,"required":true,"eClass":"EParameter"},{"id":18,"eClass":"EGenericType"},{"id":19,"eClass":"EGenericType"},{"id":20,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"object","lowerBound":1,"id":21,"many":false,"required":true,"eClass":"EParameter"},{"id":22,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"objects","lowerBound":1,"id":23,"many":true,"required":true,"eClass":"EParameter"},{"id":24,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"object","lowerBound":1,"id":25,"many":false,"required":true,"eClass":"EParameter"},{"id":26,"eClass":"EGenericType"},{"id":27,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"object","lowerBound":1,"id":28,"many":false,"required":true,"eClass":"EParameter"},{"id":29,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminKeyCardManager","instanceClass":null,"abstract":true,"id":30,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"KeyCardManager","instanceClass":null,"abstract":true,"id":31,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"KeyCard","instanceClass":null,"abstract":false,"id":32,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminRoomManager","instanceClass":null,"abstract":true,"id":33,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomManager","instanceClass":null,"abstract":true,"id":34,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomType","instanceClass":null,"abstract":false,"id":35,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomApproval","instanceClass":null,"id":36,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Room","instanceClass":null,"abstract":true,"id":37,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DisabilityApproval","instanceClass":null,"id":38,"serializable":true,"eClass":"EEnum"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"GuestRoom","instanceClass":null,"abstract":false,"id":39,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ConferenceRoom","instanceClass":null,"abstract":false,"id":40,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomManagerImpl","instanceClass":null,"abstract":false,"id":41,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomDataService","instanceClass":null,"abstract":false,"id":42,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomTypeDataService","instanceClass":null,"abstract":false,"id":43,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"KeyCardManagerImpl","instanceClass":null,"abstract":false,"id":44,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"KeyCardDataService","instanceClass":null,"abstract":false,"id":45,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminRoomManagerImpl","instanceClass":null,"abstract":false,"id":46,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminKeyCardManagerImpl","instanceClass":null,"abstract":false,"id":47,"interface":false,"eClass":"EClass"},{"ordered":false,"upperBound":1,"unique":true,"name":"addKeyCard","lowerBound":1,"id":48,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeKeyCard","lowerBound":1,"id":49,"many":false,"required":true,"eClass":"EOperation"},{"id":50,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"cardNumber","lowerBound":1,"id":51,"many":false,"required":true,"eClass":"EParameter"},{"id":52,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"cardNumber","lowerBound":1,"id":53,"many":false,"required":true,"eClass":"EParameter"},{"id":54,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getKeyCard","lowerBound":1,"id":55,"many":false,"required":true,"eClass":"EOperation"},{"id":56,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"keyCardNbr","lowerBound":1,"id":57,"many":false,"required":true,"eClass":"EParameter"},{"id":58,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"id","changeable":true,"lowerBound":1,"iD":false,"id":59,"derived":false},{"id":60,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeRoom","lowerBound":1,"id":61,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addRoomType","lowerBound":1,"id":62,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeRoomType","lowerBound":1,"id":63,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addGuestRoom","lowerBound":1,"id":64,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addConferenceRoom","lowerBound":1,"id":65,"many":false,"required":true,"eClass":"EOperation"},{"id":66,"eClass":"EGenericType"},{"id":67,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","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":"name","lowerBound":1,"id":71,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"description","lowerBound":1,"id":72,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"roomApprovals","lowerBound":0,"id":73,"many":true,"required":false,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"price","lowerBound":1,"id":74,"many":false,"required":true,"eClass":"EParameter"},{"id":75,"eClass":"EGenericType"},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"id":78,"eClass":"EGenericType"},{"id":79,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":80,"many":false,"required":true,"eClass":"EParameter"},{"id":81,"eClass":"EGenericType"},{"id":82,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"number","lowerBound":1,"id":83,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"floor","lowerBound":1,"id":84,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"description","lowerBound":1,"id":85,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"disabilityApprovals","lowerBound":0,"id":86,"many":true,"required":false,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"photos","lowerBound":0,"id":87,"many":true,"required":false,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":88,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfBeds","lowerBound":1,"id":89,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfExtraBeds","lowerBound":1,"id":90,"many":false,"required":true,"eClass":"EParameter"},{"id":91,"eClass":"EGenericType"},{"id":92,"eClass":"EGenericType"},{"id":93,"eClass":"EGenericType"},{"id":94,"eClass":"EGenericType"},{"id":95,"eClass":"EGenericType"},{"id":96,"eClass":"EGenericType"},{"id":97,"eClass":"EGenericType"},{"id":98,"eClass":"EGenericType"},{"id":99,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"number","lowerBound":1,"id":100,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"floor","lowerBound":1,"id":101,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"description","lowerBound":1,"id":102,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"disabilityApprovals","lowerBound":0,"id":103,"many":true,"required":false,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"photos","lowerBound":0,"id":104,"many":true,"required":false,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":105,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"numberOfSeats","lowerBound":1,"id":106,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"equipment","lowerBound":0,"id":107,"many":true,"required":false,"eClass":"EParameter"},{"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"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getRoomTypes","lowerBound":0,"id":116,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"registerKeyCard","lowerBound":1,"id":117,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"registerKeyCard","lowerBound":1,"id":118,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getRooms","lowerBound":0,"id":119,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unregisterKeyCard","lowerBound":1,"id":120,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unregisterKeyCard","lowerBound":1,"id":121,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unregisterAllKeyCards","lowerBound":1,"id":122,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoomTypeAmounts","lowerBound":1,"id":123,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoomTypeAmount","lowerBound":1,"id":124,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoom","lowerBound":1,"id":125,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getRoomType","lowerBound":1,"id":126,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getGuestRooms","lowerBound":0,"id":127,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getConferenceRooms","lowerBound":0,"id":128,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"setIsBeingCleaned","lowerBound":1,"id":129,"many":false,"required":true,"eClass":"EOperation"},{"id":130,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"keyCard","lowerBound":1,"id":131,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":132,"many":false,"required":true,"eClass":"EParameter"},{"id":133,"eClass":"EGenericType"},{"id":134,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"keyCardNbr","lowerBound":1,"id":135,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":136,"many":false,"required":true,"eClass":"EParameter"},{"id":137,"eClass":"EGenericType"},{"id":138,"eClass":"EGenericType"},{"id":139,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"keyCard","lowerBound":1,"id":140,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":141,"many":false,"required":true,"eClass":"EParameter"},{"id":142,"eClass":"EGenericType"},{"id":143,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"keyCardNbr","lowerBound":1,"id":144,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":145,"many":false,"required":true,"eClass":"EParameter"},{"id":146,"eClass":"EGenericType"},{"id":147,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":148,"many":false,"required":true,"eClass":"EParameter"},{"id":149,"eClass":"EGenericType"},{"id":150,"eClass":"EGenericType"},{"id":151,"eClass":"EGenericType"},{"id":152,"eClass":"EGenericType"},{"id":153,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":154,"many":false,"required":true,"eClass":"EParameter"},{"id":155,"eClass":"EGenericType"},{"id":156,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":157,"many":false,"required":true,"eClass":"EParameter"},{"id":158,"eClass":"EGenericType"},{"id":159,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":160,"many":false,"required":true,"eClass":"EParameter"},{"id":161,"eClass":"EGenericType"},{"id":162,"eClass":"EGenericType"},{"id":163,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":164,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"value","lowerBound":1,"id":165,"many":false,"required":true,"eClass":"EParameter"},{"id":166,"eClass":"EGenericType"},{"id":167,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"name","changeable":true,"lowerBound":1,"iD":false,"id":168,"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":169,"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":"roomApprovals","changeable":true,"lowerBound":0,"iD":false,"id":170,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"price","changeable":true,"lowerBound":1,"iD":false,"id":171,"derived":false},{"id":172,"eClass":"EGenericType"},{"id":173,"eClass":"EGenericType"},{"id":174,"eClass":"EGenericType"},{"id":175,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"registerKeyCard","lowerBound":1,"id":176,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unregisterKeyCard","lowerBound":1,"id":177,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unregisterKeyCards","lowerBound":1,"id":178,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"floor","changeable":true,"lowerBound":1,"iD":false,"id":179,"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":"roomNumber","changeable":true,"lowerBound":1,"iD":false,"id":180,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":true,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":"true","unsettable":false,"transient":false,"unique":true,"name":"isOperational","changeable":true,"lowerBound":1,"iD":false,"id":181,"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":"isBeingCleaned","changeable":true,"lowerBound":1,"iD":false,"id":182,"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":183,"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":"photos","changeable":true,"lowerBound":0,"iD":false,"id":184,"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":"allowedKeyCards","changeable":true,"resolveProxies":true,"lowerBound":0,"id":185,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":186,"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":"disabilityApprovals","changeable":true,"lowerBound":0,"iD":false,"id":187,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"keyCard","lowerBound":1,"id":188,"many":false,"required":true,"eClass":"EParameter"},{"id":189,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"keyCard","lowerBound":1,"id":190,"many":false,"required":true,"eClass":"EParameter"},{"id":191,"eClass":"EGenericType"},{"id":192,"eClass":"EGenericType"},{"id":193,"eClass":"EGenericType"},{"id":194,"eClass":"EGenericType"},{"id":195,"eClass":"EGenericType"},{"id":196,"eClass":"EGenericType"},{"id":197,"eClass":"EGenericType"},{"id":198,"eClass":"EGenericType"},{"id":199,"eClass":"EGenericType"},{"id":200,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"numberOfBeds","changeable":true,"lowerBound":1,"iD":false,"id":201,"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":"numberOfExtrabeds","changeable":true,"lowerBound":1,"iD":false,"id":202,"derived":false},{"id":203,"eClass":"EGenericType"},{"id":204,"eClass":"EGenericType"},{"id":205,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"numberOfSeats","changeable":true,"lowerBound":1,"iD":false,"id":206,"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":"equipment","changeable":true,"lowerBound":0,"iD":false,"id":207,"derived":false},{"id":208,"eClass":"EGenericType"},{"id":209,"eClass":"EGenericType"},{"id":210,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomDataService","changeable":false,"resolveProxies":true,"lowerBound":1,"id":211,"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":"roomTypeDataService","changeable":false,"resolveProxies":true,"lowerBound":1,"id":212,"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":"keyCardManager","changeable":false,"resolveProxies":true,"lowerBound":1,"id":213,"derived":false},{"id":214,"eClass":"EGenericType"},{"id":215,"eClass":"EGenericType"},{"id":216,"eClass":"EGenericType"},{"id":217,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllGuestRooms","lowerBound":0,"id":218,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllConferenceRooms","lowerBound":0,"id":219,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getGuestRoom","lowerBound":1,"id":220,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getConferenceRoom","lowerBound":1,"id":221,"many":false,"required":true,"eClass":"EOperation"},{"id":222,"eClass":"EGenericType"},{"id":223,"eClass":"EGenericType"},{"id":224,"eClass":"EGenericType"},{"id":225,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":226,"many":false,"required":true,"eClass":"EParameter"},{"id":227,"eClass":"EGenericType"},{"id":228,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":229,"many":false,"required":true,"eClass":"EParameter"},{"id":230,"eClass":"EGenericType"},{"id":231,"eClass":"EGenericType"},{"id":232,"eClass":"EGenericType"},{"id":233,"eClass":"EGenericType"},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"keyCardDataService","changeable":false,"resolveProxies":true,"lowerBound":1,"id":236,"derived":false},{"id":237,"eClass":"EGenericType"},{"id":238,"eClass":"EGenericType"},{"id":239,"eClass":"EGenericType"},{"id":240,"eClass":"EGenericType"},{"id":241,"eClass":"EGenericType"},{"id":242,"eClass":"EGenericType"},{"id":243,"eClass":"EGenericType"},{"id":244,"eClass":"EGenericType"},{"id":245,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DiscountManager","instanceClass":null,"abstract":true,"id":246,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Discount","instanceClass":null,"abstract":true,"id":247,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DiscountLimit","instanceClass":null,"abstract":false,"id":248,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SumDiscount","instanceClass":null,"abstract":false,"id":249,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PercentageDiscount","instanceClass":null,"abstract":false,"id":250,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DiscountDataService","instanceClass":null,"abstract":false,"id":251,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"DiscountManagerImpl","instanceClass":null,"abstract":false,"id":252,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Bill","instanceClass":null,"abstract":false,"id":253,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Purchase","instanceClass":null,"abstract":false,"id":254,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Service","instanceClass":null,"abstract":false,"id":255,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BookingBill","instanceClass":null,"abstract":false,"id":256,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BillManager","instanceClass":null,"abstract":true,"id":257,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BankingManager","instanceClass":null,"abstract":true,"id":258,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CreditCardManager","instanceClass":null,"abstract":true,"id":259,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CreditCardInformation","instanceClass":null,"abstract":false,"id":260,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BillManagerImpl","instanceClass":null,"abstract":false,"id":261,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BillDataService","instanceClass":null,"abstract":false,"id":262,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BankingManagerImpl","instanceClass":null,"abstract":false,"id":263,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CreditCardInformationDataService","instanceClass":null,"abstract":false,"id":264,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CreditCardManagerImpl","instanceClass":null,"abstract":false,"id":265,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ServiceManagerImpl","instanceClass":null,"abstract":false,"id":266,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ServiceManager","instanceClass":null,"abstract":true,"id":267,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ServiceDataService","instanceClass":null,"abstract":false,"id":268,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminServiceManager","instanceClass":null,"abstract":true,"id":269,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminServiceManagerImpl","instanceClass":null,"abstract":false,"id":270,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminDiscountManager","instanceClass":null,"abstract":true,"id":271,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AdminDiscountManagerImpl","instanceClass":null,"abstract":false,"id":272,"interface":false,"eClass":"EClass"},{"ordered":false,"upperBound":1,"unique":true,"name":"getDiscount","lowerBound":1,"id":273,"many":false,"required":true,"eClass":"EOperation"},{"id":274,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"code","lowerBound":1,"id":275,"many":false,"required":true,"eClass":"EParameter"},{"id":276,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getPriceWithDiscount","lowerBound":1,"id":277,"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":278,"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":279,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"discountLimit","changeable":true,"resolveProxies":true,"lowerBound":0,"id":280,"derived":false},{"id":281,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"price","lowerBound":1,"id":282,"many":false,"required":true,"eClass":"EParameter"},{"id":283,"eClass":"EGenericType"},{"id":284,"eClass":"EGenericType"},{"id":285,"eClass":"EGenericType"},{"id":286,"eClass":"EGenericType"},{"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":287,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"startDate","changeable":true,"lowerBound":1,"iD":false,"id":288,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"endDate","changeable":true,"lowerBound":1,"iD":false,"id":289,"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":"allowedUsers","changeable":true,"resolveProxies":true,"lowerBound":0,"id":290,"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":"timesLeftToUse","changeable":true,"lowerBound":1,"iD":false,"id":291,"derived":false},{"id":292,"eClass":"EGenericType"},{"id":293,"eClass":"EGenericType"},{"id":294,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LegalEntity","instanceClass":null,"abstract":true,"id":295,"interface":false,"eClass":"EClass"},{"id":296,"eClass":"EGenericType"},{"id":297,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"discountSum","changeable":true,"lowerBound":1,"iD":false,"id":298,"derived":false},{"id":299,"eClass":"EGenericType"},{"id":300,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"percentage","changeable":true,"lowerBound":1,"iD":false,"id":301,"derived":false},{"id":302,"eClass":"EGenericType"},{"id":303,"eClass":"EGenericType"},{"id":304,"eClass":"EGenericType"},{"id":305,"eClass":"EGenericType"},{"id":306,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"discountDataService","changeable":true,"resolveProxies":true,"lowerBound":1,"id":307,"derived":false},{"id":308,"eClass":"EGenericType"},{"id":309,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"applyDiscount","lowerBound":1,"id":310,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addSubBill","lowerBound":1,"id":311,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"registerPurchase","lowerBound":1,"id":312,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"publishBill","lowerBound":1,"id":313,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unregisterPurchase","lowerBound":1,"id":314,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeSubBill","lowerBound":1,"id":315,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unPublishBill","lowerBound":1,"id":316,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getPrice","lowerBound":1,"id":317,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeDiscount","lowerBound":1,"id":318,"many":false,"required":true,"eClass":"EOperation"},{"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":319,"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":320,"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":"isPublished","changeable":true,"lowerBound":1,"iD":false,"id":321,"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":"isPaid","changeable":true,"lowerBound":1,"iD":false,"id":322,"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":"purchases","changeable":true,"resolveProxies":true,"lowerBound":0,"id":323,"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":"usedDiscounts","changeable":true,"resolveProxies":true,"lowerBound":0,"id":324,"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":"customer","changeable":true,"resolveProxies":true,"lowerBound":1,"id":325,"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":"subBills","changeable":true,"resolveProxies":true,"lowerBound":0,"id":326,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"discount","lowerBound":1,"id":327,"many":false,"required":true,"eClass":"EParameter"},{"id":328,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"subBill","lowerBound":1,"id":329,"many":false,"required":true,"eClass":"EParameter"},{"id":330,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"purchase","lowerBound":1,"id":331,"many":false,"required":true,"eClass":"EParameter"},{"id":332,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"purchase","lowerBound":1,"id":333,"many":false,"required":true,"eClass":"EParameter"},{"id":334,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"subBill","lowerBound":1,"id":335,"many":false,"required":true,"eClass":"EParameter"},{"id":336,"eClass":"EGenericType"},{"id":337,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"discount","lowerBound":1,"id":338,"many":false,"required":true,"eClass":"EParameter"},{"id":339,"eClass":"EGenericType"},{"id":340,"eClass":"EGenericType"},{"id":341,"eClass":"EGenericType"},{"id":342,"eClass":"EGenericType"},{"id":343,"eClass":"EGenericType"},{"id":344,"eClass":"EGenericType"},{"id":345,"eClass":"EGenericType"},{"id":346,"eClass":"EGenericType"},{"id":347,"eClass":"EGenericType"},{"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":348,"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":"quantity","changeable":true,"lowerBound":1,"iD":false,"id":349,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"price","changeable":true,"lowerBound":1,"iD":false,"id":350,"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":"service","changeable":true,"resolveProxies":true,"lowerBound":1,"id":351,"derived":false},{"id":352,"eClass":"EGenericType"},{"id":353,"eClass":"EGenericType"},{"id":354,"eClass":"EGenericType"},{"id":355,"eClass":"EGenericType"},{"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":356,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"price","changeable":true,"lowerBound":1,"iD":false,"id":357,"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":358,"derived":false},{"id":359,"eClass":"EGenericType"},{"id":360,"eClass":"EGenericType"},{"id":361,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"booking","changeable":true,"resolveProxies":true,"lowerBound":1,"id":362,"derived":false},{"id":363,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Booking","instanceClass":null,"abstract":false,"id":364,"interface":false,"eClass":"EClass"},{"id":365,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBill","lowerBound":1,"id":366,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBookingBill","lowerBound":1,"id":367,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"billItem","lowerBound":1,"id":368,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addSubBill","lowerBound":1,"id":369,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"applyDiscount","lowerBound":1,"id":370,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"publishBill","lowerBound":1,"id":371,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"markBillAsPaid","lowerBound":1,"id":372,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createBill","lowerBound":1,"id":373,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createBookingBill","lowerBound":1,"id":374,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getBills","lowerBound":0,"id":375,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getUnpaidBills","lowerBound":0,"id":376,"many":true,"required":false,"eClass":"EOperation"},{"id":377,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":378,"many":false,"required":true,"eClass":"EParameter"},{"id":379,"eClass":"EGenericType"},{"id":380,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":381,"many":false,"required":true,"eClass":"EParameter"},{"id":382,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bill","lowerBound":1,"id":383,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"quantity","lowerBound":1,"id":384,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"service","lowerBound":1,"id":385,"many":false,"required":true,"eClass":"EParameter"},{"id":386,"eClass":"EGenericType"},{"id":387,"eClass":"EGenericType"},{"id":388,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"subBill","lowerBound":1,"id":389,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"toBill","lowerBound":1,"id":390,"many":false,"required":true,"eClass":"EParameter"},{"id":391,"eClass":"EGenericType"},{"id":392,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"discount","lowerBound":1,"id":393,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"bill","lowerBound":1,"id":394,"many":false,"required":true,"eClass":"EParameter"},{"id":395,"eClass":"EGenericType"},{"id":396,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bill","lowerBound":1,"id":397,"many":false,"required":true,"eClass":"EParameter"},{"id":398,"eClass":"EGenericType"},{"id":399,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bill","lowerBound":1,"id":400,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"isPaid","lowerBound":1,"id":401,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"bankingManager","lowerBound":1,"id":402,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"creditCardManager","lowerBound":1,"id":403,"many":false,"required":true,"eClass":"EParameter"},{"id":404,"eClass":"EGenericType"},{"id":405,"eClass":"EGenericType"},{"id":406,"eClass":"EGenericType"},{"id":407,"eClass":"EGenericType"},{"id":408,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":409,"many":false,"required":true,"eClass":"EParameter"},{"id":410,"eClass":"EGenericType"},{"id":411,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":412,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":413,"many":false,"required":true,"eClass":"EParameter"},{"id":414,"eClass":"EGenericType"},{"id":415,"eClass":"EGenericType"},{"id":416,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":417,"many":false,"required":true,"eClass":"EParameter"},{"id":418,"eClass":"EGenericType"},{"id":419,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":420,"many":false,"required":true,"eClass":"EParameter"},{"id":421,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"makePayment","lowerBound":1,"id":422,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"isCreditCardValid","lowerBound":1,"id":423,"many":false,"required":true,"eClass":"EOperation"},{"id":424,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":425,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":426,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":427,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":428,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":429,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":430,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"sum","lowerBound":1,"id":431,"many":false,"required":true,"eClass":"EParameter"},{"id":432,"eClass":"EGenericType"},{"id":433,"eClass":"EGenericType"},{"id":434,"eClass":"EGenericType"},{"id":435,"eClass":"EGenericType"},{"id":436,"eClass":"EGenericType"},{"id":437,"eClass":"EGenericType"},{"id":438,"eClass":"EGenericType"},{"id":439,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccNumber","lowerBound":1,"id":440,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":441,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryMonth","lowerBound":1,"id":442,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expiryYear","lowerBound":1,"id":443,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstName","lowerBound":1,"id":444,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastName","lowerBound":1,"id":445,"many":false,"required":true,"eClass":"EParameter"},{"id":446,"eClass":"EGenericType"},{"id":447,"eClass":"EGenericType"},{"id":448,"eClass":"EGenericType"},{"id":449,"eClass":"EGenericType"},{"id":450,"eClass":"EGenericType"},{"id":451,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"setCreditCardInformation","lowerBound":1,"id":452,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getCreditCardInformation","lowerBound":1,"id":453,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getCreditCardInformation","lowerBound":1,"id":454,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"revalidateCreditCardInformation","lowerBound":1,"id":455,"many":false,"required":true,"eClass":"EOperation"},{"id":456,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"legalEntity","lowerBound":1,"id":457,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstname","lowerBound":1,"id":458,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastname","lowerBound":1,"id":459,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"cardNumber","lowerBound":1,"id":460,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"ccv","lowerBound":1,"id":461,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"expirationDate","lowerBound":1,"id":462,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"validator","lowerBound":1,"id":463,"many":false,"required":true,"eClass":"EParameter"},{"id":464,"eClass":"EGenericType"},{"id":465,"eClass":"EGenericType"},{"id":466,"eClass":"EGenericType"},{"id":467,"eClass":"EGenericType"},{"id":468,"eClass":"EGenericType"},{"id":469,"eClass":"EGenericType"},{"id":470,"eClass":"EGenericType"},{"id":471,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"legalEntity","lowerBound":1,"id":472,"many":false,"required":true,"eClass":"EParameter"},{"id":473,"eClass":"EGenericType"},{"id":474,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"legalEntityId","lowerBound":1,"id":475,"many":false,"required":true,"eClass":"EParameter"},{"id":476,"eClass":"EGenericType"},{"id":477,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"legalEntity","lowerBound":1,"id":478,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"bankingManager","lowerBound":1,"id":479,"many":false,"required":true,"eClass":"EParameter"},{"id":480,"eClass":"EGenericType"},{"id":481,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"cardNumber","changeable":true,"lowerBound":1,"iD":false,"id":482,"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":483,"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":484,"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":"firstName","changeable":true,"lowerBound":1,"iD":false,"id":485,"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":"lastName","changeable":true,"lowerBound":1,"iD":false,"id":486,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"legalEntity","changeable":true,"resolveProxies":true,"lowerBound":0,"id":487,"derived":false},{"id":488,"eClass":"EGenericType"},{"id":489,"eClass":"EGenericType"},{"id":490,"eClass":"EGenericType"},{"id":491,"eClass":"EGenericType"},{"id":492,"eClass":"EGenericType"},{"id":493,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"billDataService","changeable":false,"resolveProxies":true,"lowerBound":1,"id":494,"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":"bookingManager","changeable":true,"resolveProxies":true,"lowerBound":1,"id":495,"derived":false},{"id":496,"eClass":"EGenericType"},{"id":497,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BookingManager","instanceClass":null,"abstract":true,"id":498,"interface":true,"eClass":"EClass"},{"id":499,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBookingBill","lowerBound":1,"id":500,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAll","lowerBound":0,"id":501,"many":true,"required":false,"eClass":"EOperation"},{"id":502,"eClass":"EGenericType"},{"id":503,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":504,"many":false,"required":true,"eClass":"EParameter"},{"id":505,"eClass":"EGenericType"},{"id":506,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":507,"many":false,"required":true,"eClass":"EParameter"},{"id":508,"eClass":"EGenericType"},{"id":509,"eClass":"EGenericType"},{"id":510,"eClass":"EGenericType"},{"id":511,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getByLegalEntity","lowerBound":1,"id":512,"many":false,"required":true,"eClass":"EOperation"},{"id":513,"eClass":"EGenericType"},{"id":514,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"legalEntityId","lowerBound":1,"id":515,"many":false,"required":true,"eClass":"EParameter"},{"id":516,"eClass":"EGenericType"},{"id":517,"eClass":"EGenericType"},{"id":518,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"creditCardInformationDataService","changeable":true,"resolveProxies":true,"lowerBound":1,"id":519,"derived":false},{"id":520,"eClass":"EGenericType"},{"id":521,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"serviceDataService","changeable":true,"resolveProxies":true,"lowerBound":1,"id":522,"derived":false},{"id":523,"eClass":"EGenericType"},{"id":524,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAllServices","lowerBound":0,"id":525,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getService","lowerBound":0,"id":526,"many":false,"required":false,"eClass":"EOperation"},{"id":527,"eClass":"EGenericType"},{"id":528,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":529,"many":false,"required":true,"eClass":"EParameter"},{"id":530,"eClass":"EGenericType"},{"id":531,"eClass":"EGenericType"},{"id":532,"eClass":"EGenericType"},{"id":533,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"createService","lowerBound":1,"id":534,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeService","lowerBound":1,"id":535,"many":false,"required":true,"eClass":"EOperation"},{"id":536,"eClass":"EGenericType"},{"id":537,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":538,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"price","lowerBound":1,"id":539,"many":false,"required":true,"eClass":"EParameter"},{"id":540,"eClass":"EGenericType"},{"id":541,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"service","lowerBound":1,"id":542,"many":false,"required":true,"eClass":"EParameter"},{"id":543,"eClass":"EGenericType"},{"id":544,"eClass":"EGenericType"},{"id":545,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"addAllowedUsers","lowerBound":1,"id":546,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addPercentageDiscount","lowerBound":1,"id":547,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addSumDiscount","lowerBound":1,"id":548,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createDiscountLimitForDiscount","lowerBound":1,"id":549,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"setAmountLimit","lowerBound":1,"id":550,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"setDateRangeLimit","lowerBound":1,"id":551,"many":false,"required":true,"eClass":"EOperation"},{"id":552,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"discount","lowerBound":1,"id":553,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"legalEntities","lowerBound":0,"id":554,"many":true,"required":false,"eClass":"EParameter"},{"id":555,"eClass":"EGenericType"},{"id":556,"eClass":"EGenericType"},{"id":557,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"code","lowerBound":1,"id":558,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":559,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"percentage","lowerBound":1,"id":560,"many":false,"required":true,"eClass":"EParameter"},{"id":561,"eClass":"EGenericType"},{"id":562,"eClass":"EGenericType"},{"id":563,"eClass":"EGenericType"},{"id":564,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"code","lowerBound":1,"id":565,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":566,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"sum","lowerBound":1,"id":567,"many":false,"required":true,"eClass":"EParameter"},{"id":568,"eClass":"EGenericType"},{"id":569,"eClass":"EGenericType"},{"id":570,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"discount","lowerBound":1,"id":571,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":572,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":573,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"users","lowerBound":0,"id":574,"many":true,"required":false,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"usesAmount","lowerBound":1,"id":575,"many":false,"required":true,"eClass":"EParameter"},{"id":576,"eClass":"EGenericType"},{"id":577,"eClass":"EGenericType"},{"id":578,"eClass":"EGenericType"},{"id":579,"eClass":"EGenericType"},{"id":580,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"discount","lowerBound":1,"id":581,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"usesAmount","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":"discount","lowerBound":1,"id":585,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"validFrom","lowerBound":1,"id":586,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"validTo","lowerBound":1,"id":587,"many":false,"required":true,"eClass":"EParameter"},{"id":588,"eClass":"EGenericType"},{"id":589,"eClass":"EGenericType"},{"id":590,"eClass":"EGenericType"},{"id":591,"eClass":"EGenericType"},{"id":592,"eClass":"EGenericType"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Organization","instanceClass":null,"abstract":false,"id":593,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Person","instanceClass":null,"abstract":false,"id":594,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TravelInformation","instanceClass":null,"abstract":false,"id":595,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RoomStay","instanceClass":null,"abstract":false,"id":596,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StayRequest","instanceClass":null,"abstract":false,"id":597,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BookingManagerImpl","instanceClass":null,"abstract":false,"id":598,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BookingDataService","instanceClass":null,"abstract":false,"id":599,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LegalEntityManager","instanceClass":null,"abstract":true,"id":600,"interface":true,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LegalEntityManagerImpl","instanceClass":null,"abstract":false,"id":601,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LegalEntityDataService","instanceClass":null,"abstract":false,"id":602,"interface":false,"eClass":"EClass"},{"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":603,"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":"organizationNumber","changeable":true,"lowerBound":1,"iD":false,"id":604,"derived":false},{"id":605,"eClass":"EGenericType"},{"id":606,"eClass":"EGenericType"},{"id":607,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"firstname","changeable":true,"lowerBound":1,"iD":false,"id":608,"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":"lastname","changeable":true,"lowerBound":1,"iD":false,"id":609,"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":"socialSecurityNumber","changeable":true,"lowerBound":1,"iD":false,"id":610,"derived":false},{"id":611,"eClass":"EGenericType"},{"id":612,"eClass":"EGenericType"},{"id":613,"eClass":"EGenericType"},{"id":614,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"registerTravelInformation","lowerBound":1,"id":615,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"unregisterTravelInformation","lowerBound":1,"id":616,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getStayRequests","lowerBound":0,"id":617,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getGuests","lowerBound":0,"id":618,"many":true,"required":false,"eClass":"EOperation"},{"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":619,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"startDate","changeable":true,"lowerBound":1,"iD":false,"id":620,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"endDate","changeable":true,"lowerBound":1,"iD":false,"id":621,"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":"specialRequest","changeable":true,"lowerBound":1,"iD":false,"id":622,"derived":false},{"ordered":false,"upperBound":1,"defaultValue":0.0,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"price","changeable":true,"lowerBound":1,"iD":false,"id":623,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomType","changeable":true,"resolveProxies":true,"lowerBound":1,"id":624,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"travelInformation","changeable":true,"resolveProxies":true,"lowerBound":0,"id":625,"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":"responsible","changeable":true,"resolveProxies":true,"lowerBound":1,"id":626,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"roomStay","changeable":true,"resolveProxies":true,"lowerBound":0,"id":627,"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":"isCanceled","changeable":true,"lowerBound":1,"iD":false,"id":628,"derived":false},{"ordered":false,"upperBound":1,"unique":true,"name":"travelInformation","lowerBound":1,"id":629,"many":false,"required":true,"eClass":"EParameter"},{"id":630,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"travelInformation","lowerBound":1,"id":631,"many":false,"required":true,"eClass":"EParameter"},{"id":632,"eClass":"EGenericType"},{"id":633,"eClass":"EGenericType"},{"id":634,"eClass":"EGenericType"},{"id":635,"eClass":"EGenericType"},{"id":636,"eClass":"EGenericType"},{"id":637,"eClass":"EGenericType"},{"id":638,"eClass":"EGenericType"},{"id":639,"eClass":"EGenericType"},{"id":640,"eClass":"EGenericType"},{"id":641,"eClass":"EGenericType"},{"id":642,"eClass":"EGenericType"},{"id":643,"eClass":"EGenericType"},{"id":644,"eClass":"EGenericType"},{"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":645,"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":"trackingId","changeable":true,"lowerBound":1,"iD":false,"id":646,"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":"comment","changeable":true,"lowerBound":1,"iD":false,"id":647,"derived":false},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"predecessor","changeable":true,"resolveProxies":true,"lowerBound":0,"id":648,"derived":false},{"id":649,"eClass":"EGenericType"},{"id":650,"eClass":"EGenericType"},{"id":651,"eClass":"EGenericType"},{"id":652,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":false,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"active","changeable":true,"lowerBound":1,"iD":false,"id":653,"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":"stayRequest","changeable":true,"resolveProxies":true,"lowerBound":0,"id":654,"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":"registeredPersons","changeable":true,"resolveProxies":true,"lowerBound":0,"id":655,"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":"room","changeable":true,"resolveProxies":true,"lowerBound":1,"id":656,"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":657,"derived":false},{"id":658,"eClass":"EGenericType"},{"id":659,"eClass":"EGenericType"},{"id":660,"eClass":"EGenericType"},{"id":661,"eClass":"EGenericType"},{"id":662,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"text","changeable":true,"lowerBound":1,"iD":false,"id":663,"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":"timeStamp","changeable":true,"lowerBound":1,"iD":false,"id":664,"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":665,"derived":false},{"id":666,"eClass":"EGenericType"},{"id":667,"eClass":"EGenericType"},{"id":668,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getBookings","lowerBound":0,"id":669,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getBookings","lowerBound":0,"id":670,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getBookings","lowerBound":0,"id":671,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAvailableRooms","lowerBound":0,"id":672,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAvailableRooms","lowerBound":0,"id":673,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getAvailableRoomTypeAmounts","lowerBound":1,"id":674,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getAvailableRoomTypeAmount","lowerBound":1,"id":675,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createBooking","lowerBound":1,"id":676,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createBooking","lowerBound":1,"id":677,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"isRoomAvailable","lowerBound":1,"id":678,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"registerRoom","lowerBound":1,"id":679,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkIn","lowerBound":1,"id":680,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"isRoomTypeAvailable","lowerBound":1,"id":681,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getActiveBooking","lowerBound":1,"id":682,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"checkOut","lowerBound":1,"id":683,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getBooking","lowerBound":1,"id":684,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"changeBookingDates","lowerBound":1,"id":685,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"addStayRequest","lowerBound":1,"id":686,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"removeStayRequest","lowerBound":1,"id":687,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getStayRequests","lowerBound":1,"id":688,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"setSpecialRequest","lowerBound":1,"id":689,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"cancelBooking","lowerBound":1,"id":690,"many":false,"required":true,"eClass":"EOperation"},{"id":691,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":692,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":693,"many":false,"required":true,"eClass":"EParameter"},{"id":694,"eClass":"EGenericType"},{"id":695,"eClass":"EGenericType"},{"id":696,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":697,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":698,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","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"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":704,"many":false,"required":true,"eClass":"EParameter"},{"id":705,"eClass":"EGenericType"},{"id":706,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":707,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":708,"many":false,"required":true,"eClass":"EParameter"},{"id":709,"eClass":"EGenericType"},{"id":710,"eClass":"EGenericType"},{"id":711,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":712,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":713,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":714,"many":false,"required":true,"eClass":"EParameter"},{"id":715,"eClass":"EGenericType"},{"id":716,"eClass":"EGenericType"},{"id":717,"eClass":"EGenericType"},{"id":718,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":719,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":720,"many":false,"required":true,"eClass":"EParameter"},{"id":721,"eClass":"EGenericType"},{"id":722,"eClass":"EGenericType"},{"id":723,"eClass":"EGenericType"},{"id":724,"eClass":"EGenericType"},{"id":725,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":726,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":727,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":728,"many":false,"required":true,"eClass":"EParameter"},{"id":729,"eClass":"EGenericType"},{"id":730,"eClass":"EGenericType"},{"id":731,"eClass":"EGenericType"},{"id":732,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":733,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":734,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":735,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":736,"many":false,"required":true,"eClass":"EParameter"},{"id":737,"eClass":"EGenericType"},{"id":738,"eClass":"EGenericType"},{"id":739,"eClass":"EGenericType"},{"id":740,"eClass":"EGenericType"},{"id":741,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":742,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":743,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":744,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":745,"many":false,"required":true,"eClass":"EParameter"},{"id":746,"eClass":"EGenericType"},{"id":747,"eClass":"EGenericType"},{"id":748,"eClass":"EGenericType"},{"id":749,"eClass":"EGenericType"},{"id":750,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":751,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":752,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":753,"many":false,"required":true,"eClass":"EParameter"},{"id":754,"eClass":"EGenericType"},{"id":755,"eClass":"EGenericType"},{"id":756,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":757,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"room","lowerBound":1,"id":758,"many":false,"required":true,"eClass":"EParameter"},{"id":759,"eClass":"EGenericType"},{"id":760,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":761,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":-1,"unique":true,"name":"guests","lowerBound":0,"id":762,"many":true,"required":false,"eClass":"EParameter"},{"id":763,"eClass":"EGenericType"},{"id":764,"eClass":"EGenericType"},{"id":765,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":766,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":767,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomType","lowerBound":1,"id":768,"many":false,"required":true,"eClass":"EParameter"},{"id":769,"eClass":"EGenericType"},{"id":770,"eClass":"EGenericType"},{"id":771,"eClass":"EGenericType"},{"id":772,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":773,"many":false,"required":true,"eClass":"EParameter"},{"id":774,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":775,"many":false,"required":true,"eClass":"EParameter"},{"id":776,"eClass":"EGenericType"},{"id":777,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"bookingId","lowerBound":1,"id":778,"many":false,"required":true,"eClass":"EParameter"},{"id":779,"eClass":"EGenericType"},{"id":780,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":781,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"newStart","lowerBound":1,"id":782,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"newEnd","lowerBound":1,"id":783,"many":false,"required":true,"eClass":"EParameter"},{"id":784,"eClass":"EGenericType"},{"id":785,"eClass":"EGenericType"},{"id":786,"eClass":"EGenericType"},{"id":787,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":788,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"stayRequest","lowerBound":1,"id":789,"many":false,"required":true,"eClass":"EParameter"},{"id":790,"eClass":"EGenericType"},{"id":791,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":792,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"stayRequest","lowerBound":1,"id":793,"many":false,"required":true,"eClass":"EParameter"},{"id":794,"eClass":"EGenericType"},{"id":795,"eClass":"EGenericType"},{"id":796,"eClass":"EGenericType"},{"id":797,"eClass":"EGenericType"},{"id":798,"eClass":"EGenericType"},{"id":799,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":800,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"specialRequest","lowerBound":1,"id":801,"many":false,"required":true,"eClass":"EParameter"},{"id":802,"eClass":"EGenericType"},{"id":803,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"booking","lowerBound":1,"id":804,"many":false,"required":true,"eClass":"EParameter"},{"id":805,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"bookingDataService","changeable":false,"resolveProxies":true,"lowerBound":1,"id":806,"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":"roomManager","changeable":true,"resolveProxies":true,"lowerBound":1,"id":807,"derived":false},{"id":808,"eClass":"EGenericType"},{"id":809,"eClass":"EGenericType"},{"id":810,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAll","lowerBound":0,"id":811,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAll","lowerBound":0,"id":812,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAll","lowerBound":0,"id":813,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"beginTransaction","lowerBound":1,"id":814,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"commitTransaction","lowerBound":1,"id":815,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"rollbackTransaction","lowerBound":1,"id":816,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"getAll","lowerBound":0,"id":817,"many":true,"required":false,"eClass":"EOperation"},{"id":818,"eClass":"EGenericType"},{"id":819,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"customer","lowerBound":1,"id":820,"many":false,"required":true,"eClass":"EParameter"},{"id":821,"eClass":"EGenericType"},{"id":822,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":823,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":824,"many":false,"required":true,"eClass":"EParameter"},{"id":825,"eClass":"EGenericType"},{"id":826,"eClass":"EGenericType"},{"id":827,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":828,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":829,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"legal","lowerBound":1,"id":830,"many":false,"required":true,"eClass":"EParameter"},{"id":831,"eClass":"EGenericType"},{"id":832,"eClass":"EGenericType"},{"id":833,"eClass":"EGenericType"},{"id":834,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"from","lowerBound":1,"id":835,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"to","lowerBound":1,"id":836,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"roomNumber","lowerBound":1,"id":837,"many":false,"required":true,"eClass":"EParameter"},{"id":838,"eClass":"EGenericType"},{"id":839,"eClass":"EGenericType"},{"id":840,"eClass":"EGenericType"},{"id":841,"eClass":"EGenericType"},{"id":842,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"findPerson","lowerBound":0,"id":843,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"findOrganization","lowerBound":0,"id":844,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getOrganization","lowerBound":1,"id":845,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getPerson","lowerBound":1,"id":846,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createPerson","lowerBound":1,"id":847,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"createOrganization","lowerBound":1,"id":848,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getLegalEntity","lowerBound":0,"id":849,"many":false,"required":false,"eClass":"EOperation"},{"id":850,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstname","lowerBound":1,"id":851,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastname","lowerBound":1,"id":852,"many":false,"required":true,"eClass":"EParameter"},{"id":853,"eClass":"EGenericType"},{"id":854,"eClass":"EGenericType"},{"id":855,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":856,"many":false,"required":true,"eClass":"EParameter"},{"id":857,"eClass":"EGenericType"},{"id":858,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"organizationNumber","lowerBound":1,"id":859,"many":false,"required":true,"eClass":"EParameter"},{"id":860,"eClass":"EGenericType"},{"id":861,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"SSN","lowerBound":1,"id":862,"many":false,"required":true,"eClass":"EParameter"},{"id":863,"eClass":"EGenericType"},{"id":864,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstname","lowerBound":1,"id":865,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastname","lowerBound":1,"id":866,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"SSN","lowerBound":1,"id":867,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"phone","lowerBound":1,"id":868,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"email","lowerBound":1,"id":869,"many":false,"required":true,"eClass":"EParameter"},{"id":870,"eClass":"EGenericType"},{"id":871,"eClass":"EGenericType"},{"id":872,"eClass":"EGenericType"},{"id":873,"eClass":"EGenericType"},{"id":874,"eClass":"EGenericType"},{"id":875,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":876,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"organizationNumber","lowerBound":1,"id":877,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"phone","lowerBound":1,"id":878,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"email","lowerBound":1,"id":879,"many":false,"required":true,"eClass":"EParameter"},{"id":880,"eClass":"EGenericType"},{"id":881,"eClass":"EGenericType"},{"id":882,"eClass":"EGenericType"},{"id":883,"eClass":"EGenericType"},{"id":884,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"id","lowerBound":1,"id":885,"many":false,"required":true,"eClass":"EParameter"},{"id":886,"eClass":"EGenericType"},{"container":false,"ordered":false,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"legalEntityDataService","changeable":true,"resolveProxies":true,"lowerBound":1,"id":887,"derived":false},{"id":888,"eClass":"EGenericType"},{"id":889,"eClass":"EGenericType"},{"ordered":false,"upperBound":-1,"unique":true,"name":"findPerson","lowerBound":0,"id":890,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":-1,"unique":true,"name":"findOrganization","lowerBound":0,"id":891,"many":true,"required":false,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getOrganization","lowerBound":1,"id":892,"many":false,"required":true,"eClass":"EOperation"},{"ordered":false,"upperBound":1,"unique":true,"name":"getPerson","lowerBound":1,"id":893,"many":false,"required":true,"eClass":"EOperation"},{"id":894,"eClass":"EGenericType"},{"id":895,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"firstname","lowerBound":1,"id":896,"many":false,"required":true,"eClass":"EParameter"},{"ordered":false,"upperBound":1,"unique":true,"name":"lastname","lowerBound":1,"id":897,"many":false,"required":true,"eClass":"EParameter"},{"id":898,"eClass":"EGenericType"},{"id":899,"eClass":"EGenericType"},{"id":900,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"name","lowerBound":1,"id":901,"many":false,"required":true,"eClass":"EParameter"},{"id":902,"eClass":"EGenericType"},{"id":903,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"organizationNumber","lowerBound":1,"id":904,"many":false,"required":true,"eClass":"EParameter"},{"id":905,"eClass":"EGenericType"},{"id":906,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"SSN","lowerBound":1,"id":907,"many":false,"required":true,"eClass":"EParameter"},{"id":908,"eClass":"EGenericType"},{"id":909,"eClass":"EGenericType"},{"id":910,"eClass":"EGenericType"},{"ordered":false,"upperBound":1,"unique":true,"name":"getName","lowerBound":1,"id":911,"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":"phone","changeable":true,"lowerBound":1,"iD":false,"id":912,"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":913,"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":914,"derived":false},{"id":915,"eClass":"EGenericType"},{"id":916,"eClass":"EGenericType"},{"id":917,"eClass":"EGenericType"},{"id":918,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":1,"target":2},{"source":1,"target":0},{"source":2,"target":3},{"source":2,"target":4},{"source":2,"target":5},{"source":2,"target":6},{"source":2,"target":1},{"source":3,"target":2},{"source":3,"target":7},{"source":3,"target":8},{"source":3,"target":9},{"source":3,"target":10},{"source":3,"target":11},{"source":3,"target":12},{"source":3,"target":13},{"source":3,"target":14},{"source":3,"target":15},{"source":9,"target":16},{"source":9,"target":3},{"source":9,"target":17},{"source":16,"target":7},{"source":17,"target":18},{"source":17,"target":9},{"source":18,"target":8},{"source":10,"target":19},{"source":10,"target":3},{"source":19,"target":7},{"source":11,"target":20},{"source":11,"target":3},{"source":12,"target":3},{"source":12,"target":21},{"source":21,"target":22},{"source":21,"target":12},{"source":22,"target":7},{"source":13,"target":3},{"source":13,"target":23},{"source":23,"target":24},{"source":23,"target":13},{"source":24,"target":7},{"source":14,"target":3},{"source":14,"target":25},{"source":25,"target":26},{"source":25,"target":14},{"source":26,"target":7},{"source":15,"target":27},{"source":15,"target":3},{"source":15,"target":28},{"source":28,"target":29},{"source":28,"target":15},{"source":29,"target":8},{"source":4,"target":30},{"source":4,"target":31},{"source":4,"target":32},{"source":4,"target":33},{"source":4,"target":34},{"source":4,"target":35},{"source":4,"target":36},{"source":4,"target":37},{"source":4,"target":38},{"source":4,"target":39},{"source":4,"target":40},{"source":4,"target":41},{"source":4,"target":42},{"source":4,"target":43},{"source":4,"target":44},{"source":4,"target":45},{"source":4,"target":46},{"source":4,"target":47},{"source":4,"target":2},{"source":30,"target":4},{"source":30,"target":31},{"source":30,"target":48},{"source":30,"target":49},{"source":30,"target":50},{"source":48,"target":30},{"source":48,"target":51},{"source":51,"target":52},{"source":51,"target":48},{"source":49,"target":30},{"source":49,"target":53},{"source":53,"target":54},{"source":53,"target":49},{"source":50,"target":31},{"source":31,"target":4},{"source":31,"target":55},{"source":55,"target":32},{"source":55,"target":56},{"source":55,"target":31},{"source":55,"target":57},{"source":56,"target":32},{"source":57,"target":58},{"source":57,"target":55},{"source":32,"target":4},{"source":32,"target":59},{"source":59,"target":60},{"source":59,"target":32},{"source":33,"target":4},{"source":33,"target":34},{"source":33,"target":61},{"source":33,"target":62},{"source":33,"target":63},{"source":33,"target":64},{"source":33,"target":65},{"source":33,"target":66},{"source":61,"target":67},{"source":61,"target":33},{"source":61,"target":68},{"source":68,"target":69},{"source":68,"target":61},{"source":62,"target":35},{"source":62,"target":70},{"source":62,"target":33},{"source":62,"target":71},{"source":62,"target":72},{"source":62,"target":73},{"source":62,"target":74},{"source":70,"target":35},{"source":71,"target":75},{"source":71,"target":62},{"source":72,"target":76},{"source":72,"target":62},{"source":73,"target":36},{"source":73,"target":77},{"source":73,"target":62},{"source":77,"target":36},{"source":74,"target":78},{"source":74,"target":62},{"source":63,"target":79},{"source":63,"target":33},{"source":63,"target":80},{"source":80,"target":35},{"source":80,"target":81},{"source":80,"target":63},{"source":81,"target":35},{"source":64,"target":39},{"source":64,"target":82},{"source":64,"target":33},{"source":64,"target":83},{"source":64,"target":84},{"source":64,"target":85},{"source":64,"target":86},{"source":64,"target":87},{"source":64,"target":88},{"source":64,"target":89},{"source":64,"target":90},{"source":82,"target":39},{"source":83,"target":91},{"source":83,"target":64},{"source":84,"target":92},{"source":84,"target":64},{"source":85,"target":93},{"source":85,"target":64},{"source":86,"target":38},{"source":86,"target":94},{"source":86,"target":64},{"source":94,"target":38},{"source":87,"target":95},{"source":87,"target":64},{"source":88,"target":35},{"source":88,"target":96},{"source":88,"target":64},{"source":96,"target":35},{"source":89,"target":97},{"source":89,"target":64},{"source":90,"target":98},{"source":90,"target":64},{"source":65,"target":40},{"source":65,"target":99},{"source":65,"target":33},{"source":65,"target":100},{"source":65,"target":101},{"source":65,"target":102},{"source":65,"target":103},{"source":65,"target":104},{"source":65,"target":105},{"source":65,"target":106},{"source":65,"target":107},{"source":99,"target":40},{"source":100,"target":108},{"source":100,"target":65},{"source":101,"target":109},{"source":101,"target":65},{"source":102,"target":110},{"source":102,"target":65},{"source":103,"target":38},{"source":103,"target":111},{"source":103,"target":65},{"source":111,"target":38},{"source":104,"target":112},{"source":104,"target":65},{"source":105,"target":35},{"source":105,"target":113},{"source":105,"target":65},{"source":113,"target":35},{"source":106,"target":114},{"source":106,"target":65},{"source":107,"target":115},{"source":107,"target":65},{"source":66,"target":34},{"source":34,"target":4},{"source":34,"target":116},{"source":34,"target":117},{"source":34,"target":118},{"source":34,"target":119},{"source":34,"target":120},{"source":34,"target":121},{"source":34,"target":122},{"source":34,"target":123},{"source":34,"target":124},{"source":34,"target":125},{"source":34,"target":126},{"source":34,"target":127},{"source":34,"target":128},{"source":34,"target":129},{"source":116,"target":35},{"source":116,"target":130},{"source":116,"target":34},{"source":130,"target":35},{"source":117,"target":34},{"source":117,"target":131},{"source":117,"target":132},{"source":131,"target":32},{"source":131,"target":133},{"source":131,"target":117},{"source":133,"target":32},{"source":132,"target":134},{"source":132,"target":117},{"source":118,"target":34},{"source":118,"target":135},{"source":118,"target":136},{"source":135,"target":137},{"source":135,"target":118},{"source":136,"target":138},{"source":136,"target":118},{"source":119,"target":37},{"source":119,"target":139},{"source":119,"target":34},{"source":139,"target":37},{"source":120,"target":34},{"source":120,"target":140},{"source":120,"target":141},{"source":140,"target":32},{"source":140,"target":142},{"source":140,"target":120},{"source":142,"target":32},{"source":141,"target":143},{"source":141,"target":120},{"source":121,"target":34},{"source":121,"target":144},{"source":121,"target":145},{"source":144,"target":146},{"source":144,"target":121},{"source":145,"target":147},{"source":145,"target":121},{"source":122,"target":34},{"source":122,"target":148},{"source":148,"target":149},{"source":148,"target":122},{"source":123,"target":150},{"source":123,"target":34},{"source":150,"target":151},{"source":150,"target":152},{"source":151,"target":35},{"source":124,"target":153},{"source":124,"target":34},{"source":124,"target":154},{"source":154,"target":35},{"source":154,"target":155},{"source":154,"target":124},{"source":155,"target":35},{"source":125,"target":37},{"source":125,"target":156},{"source":125,"target":34},{"source":125,"target":157},{"source":156,"target":37},{"source":157,"target":158},{"source":157,"target":125},{"source":126,"target":35},{"source":126,"target":159},{"source":126,"target":34},{"source":126,"target":160},{"source":159,"target":35},{"source":160,"target":161},{"source":160,"target":126},{"source":127,"target":39},{"source":127,"target":162},{"source":127,"target":34},{"source":162,"target":39},{"source":128,"target":40},{"source":128,"target":163},{"source":128,"target":34},{"source":163,"target":40},{"source":129,"target":34},{"source":129,"target":164},{"source":129,"target":165},{"source":164,"target":37},{"source":164,"target":166},{"source":164,"target":129},{"source":166,"target":37},{"source":165,"target":167},{"source":165,"target":129},{"source":35,"target":4},{"source":35,"target":168},{"source":35,"target":169},{"source":35,"target":170},{"source":35,"target":171},{"source":168,"target":172},{"source":168,"target":35},{"source":169,"target":173},{"source":169,"target":35},{"source":170,"target":36},{"source":170,"target":174},{"source":170,"target":35},{"source":174,"target":36},{"source":171,"target":175},{"source":171,"target":35},{"source":36,"target":4},{"source":37,"target":4},{"source":37,"target":176},{"source":37,"target":177},{"source":37,"target":178},{"source":37,"target":179},{"source":37,"target":180},{"source":37,"target":181},{"source":37,"target":182},{"source":37,"target":183},{"source":37,"target":184},{"source":37,"target":185},{"source":37,"target":186},{"source":37,"target":187},{"source":176,"target":37},{"source":176,"target":188},{"source":188,"target":32},{"source":188,"target":189},{"source":188,"target":176},{"source":189,"target":32},{"source":177,"target":37},{"source":177,"target":190},{"source":190,"target":32},{"source":190,"target":191},{"source":190,"target":177},{"source":191,"target":32},{"source":178,"target":37},{"source":179,"target":192},{"source":179,"target":37},{"source":180,"target":193},{"source":180,"target":37},{"source":181,"target":194},{"source":181,"target":37},{"source":182,"target":195},{"source":182,"target":37},{"source":183,"target":196},{"source":183,"target":37},{"source":184,"target":197},{"source":184,"target":37},{"source":185,"target":32},{"source":185,"target":198},{"source":185,"target":37},{"source":198,"target":32},{"source":186,"target":35},{"source":186,"target":199},{"source":186,"target":37},{"source":199,"target":35},{"source":187,"target":38},{"source":187,"target":200},{"source":187,"target":37},{"source":200,"target":38},{"source":38,"target":4},{"source":39,"target":4},{"source":39,"target":37},{"source":39,"target":201},{"source":39,"target":202},{"source":39,"target":203},{"source":201,"target":204},{"source":201,"target":39},{"source":202,"target":205},{"source":202,"target":39},{"source":203,"target":37},{"source":40,"target":4},{"source":40,"target":37},{"source":40,"target":206},{"source":40,"target":207},{"source":40,"target":208},{"source":206,"target":209},{"source":206,"target":40},{"source":207,"target":210},{"source":207,"target":40},{"source":208,"target":37},{"source":41,"target":4},{"source":41,"target":34},{"source":41,"target":211},{"source":41,"target":212},{"source":41,"target":213},{"source":41,"target":214},{"source":211,"target":42},{"source":211,"target":215},{"source":211,"target":41},{"source":215,"target":42},{"source":212,"target":43},{"source":212,"target":216},{"source":212,"target":41},{"source":216,"target":43},{"source":213,"target":31},{"source":213,"target":217},{"source":213,"target":41},{"source":217,"target":31},{"source":214,"target":34},{"source":42,"target":4},{"source":42,"target":3},{"source":42,"target":218},{"source":42,"target":219},{"source":42,"target":220},{"source":42,"target":221},{"source":42,"target":222},{"source":218,"target":39},{"source":218,"target":223},{"source":218,"target":42},{"source":223,"target":39},{"source":219,"target":40},{"source":219,"target":224},{"source":219,"target":42},{"source":224,"target":40},{"source":220,"target":39},{"source":220,"target":225},{"source":220,"target":42},{"source":220,"target":226},{"source":225,"target":39},{"source":226,"target":227},{"source":226,"target":220},{"source":221,"target":40},{"source":221,"target":228},{"source":221,"target":42},{"source":221,"target":229},{"source":228,"target":40},{"source":229,"target":230},{"source":229,"target":221},{"source":222,"target":231},{"source":222,"target":232},{"source":222,"target":3},{"source":231,"target":37},{"source":43,"target":4},{"source":43,"target":3},{"source":43,"target":233},{"source":233,"target":234},{"source":233,"target":235},{"source":233,"target":3},{"source":234,"target":35},{"source":44,"target":4},{"source":44,"target":31},{"source":44,"target":236},{"source":44,"target":237},{"source":236,"target":45},{"source":236,"target":238},{"source":236,"target":44},{"source":238,"target":45},{"source":237,"target":31},{"source":45,"target":4},{"source":45,"target":3},{"source":45,"target":239},{"source":239,"target":240},{"source":239,"target":241},{"source":239,"target":3},{"source":240,"target":32},{"source":46,"target":4},{"source":46,"target":41},{"source":46,"target":33},{"source":46,"target":242},{"source":46,"target":243},{"source":242,"target":41},{"source":243,"target":33},{"source":47,"target":4},{"source":47,"target":44},{"source":47,"target":30},{"source":47,"target":244},{"source":47,"target":245},{"source":244,"target":44},{"source":245,"target":30},{"source":5,"target":246},{"source":5,"target":247},{"source":5,"target":248},{"source":5,"target":249},{"source":5,"target":250},{"source":5,"target":251},{"source":5,"target":252},{"source":5,"target":253},{"source":5,"target":254},{"source":5,"target":255},{"source":5,"target":256},{"source":5,"target":257},{"source":5,"target":258},{"source":5,"target":259},{"source":5,"target":260},{"source":5,"target":261},{"source":5,"target":262},{"source":5,"target":263},{"source":5,"target":264},{"source":5,"target":265},{"source":5,"target":266},{"source":5,"target":267},{"source":5,"target":268},{"source":5,"target":269},{"source":5,"target":270},{"source":5,"target":271},{"source":5,"target":272},{"source":5,"target":2},{"source":246,"target":5},{"source":246,"target":273},{"source":273,"target":247},{"source":273,"target":274},{"source":273,"target":246},{"source":273,"target":275},{"source":274,"target":247},{"source":275,"target":276},{"source":275,"target":273},{"source":247,"target":5},{"source":247,"target":277},{"source":247,"target":278},{"source":247,"target":279},{"source":247,"target":280},{"source":277,"target":281},{"source":277,"target":247},{"source":277,"target":282},{"source":282,"target":283},{"source":282,"target":277},{"source":278,"target":284},{"source":278,"target":247},{"source":279,"target":285},{"source":279,"target":247},{"source":280,"target":248},{"source":280,"target":286},{"source":280,"target":247},{"source":286,"target":248},{"source":248,"target":5},{"source":248,"target":287},{"source":248,"target":288},{"source":248,"target":289},{"source":248,"target":290},{"source":248,"target":291},{"source":287,"target":292},{"source":287,"target":248},{"source":288,"target":293},{"source":288,"target":248},{"source":289,"target":294},{"source":289,"target":248},{"source":290,"target":295},{"source":290,"target":296},{"source":290,"target":248},{"source":296,"target":295},{"source":291,"target":297},{"source":291,"target":248},{"source":249,"target":5},{"source":249,"target":247},{"source":249,"target":298},{"source":249,"target":299},{"source":298,"target":300},{"source":298,"target":249},{"source":299,"target":247},{"source":250,"target":5},{"source":250,"target":247},{"source":250,"target":301},{"source":250,"target":302},{"source":301,"target":303},{"source":301,"target":250},{"source":302,"target":247},{"source":251,"target":5},{"source":251,"target":3},{"source":251,"target":304},{"source":304,"target":305},{"source":304,"target":306},{"source":304,"target":3},{"source":305,"target":247},{"source":252,"target":5},{"source":252,"target":246},{"source":252,"target":307},{"source":252,"target":308},{"source":307,"target":251},{"source":307,"target":309},{"source":307,"target":252},{"source":309,"target":251},{"source":308,"target":246},{"source":253,"target":5},{"source":253,"target":310},{"source":253,"target":311},{"source":253,"target":312},{"source":253,"target":313},{"source":253,"target":314},{"source":253,"target":315},{"source":253,"target":316},{"source":253,"target":317},{"source":253,"target":318},{"source":253,"target":319},{"source":253,"target":320},{"source":253,"target":321},{"source":253,"target":322},{"source":253,"target":323},{"source":253,"target":324},{"source":253,"target":325},{"source":253,"target":326},{"source":310,"target":253},{"source":310,"target":327},{"source":327,"target":247},{"source":327,"target":328},{"source":327,"target":310},{"source":328,"target":247},{"source":311,"target":253},{"source":311,"target":329},{"source":329,"target":253},{"source":329,"target":330},{"source":329,"target":311},{"source":330,"target":253},{"source":312,"target":253},{"source":312,"target":331},{"source":331,"target":254},{"source":331,"target":332},{"source":331,"target":312},{"source":332,"target":254},{"source":313,"target":253},{"source":314,"target":253},{"source":314,"target":333},{"source":333,"target":254},{"source":333,"target":334},{"source":333,"target":314},{"source":334,"target":254},{"source":315,"target":253},{"source":315,"target":335},{"source":335,"target":253},{"source":335,"target":336},{"source":335,"target":315},{"source":336,"target":253},{"source":316,"target":253},{"source":317,"target":337},{"source":317,"target":253},{"source":318,"target":253},{"source":318,"target":338},{"source":338,"target":247},{"source":338,"target":339},{"source":338,"target":318},{"source":339,"target":247},{"source":319,"target":340},{"source":319,"target":253},{"source":320,"target":341},{"source":320,"target":253},{"source":321,"target":342},{"source":321,"target":253},{"source":322,"target":343},{"source":322,"target":253},{"source":323,"target":254},{"source":323,"target":344},{"source":323,"target":253},{"source":344,"target":254},{"source":324,"target":247},{"source":324,"target":345},{"source":324,"target":253},{"source":345,"target":247},{"source":325,"target":295},{"source":325,"target":346},{"source":325,"target":253},{"source":346,"target":295},{"source":326,"target":253},{"source":326,"target":347},{"source":326,"target":253},{"source":347,"target":253},{"source":254,"target":5},{"source":254,"target":348},{"source":254,"target":349},{"source":254,"target":350},{"source":254,"target":351},{"source":348,"target":352},{"source":348,"target":254},{"source":349,"target":353},{"source":349,"target":254},{"source":350,"target":354},{"source":350,"target":254},{"source":351,"target":255},{"source":351,"target":355},{"source":351,"target":254},{"source":355,"target":255},{"source":255,"target":5},{"source":255,"target":356},{"source":255,"target":357},{"source":255,"target":358},{"source":356,"target":359},{"source":356,"target":255},{"source":357,"target":360},{"source":357,"target":255},{"source":358,"target":361},{"source":358,"target":255},{"source":256,"target":5},{"source":256,"target":253},{"source":256,"target":362},{"source":256,"target":363},{"source":362,"target":364},{"source":362,"target":365},{"source":362,"target":256},{"source":365,"target":364},{"source":363,"target":253},{"source":257,"target":5},{"source":257,"target":366},{"source":257,"target":367},{"source":257,"target":368},{"source":257,"target":369},{"source":257,"target":370},{"source":257,"target":371},{"source":257,"target":372},{"source":257,"target":373},{"source":257,"target":374},{"source":257,"target":375},{"source":257,"target":376},{"source":366,"target":253},{"source":366,"target":377},{"source":366,"target":257},{"source":366,"target":378},{"source":377,"target":253},{"source":378,"target":379},{"source":378,"target":366},{"source":367,"target":256},{"source":367,"target":380},{"source":367,"target":257},{"source":367,"target":381},{"source":380,"target":256},{"source":381,"target":364},{"source":381,"target":382},{"source":381,"target":367},{"source":382,"target":364},{"source":368,"target":257},{"source":368,"target":383},{"source":368,"target":384},{"source":368,"target":385},{"source":383,"target":253},{"source":383,"target":386},{"source":383,"target":368},{"source":386,"target":253},{"source":384,"target":387},{"source":384,"target":368},{"source":385,"target":255},{"source":385,"target":388},{"source":385,"target":368},{"source":388,"target":255},{"source":369,"target":257},{"source":369,"target":389},{"source":369,"target":390},{"source":389,"target":253},{"source":389,"target":391},{"source":389,"target":369},{"source":391,"target":253},{"source":390,"target":253},{"source":390,"target":392},{"source":390,"target":369},{"source":392,"target":253},{"source":370,"target":257},{"source":370,"target":393},{"source":370,"target":394},{"source":393,"target":247},{"source":393,"target":395},{"source":393,"target":370},{"source":395,"target":247},{"source":394,"target":253},{"source":394,"target":396},{"source":394,"target":370},{"source":396,"target":253},{"source":371,"target":257},{"source":371,"target":397},{"source":397,"target":253},{"source":397,"target":398},{"source":397,"target":371},{"source":398,"target":253},{"source":372,"target":399},{"source":372,"target":257},{"source":372,"target":400},{"source":372,"target":401},{"source":372,"target":402},{"source":372,"target":403},{"source":400,"target":253},{"source":400,"target":404},{"source":400,"target":372},{"source":404,"target":253},{"source":401,"target":405},{"source":401,"target":372},{"source":402,"target":258},{"source":402,"target":406},{"source":402,"target":372},{"source":406,"target":258},{"source":403,"target":259},{"source":403,"target":407},{"source":403,"target":372},{"source":407,"target":259},{"source":373,"target":253},{"source":373,"target":408},{"source":373,"target":257},{"source":373,"target":409},{"source":408,"target":253},{"source":409,"target":295},{"source":409,"target":410},{"source":409,"target":373},{"source":410,"target":295},{"source":374,"target":256},{"source":374,"target":411},{"source":374,"target":257},{"source":374,"target":412},{"source":374,"target":413},{"source":411,"target":256},{"source":412,"target":295},{"source":412,"target":414},{"source":412,"target":374},{"source":414,"target":295},{"source":413,"target":364},{"source":413,"target":415},{"source":413,"target":374},{"source":415,"target":364},{"source":375,"target":253},{"source":375,"target":416},{"source":375,"target":257},{"source":375,"target":417},{"source":416,"target":253},{"source":417,"target":295},{"source":417,"target":418},{"source":417,"target":375},{"source":418,"target":295},{"source":376,"target":253},{"source":376,"target":419},{"source":376,"target":257},{"source":376,"target":420},{"source":419,"target":253},{"source":420,"target":295},{"source":420,"target":421},{"source":420,"target":376},{"source":421,"target":295},{"source":258,"target":5},{"source":258,"target":422},{"source":258,"target":423},{"source":422,"target":424},{"source":422,"target":258},{"source":422,"target":425},{"source":422,"target":426},{"source":422,"target":427},{"source":422,"target":428},{"source":422,"target":429},{"source":422,"target":430},{"source":422,"target":431},{"source":425,"target":432},{"source":425,"target":422},{"source":426,"target":433},{"source":426,"target":422},{"source":427,"target":434},{"source":427,"target":422},{"source":428,"target":435},{"source":428,"target":422},{"source":429,"target":436},{"source":429,"target":422},{"source":430,"target":437},{"source":430,"target":422},{"source":431,"target":438},{"source":431,"target":422},{"source":423,"target":439},{"source":423,"target":258},{"source":423,"target":440},{"source":423,"target":441},{"source":423,"target":442},{"source":423,"target":443},{"source":423,"target":444},{"source":423,"target":445},{"source":440,"target":446},{"source":440,"target":423},{"source":441,"target":447},{"source":441,"target":423},{"source":442,"target":448},{"source":442,"target":423},{"source":443,"target":449},{"source":443,"target":423},{"source":444,"target":450},{"source":444,"target":423},{"source":445,"target":451},{"source":445,"target":423},{"source":259,"target":5},{"source":259,"target":452},{"source":259,"target":453},{"source":259,"target":454},{"source":259,"target":455},{"source":452,"target":456},{"source":452,"target":259},{"source":452,"target":457},{"source":452,"target":458},{"source":452,"target":459},{"source":452,"target":460},{"source":452,"target":461},{"source":452,"target":462},{"source":452,"target":463},{"source":457,"target":295},{"source":457,"target":464},{"source":457,"target":452},{"source":464,"target":295},{"source":458,"target":465},{"source":458,"target":452},{"source":459,"target":466},{"source":459,"target":452},{"source":460,"target":467},{"source":460,"target":452},{"source":461,"target":468},{"source":461,"target":452},{"source":462,"target":469},{"source":462,"target":452},{"source":463,"target":258},{"source":463,"target":470},{"source":463,"target":452},{"source":470,"target":258},{"source":453,"target":260},{"source":453,"target":471},{"source":453,"target":259},{"source":453,"target":472},{"source":471,"target":260},{"source":472,"target":295},{"source":472,"target":473},{"source":472,"target":453},{"source":473,"target":295},{"source":454,"target":260},{"source":454,"target":474},{"source":454,"target":259},{"source":454,"target":475},{"source":474,"target":260},{"source":475,"target":476},{"source":475,"target":454},{"source":455,"target":477},{"source":455,"target":259},{"source":455,"target":478},{"source":455,"target":479},{"source":478,"target":295},{"source":478,"target":480},{"source":478,"target":455},{"source":480,"target":295},{"source":479,"target":258},{"source":479,"target":481},{"source":479,"target":455},{"source":481,"target":258},{"source":260,"target":5},{"source":260,"target":482},{"source":260,"target":483},{"source":260,"target":484},{"source":260,"target":485},{"source":260,"target":486},{"source":260,"target":487},{"source":482,"target":488},{"source":482,"target":260},{"source":483,"target":489},{"source":483,"target":260},{"source":484,"target":490},{"source":484,"target":260},{"source":485,"target":491},{"source":485,"target":260},{"source":486,"target":492},{"source":486,"target":260},{"source":487,"target":295},{"source":487,"target":493},{"source":487,"target":260},{"source":493,"target":295},{"source":261,"target":5},{"source":261,"target":257},{"source":261,"target":494},{"source":261,"target":495},{"source":261,"target":496},{"source":494,"target":262},{"source":494,"target":497},{"source":494,"target":261},{"source":497,"target":262},{"source":495,"target":498},{"source":495,"target":499},{"source":495,"target":261},{"source":499,"target":498},{"source":496,"target":257},{"source":262,"target":5},{"source":262,"target":3},{"source":262,"target":500},{"source":262,"target":501},{"source":262,"target":502},{"source":500,"target":256},{"source":500,"target":503},{"source":500,"target":262},{"source":500,"target":504},{"source":503,"target":256},{"source":504,"target":364},{"source":504,"target":505},{"source":504,"target":500},{"source":505,"target":364},{"source":501,"target":253},{"source":501,"target":506},{"source":501,"target":262},{"source":501,"target":507},{"source":506,"target":253},{"source":507,"target":295},{"source":507,"target":508},{"source":507,"target":501},{"source":508,"target":295},{"source":502,"target":509},{"source":502,"target":510},{"source":502,"target":3},{"source":509,"target":253},{"source":263,"target":5},{"source":263,"target":258},{"source":263,"target":511},{"source":511,"target":258},{"source":264,"target":5},{"source":264,"target":3},{"source":264,"target":512},{"source":264,"target":513},{"source":512,"target":260},{"source":512,"target":514},{"source":512,"target":264},{"source":512,"target":515},{"source":514,"target":260},{"source":515,"target":516},{"source":515,"target":512},{"source":513,"target":517},{"source":513,"target":518},{"source":513,"target":3},{"source":517,"target":260},{"source":265,"target":5},{"source":265,"target":259},{"source":265,"target":519},{"source":265,"target":520},{"source":519,"target":264},{"source":519,"target":521},{"source":519,"target":265},{"source":521,"target":264},{"source":520,"target":259},{"source":266,"target":5},{"source":266,"target":267},{"source":266,"target":522},{"source":266,"target":523},{"source":522,"target":268},{"source":522,"target":524},{"source":522,"target":266},{"source":524,"target":268},{"source":523,"target":267},{"source":267,"target":5},{"source":267,"target":525},{"source":267,"target":526},{"source":525,"target":255},{"source":525,"target":527},{"source":525,"target":267},{"source":527,"target":255},{"source":526,"target":255},{"source":526,"target":528},{"source":526,"target":267},{"source":526,"target":529},{"source":528,"target":255},{"source":529,"target":530},{"source":529,"target":526},{"source":268,"target":5},{"source":268,"target":3},{"source":268,"target":531},{"source":531,"target":532},{"source":531,"target":533},{"source":531,"target":3},{"source":532,"target":255},{"source":269,"target":5},{"source":269,"target":267},{"source":269,"target":534},{"source":269,"target":535},{"source":269,"target":536},{"source":534,"target":255},{"source":534,"target":537},{"source":534,"target":269},{"source":534,"target":538},{"source":534,"target":539},{"source":537,"target":255},{"source":538,"target":540},{"source":538,"target":534},{"source":539,"target":541},{"source":539,"target":534},{"source":535,"target":269},{"source":535,"target":542},{"source":542,"target":255},{"source":542,"target":543},{"source":542,"target":535},{"source":543,"target":255},{"source":536,"target":267},{"source":270,"target":5},{"source":270,"target":266},{"source":270,"target":269},{"source":270,"target":544},{"source":270,"target":545},{"source":544,"target":266},{"source":545,"target":269},{"source":271,"target":5},{"source":271,"target":246},{"source":271,"target":546},{"source":271,"target":547},{"source":271,"target":548},{"source":271,"target":549},{"source":271,"target":550},{"source":271,"target":551},{"source":271,"target":552},{"source":546,"target":271},{"source":546,"target":553},{"source":546,"target":554},{"source":553,"target":247},{"source":553,"target":555},{"source":553,"target":546},{"source":555,"target":247},{"source":554,"target":295},{"source":554,"target":556},{"source":554,"target":546},{"source":556,"target":295},{"source":547,"target":247},{"source":547,"target":557},{"source":547,"target":271},{"source":547,"target":558},{"source":547,"target":559},{"source":547,"target":560},{"source":557,"target":247},{"source":558,"target":561},{"source":558,"target":547},{"source":559,"target":562},{"source":559,"target":547},{"source":560,"target":563},{"source":560,"target":547},{"source":548,"target":247},{"source":548,"target":564},{"source":548,"target":271},{"source":548,"target":565},{"source":548,"target":566},{"source":548,"target":567},{"source":564,"target":247},{"source":565,"target":568},{"source":565,"target":548},{"source":566,"target":569},{"source":566,"target":548},{"source":567,"target":570},{"source":567,"target":548},{"source":549,"target":271},{"source":549,"target":571},{"source":549,"target":572},{"source":549,"target":573},{"source":549,"target":574},{"source":549,"target":575},{"source":571,"target":247},{"source":571,"target":576},{"source":571,"target":549},{"source":576,"target":247},{"source":572,"target":577},{"source":572,"target":549},{"source":573,"target":578},{"source":573,"target":549},{"source":574,"target":295},{"source":574,"target":579},{"source":574,"target":549},{"source":579,"target":295},{"source":575,"target":580},{"source":575,"target":549},{"source":550,"target":271},{"source":550,"target":581},{"source":550,"target":582},{"source":581,"target":247},{"source":581,"target":583},{"source":581,"target":550},{"source":583,"target":247},{"source":582,"target":584},{"source":582,"target":550},{"source":551,"target":271},{"source":551,"target":585},{"source":551,"target":586},{"source":551,"target":587},{"source":585,"target":247},{"source":585,"target":588},{"source":585,"target":551},{"source":588,"target":247},{"source":586,"target":589},{"source":586,"target":551},{"source":587,"target":590},{"source":587,"target":551},{"source":552,"target":246},{"source":272,"target":5},{"source":272,"target":252},{"source":272,"target":271},{"source":272,"target":591},{"source":272,"target":592},{"source":591,"target":252},{"source":592,"target":271},{"source":6,"target":593},{"source":6,"target":594},{"source":6,"target":364},{"source":6,"target":595},{"source":6,"target":596},{"source":6,"target":597},{"source":6,"target":498},{"source":6,"target":598},{"source":6,"target":599},{"source":6,"target":600},{"source":6,"target":601},{"source":6,"target":602},{"source":6,"target":295},{"source":6,"target":2},{"source":593,"target":6},{"source":593,"target":295},{"source":593,"target":603},{"source":593,"target":604},{"source":593,"target":605},{"source":603,"target":606},{"source":603,"target":593},{"source":604,"target":607},{"source":604,"target":593},{"source":605,"target":295},{"source":594,"target":6},{"source":594,"target":295},{"source":594,"target":608},{"source":594,"target":609},{"source":594,"target":610},{"source":594,"target":611},{"source":608,"target":612},{"source":608,"target":594},{"source":609,"target":613},{"source":609,"target":594},{"source":610,"target":614},{"source":610,"target":594},{"source":611,"target":295},{"source":364,"target":6},{"source":364,"target":615},{"source":364,"target":616},{"source":364,"target":617},{"source":364,"target":618},{"source":364,"target":619},{"source":364,"target":620},{"source":364,"target":621},{"source":364,"target":622},{"source":364,"target":623},{"source":364,"target":624},{"source":364,"target":625},{"source":364,"target":626},{"source":364,"target":627},{"source":364,"target":628},{"source":615,"target":364},{"source":615,"target":629},{"source":629,"target":595},{"source":629,"target":630},{"source":629,"target":615},{"source":630,"target":595},{"source":616,"target":364},{"source":616,"target":631},{"source":631,"target":595},{"source":631,"target":632},{"source":631,"target":616},{"source":632,"target":595},{"source":617,"target":597},{"source":617,"target":633},{"source":617,"target":364},{"source":633,"target":597},{"source":618,"target":594},{"source":618,"target":634},{"source":618,"target":364},{"source":634,"target":594},{"source":619,"target":635},{"source":619,"target":364},{"source":620,"target":636},{"source":620,"target":364},{"source":621,"target":637},{"source":621,"target":364},{"source":622,"target":638},{"source":622,"target":364},{"source":623,"target":639},{"source":623,"target":364},{"source":624,"target":35},{"source":624,"target":640},{"source":624,"target":364},{"source":640,"target":35},{"source":625,"target":595},{"source":625,"target":641},{"source":625,"target":364},{"source":641,"target":595},{"source":626,"target":295},{"source":626,"target":642},{"source":626,"target":364},{"source":642,"target":295},{"source":627,"target":596},{"source":627,"target":643},{"source":627,"target":364},{"source":643,"target":596},{"source":628,"target":644},{"source":628,"target":364},{"source":595,"target":6},{"source":595,"target":645},{"source":595,"target":646},{"source":595,"target":647},{"source":595,"target":648},{"source":645,"target":649},{"source":645,"target":595},{"source":646,"target":650},{"source":646,"target":595},{"source":647,"target":651},{"source":647,"target":595},{"source":648,"target":595},{"source":648,"target":652},{"source":648,"target":595},{"source":652,"target":595},{"source":596,"target":6},{"source":596,"target":653},{"source":596,"target":654},{"source":596,"target":655},{"source":596,"target":656},{"source":596,"target":657},{"source":653,"target":658},{"source":653,"target":596},{"source":654,"target":597},{"source":654,"target":659},{"source":654,"target":596},{"source":659,"target":597},{"source":655,"target":594},{"source":655,"target":660},{"source":655,"target":596},{"source":660,"target":594},{"source":656,"target":37},{"source":656,"target":661},{"source":656,"target":596},{"source":661,"target":37},{"source":657,"target":662},{"source":657,"target":596},{"source":597,"target":6},{"source":597,"target":663},{"source":597,"target":664},{"source":597,"target":665},{"source":663,"target":666},{"source":663,"target":597},{"source":664,"target":667},{"source":664,"target":597},{"source":665,"target":668},{"source":665,"target":597},{"source":498,"target":6},{"source":498,"target":669},{"source":498,"target":670},{"source":498,"target":671},{"source":498,"target":672},{"source":498,"target":673},{"source":498,"target":674},{"source":498,"target":675},{"source":498,"target":676},{"source":498,"target":677},{"source":498,"target":678},{"source":498,"target":679},{"source":498,"target":680},{"source":498,"target":681},{"source":498,"target":682},{"source":498,"target":683},{"source":498,"target":684},{"source":498,"target":685},{"source":498,"target":686},{"source":498,"target":687},{"source":498,"target":688},{"source":498,"target":689},{"source":498,"target":690},{"source":669,"target":364},{"source":669,"target":691},{"source":669,"target":498},{"source":669,"target":692},{"source":669,"target":693},{"source":691,"target":364},{"source":692,"target":694},{"source":692,"target":669},{"source":693,"target":695},{"source":693,"target":669},{"source":670,"target":364},{"source":670,"target":696},{"source":670,"target":498},{"source":670,"target":697},{"source":670,"target":698},{"source":670,"target":699},{"source":696,"target":364},{"source":697,"target":700},{"source":697,"target":670},{"source":698,"target":701},{"source":698,"target":670},{"source":699,"target":295},{"source":699,"target":702},{"source":699,"target":670},{"source":702,"target":295},{"source":671,"target":364},{"source":671,"target":703},{"source":671,"target":498},{"source":671,"target":704},{"source":703,"target":364},{"source":704,"target":295},{"source":704,"target":705},{"source":704,"target":671},{"source":705,"target":295},{"source":672,"target":37},{"source":672,"target":706},{"source":672,"target":498},{"source":672,"target":707},{"source":672,"target":708},{"source":706,"target":37},{"source":707,"target":709},{"source":707,"target":672},{"source":708,"target":710},{"source":708,"target":672},{"source":673,"target":37},{"source":673,"target":711},{"source":673,"target":498},{"source":673,"target":712},{"source":673,"target":713},{"source":673,"target":714},{"source":711,"target":37},{"source":712,"target":715},{"source":712,"target":673},{"source":713,"target":716},{"source":713,"target":673},{"source":714,"target":35},{"source":714,"target":717},{"source":714,"target":673},{"source":717,"target":35},{"source":674,"target":718},{"source":674,"target":498},{"source":674,"target":719},{"source":674,"target":720},{"source":718,"target":721},{"source":718,"target":722},{"source":721,"target":35},{"source":719,"target":723},{"source":719,"target":674},{"source":720,"target":724},{"source":720,"target":674},{"source":675,"target":725},{"source":675,"target":498},{"source":675,"target":726},{"source":675,"target":727},{"source":675,"target":728},{"source":726,"target":729},{"source":726,"target":675},{"source":727,"target":730},{"source":727,"target":675},{"source":728,"target":35},{"source":728,"target":731},{"source":728,"target":675},{"source":731,"target":35},{"source":676,"target":364},{"source":676,"target":732},{"source":676,"target":498},{"source":676,"target":733},{"source":676,"target":734},{"source":676,"target":735},{"source":676,"target":736},{"source":732,"target":364},{"source":733,"target":737},{"source":733,"target":676},{"source":734,"target":738},{"source":734,"target":676},{"source":735,"target":295},{"source":735,"target":739},{"source":735,"target":676},{"source":739,"target":295},{"source":736,"target":35},{"source":736,"target":740},{"source":736,"target":676},{"source":740,"target":35},{"source":677,"target":364},{"source":677,"target":741},{"source":677,"target":498},{"source":677,"target":742},{"source":677,"target":743},{"source":677,"target":744},{"source":677,"target":745},{"source":741,"target":364},{"source":742,"target":746},{"source":742,"target":677},{"source":743,"target":747},{"source":743,"target":677},{"source":744,"target":295},{"source":744,"target":748},{"source":744,"target":677},{"source":748,"target":295},{"source":745,"target":37},{"source":745,"target":749},{"source":745,"target":677},{"source":749,"target":37},{"source":678,"target":750},{"source":678,"target":498},{"source":678,"target":751},{"source":678,"target":752},{"source":678,"target":753},{"source":751,"target":754},{"source":751,"target":678},{"source":752,"target":755},{"source":752,"target":678},{"source":753,"target":756},{"source":753,"target":678},{"source":679,"target":498},{"source":679,"target":757},{"source":679,"target":758},{"source":757,"target":364},{"source":757,"target":759},{"source":757,"target":679},{"source":759,"target":364},{"source":758,"target":37},{"source":758,"target":760},{"source":758,"target":679},{"source":760,"target":37},{"source":680,"target":498},{"source":680,"target":761},{"source":680,"target":762},{"source":761,"target":364},{"source":761,"target":763},{"source":761,"target":680},{"source":763,"target":364},{"source":762,"target":594},{"source":762,"target":764},{"source":762,"target":680},{"source":764,"target":594},{"source":681,"target":765},{"source":681,"target":498},{"source":681,"target":766},{"source":681,"target":767},{"source":681,"target":768},{"source":766,"target":769},{"source":766,"target":681},{"source":767,"target":770},{"source":767,"target":681},{"source":768,"target":35},{"source":768,"target":771},{"source":768,"target":681},{"source":771,"target":35},{"source":682,"target":364},{"source":682,"target":772},{"source":682,"target":498},{"source":682,"target":773},{"source":772,"target":364},{"source":773,"target":774},{"source":773,"target":682},{"source":683,"target":498},{"source":683,"target":775},{"source":775,"target":364},{"source":775,"target":776},{"source":775,"target":683},{"source":776,"target":364},{"source":684,"target":364},{"source":684,"target":777},{"source":684,"target":498},{"source":684,"target":778},{"source":777,"target":364},{"source":778,"target":779},{"source":778,"target":684},{"source":685,"target":780},{"source":685,"target":498},{"source":685,"target":781},{"source":685,"target":782},{"source":685,"target":783},{"source":781,"target":364},{"source":781,"target":784},{"source":781,"target":685},{"source":784,"target":364},{"source":782,"target":785},{"source":782,"target":685},{"source":783,"target":786},{"source":783,"target":685},{"source":686,"target":597},{"source":686,"target":787},{"source":686,"target":498},{"source":686,"target":788},{"source":686,"target":789},{"source":787,"target":597},{"source":788,"target":364},{"source":788,"target":790},{"source":788,"target":686},{"source":790,"target":364},{"source":789,"target":791},{"source":789,"target":686},{"source":687,"target":498},{"source":687,"target":792},{"source":687,"target":793},{"source":792,"target":364},{"source":792,"target":794},{"source":792,"target":687},{"source":794,"target":364},{"source":793,"target":597},{"source":793,"target":795},{"source":793,"target":687},{"source":795,"target":597},{"source":688,"target":796},{"source":688,"target":498},{"source":796,"target":797},{"source":796,"target":798},{"source":797,"target":364},{"source":798,"target":799},{"source":799,"target":597},{"source":689,"target":498},{"source":689,"target":800},{"source":689,"target":801},{"source":800,"target":364},{"source":800,"target":802},{"source":800,"target":689},{"source":802,"target":364},{"source":801,"target":803},{"source":801,"target":689},{"source":690,"target":498},{"source":690,"target":804},{"source":804,"target":364},{"source":804,"target":805},{"source":804,"target":690},{"source":805,"target":364},{"source":598,"target":6},{"source":598,"target":498},{"source":598,"target":806},{"source":598,"target":807},{"source":598,"target":808},{"source":806,"target":599},{"source":806,"target":809},{"source":806,"target":598},{"source":809,"target":599},{"source":807,"target":34},{"source":807,"target":810},{"source":807,"target":598},{"source":810,"target":34},{"source":808,"target":498},{"source":599,"target":6},{"source":599,"target":3},{"source":599,"target":811},{"source":599,"target":812},{"source":599,"target":813},{"source":599,"target":814},{"source":599,"target":815},{"source":599,"target":816},{"source":599,"target":817},{"source":599,"target":818},{"source":811,"target":364},{"source":811,"target":819},{"source":811,"target":599},{"source":811,"target":820},{"source":819,"target":364},{"source":820,"target":295},{"source":820,"target":821},{"source":820,"target":811},{"source":821,"target":295},{"source":812,"target":364},{"source":812,"target":822},{"source":812,"target":599},{"source":812,"target":823},{"source":812,"target":824},{"source":822,"target":364},{"source":823,"target":825},{"source":823,"target":812},{"source":824,"target":826},{"source":824,"target":812},{"source":813,"target":364},{"source":813,"target":827},{"source":813,"target":599},{"source":813,"target":828},{"source":813,"target":829},{"source":813,"target":830},{"source":827,"target":364},{"source":828,"target":831},{"source":828,"target":813},{"source":829,"target":832},{"source":829,"target":813},{"source":830,"target":295},{"source":830,"target":833},{"source":830,"target":813},{"source":833,"target":295},{"source":814,"target":599},{"source":815,"target":599},{"source":816,"target":599},{"source":817,"target":364},{"source":817,"target":834},{"source":817,"target":599},{"source":817,"target":835},{"source":817,"target":836},{"source":817,"target":837},{"source":834,"target":364},{"source":835,"target":838},{"source":835,"target":817},{"source":836,"target":839},{"source":836,"target":817},{"source":837,"target":840},{"source":837,"target":817},{"source":818,"target":841},{"source":818,"target":842},{"source":818,"target":3},{"source":841,"target":364},{"source":600,"target":6},{"source":600,"target":843},{"source":600,"target":844},{"source":600,"target":845},{"source":600,"target":846},{"source":600,"target":847},{"source":600,"target":848},{"source":600,"target":849},{"source":843,"target":594},{"source":843,"target":850},{"source":843,"target":600},{"source":843,"target":851},{"source":843,"target":852},{"source":850,"target":594},{"source":851,"target":853},{"source":851,"target":843},{"source":852,"target":854},{"source":852,"target":843},{"source":844,"target":593},{"source":844,"target":855},{"source":844,"target":600},{"source":844,"target":856},{"source":855,"target":593},{"source":856,"target":857},{"source":856,"target":844},{"source":845,"target":593},{"source":845,"target":858},{"source":845,"target":600},{"source":845,"target":859},{"source":858,"target":593},{"source":859,"target":860},{"source":859,"target":845},{"source":846,"target":594},{"source":846,"target":861},{"source":846,"target":600},{"source":846,"target":862},{"source":861,"target":594},{"source":862,"target":863},{"source":862,"target":846},{"source":847,"target":594},{"source":847,"target":864},{"source":847,"target":600},{"source":847,"target":865},{"source":847,"target":866},{"source":847,"target":867},{"source":847,"target":868},{"source":847,"target":869},{"source":864,"target":594},{"source":865,"target":870},{"source":865,"target":847},{"source":866,"target":871},{"source":866,"target":847},{"source":867,"target":872},{"source":867,"target":847},{"source":868,"target":873},{"source":868,"target":847},{"source":869,"target":874},{"source":869,"target":847},{"source":848,"target":593},{"source":848,"target":875},{"source":848,"target":600},{"source":848,"target":876},{"source":848,"target":877},{"source":848,"target":878},{"source":848,"target":879},{"source":875,"target":593},{"source":876,"target":880},{"source":876,"target":848},{"source":877,"target":881},{"source":877,"target":848},{"source":878,"target":882},{"source":878,"target":848},{"source":879,"target":883},{"source":879,"target":848},{"source":849,"target":295},{"source":849,"target":884},{"source":849,"target":600},{"source":849,"target":885},{"source":884,"target":295},{"source":885,"target":886},{"source":885,"target":849},{"source":601,"target":6},{"source":601,"target":600},{"source":601,"target":887},{"source":601,"target":888},{"source":887,"target":602},{"source":887,"target":889},{"source":887,"target":601},{"source":889,"target":602},{"source":888,"target":600},{"source":602,"target":6},{"source":602,"target":3},{"source":602,"target":890},{"source":602,"target":891},{"source":602,"target":892},{"source":602,"target":893},{"source":602,"target":894},{"source":890,"target":594},{"source":890,"target":895},{"source":890,"target":602},{"source":890,"target":896},{"source":890,"target":897},{"source":895,"target":594},{"source":896,"target":898},{"source":896,"target":890},{"source":897,"target":899},{"source":897,"target":890},{"source":891,"target":593},{"source":891,"target":900},{"source":891,"target":602},{"source":891,"target":901},{"source":900,"target":593},{"source":901,"target":902},{"source":901,"target":891},{"source":892,"target":593},{"source":892,"target":903},{"source":892,"target":602},{"source":892,"target":904},{"source":903,"target":593},{"source":904,"target":905},{"source":904,"target":892},{"source":893,"target":594},{"source":893,"target":906},{"source":893,"target":602},{"source":893,"target":907},{"source":906,"target":594},{"source":907,"target":908},{"source":907,"target":893},{"source":894,"target":909},{"source":894,"target":910},{"source":894,"target":3},{"source":909,"target":295},{"source":295,"target":6},{"source":295,"target":911},{"source":295,"target":912},{"source":295,"target":913},{"source":295,"target":914},{"source":911,"target":915},{"source":911,"target":295},{"source":912,"target":916},{"source":912,"target":295},{"source":913,"target":917},{"source":913,"target":295},{"source":914,"target":918},{"source":914,"target":295}],"multigraph":true}