package module.externalAccountingIntegration.domain; valueType pt.ist.bennu.core.domain.util.Money as Money { externalizeWith { String exportAsString(); } internalizeWith importFromString(); } class ExternalAccountingIntegrationSystem { } class ExternalRequest { String interactionId; DateTime creationDate; DateTime externalRegistrationDate; } class FundAllocationRequest extends ExternalRequest { String processId; String processUrl; String payingUnitNumber; String payingAccountingUnit; Money totalValue; Boolean finalFundAllocation; String fundAllocationNumber; String operatorUsername; DateTime resultImportDate; } class CancelFundAllocationRequest extends ExternalRequest { } class ExternalRequestSyncTask extends .pt.ist.dbUtils.TaskWithExternalDbOperation { } class ExternalRequestSyncTaskMgpIST extends ExternalRequestSyncTask { } class ExternalRequestSyncTaskMgpADIST extends ExternalRequestSyncTask { } class ExternalRequestSyncTaskMgpISTID extends ExternalRequestSyncTask { } relation VirtualHostExternalAccountingIntegrationSystem { .pt.ist.bennu.core.domain.VirtualHost playsRole virtualHost { multiplicity *; } ExternalAccountingIntegrationSystem playsRole externalAccountingIntegrationSystem { multiplicity 0..1; } } relation ExternalAccountingIntegrationSystemExternalRequest { ExternalAccountingIntegrationSystem playsRole externalAccountingIntegrationSystem { multiplicity 1..1; } ExternalRequest playsRole externalRequest { multiplicity *; } } relation FundAllocationRequestCancelFundAllocationRequest { FundAllocationRequest playsRole fundAllocationRequest { multiplicity 1..1; } CancelFundAllocationRequest playsRole cancelFundAllocationRequest { multiplicity 0..1; } } relation ExternalAccountingIntegrationSystemExternalRequestPendingResult { ExternalAccountingIntegrationSystem playsRole externalAccountingIntegrationSystemFromPendingResult { multiplicity 0..1; } ExternalRequest playsRole externalRequestPendingResult { multiplicity *; } } relation ExternalAccountingIntegrationSystemExternalRequestForwardedManually { ExternalAccountingIntegrationSystem playsRole externalSystemFromManuallyForwardedProcesses { multiplicity 0..1; } ExternalRequest playsRole externalRequestForwardedManually { multiplicity *; } }