CREATE CLASS Account
CREATE PROPERTY Account.Status INTEGER
ALTER PROPERTY Account.Status MANDATORY true
ALTER PROPERTY Account.Status NOTNULL true
CREATE INDEX Account.Status ON Account (Status) NOTUNIQUE_HASH_INDEX
CREATE CLASS ListStatistics
CREATE PROPERTY ListStatistics.NumActiveContacts INTEGER
ALTER PROPERTY ListStatistics.NumActiveContacts MANDATORY true
ALTER PROPERTY ListStatistics.NumActiveContacts NOTNULL true
CREATE PROPERTY ListStatistics.NumContacts INTEGER
ALTER PROPERTY ListStatistics.NumContacts MANDATORY true
ALTER PROPERTY ListStatistics.NumContacts NOTNULL true
CREATE CLASS EntityInfo
CREATE PROPERTY EntityInfo.State INTEGER
ALTER PROPERTY EntityInfo.State MANDATORY true
ALTER PROPERTY EntityInfo.State NOTNULL true
CREATE INDEX EntityInfo.State ON EntityInfo (State) NOTUNIQUE_HASH_INDEX
CREATE CLASS ContactList
CREATE PROPERTY ContactList.Name STRING
ALTER PROPERTY ContactList.Name MANDATORY true
ALTER PROPERTY ContactList.Name COLLATE ci
CREATE INDEX ContactList.Name ON ContactList (Name) UNIQUE_HASH_INDEX
CREATE PROPERTY ContactList.Account LINK Account
CREATE PROPERTY ContactList.Statistics LINK ListStatistics
CREATE PROPERTY ContactList.EntityInfo EMBEDDED EntityInfo
CREATE CLASS Contact
CREATE PROPERTY Contact.Status INTEGER
ALTER PROPERTY Contact.Status MANDATORY true
ALTER PROPERTY Contact.Status NOTNULL true
CREATE INDEX Contact.Status ON Contact (Status) NOTUNIQUE_HASH_INDEX
CREATE PROPERTY Contact.EmailAddress STRING
ALTER PROPERTY Contact.EmailAddress MANDATORY true
CREATE PROPERTY Contact.OwnedBy LINK ContactList
CREATE PROPERTY Contact.EntityInfo EMBEDDED EntityInfo