<?xml version="1.0" encoding="ISO-8859-1"?>
<objectModel xmlns="http://www.codelutin.org/lutingenerator/objectModel" name="NeoGia" version="">
  <comment> Copyright (c) 2004-2009 Neogia - www.neogia.org

       This UML schema must be considered as a program.
       This program is free software; you can redistribute it and/or modify
       it under the terms of the GNU General Public License as published by
       the Free Software Foundation; either version 2 of the License, or
       (at your option) any later version.

       All the program generated from this schema are so under the terms 
       of the GNU General Public License.


       This program is distributed in the hope that it will be useful,
       but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
</comment>
  <comment>CVS version 
1.6 OHE Complete Re-Organization and definition
1.7 OHE Cleaning some unused class
1.8 OHE TicketItem suppression and added association
              between communication and ProjectRun
1.9 OHE rename Communication to CommunicationEvent
              and put in communication sub-component
1.10 YTH Cleaning remaining unused classes
1.11 TGR Added true in the tag primarykey of timesheet
1.12 YTH Adding receipt package and entities / Deleting projectRealizer entity that is no more used
1.13 YTH Adding receipt status entity and timeSheet status entity. Adding assoc entity between projectperiod and receipt
1.14 YTH Adding TimeReceiptReport entity / Adding ReceiptType / Adding enum 
1.15 OHE added association between Receipt and TimeSheet;  completed the TimeSheet Diagram
1.16 OHE added attribute description in TimeReceiptReport; add some Tag in TimeReceiptReport-Attributes
1.17 OHE Suppression of unused classes
1.18 YTH Deleting of unused contract class
1.19 OHE add derivation from StatusItem for ReceiptStatus and TimeSheetStatus
1.20 YTH add documentNumber to receiptprimary Key / Completing some tagged values
1.21 YTH force some idName and description attributes
1.22 YTH Completing some attributes in many entities / Adding link between ServiceProduct and OrderItem
1.23 YTH Deletion of ServiceOrder entities
1.24 OHE association with String suppression (maybe poseidon's bug)
1.25 YTH Added extern stereotype to OrderItem entity
1.26 YTH Added some EditAssoc association
1.27 YTH Added new entities to ticket and receipt management packages and a link with content management system
1.28 YTH Deleted unsed class
1.29 YTH Corrected some stereotypes
1.30 OHE change cardinality from 1-* to *-* for Ticket-Content and Receipt-Content
1.31 YTH Adding Enumeration entity from common model
1.32 YTH Removing edit and show attributes from Enum and StatusItem derived entities
1.33 YTH Add billable enum to TimeSheet entity / Add ServiceRun to Content Association / Correct some TimeSheet entity attributes
1.34 YTH Change navigability between ServiceRun and ServiceRunContent
1.35 YTH Added list and listAssoc on association between TimSheet and TimeReceiptReport
1.36 YTH Entity TimeSheet attributes correction
1.37 YTH Adding association between timeSheet and CalendarWeek
1.38 YTH Modify idNumber type to long in TimeSheet entity to be ok with value tagged value
1.39 YTH Change associations between TimeSheet and TimeReceiptReport and Receipt and TimeReceiptReport to a aggregation
1.40 YTH Completed some attributes on TimeReceiptReport and Receipt enities
1.41 YTH Added class ReceiptChargeBack / Added association between receipt and PartyManResource / Rename TimeSheet entity
1.42 YTH Corrected dateFrom attribute in Receipt class
1.43 YTH Changed some primary key definition and attributes behaviour
1.44 YTH Changed primaryKey for Receipt class and added TimeReceiptReportStatus entity
1.45 YTH Correction on TimeReceiptReport and TimeReceiptReportStatus due to a stupid developer (me)
1.46 YTH Named some association extremities
1.47 YTH Corrected discrimators
1.48 YTH Corrected ticket entity attributes / Added association between Ticket and project / Added association between Ticket and product
1.49 YTH Adding association with EntityContent / Change TicketConten to TicketContentAssoc / 
             Change ServiceRunContent to ServiceRunContentAssoc / Adding new diagram in content
1.50 YTH Corrected associations between TimeReceiptReport &amp; TimeSheet &amp; TimeReceiptReport &amp; Receipt
1.51 YTH Added some shortname to enumeration entities
1.52 OHE Change discriminator name between ServiceRun and ProjectRun from derivation to null
1.53 YTH Added Warranty field to ServiceProduct
1.54 YTH Add some shortName to avoid entities creation problems with database engines other than HSQL
1.55 YTH Modify ServiceProduct primaryKey
1.56 OHE add extern stereotype for CommunicationEvent entity
1.57 YTH CVS synchronisation 
1.58 YTH Corrected timeSheet / Receipt association
1.59 YTH Removed ticketContent and EntityContent entities because unused / Added i18n tag to Receipt Type
1.60 OHE Manufacturing Entity Name change ProjectRun to WRun
1.61 BTH generation from UML model to webSite regeneration
1.62 YTH Added TicketProductPurpose entity / Change some taggedValues
1.63 YTH Version synchronisation after BTH commit
1.64 YTH Added some tagged values ofbizEntityType to improve generated interface
1.65 YTH Added association between Ticket and PartyRole
1.66 YTH Added print tagged values to timesheet, receipt and TimeReceiptReport entities in order to have some reports
1.67 YTH Corrected Associations between PartyRole and Ticket
1.68 YTH Corrected bad association Name between Ticket and PartyRole
1.69 YTH Corrected association Names
1.70 YTH Corrected association Names
1.71 YTH Corrected association Names
1.72 OHE one more correctionName Manager -&gt; manager and Submiter -&gt; submiter ; change the navigabilty
1.73 YTH Copy Ticket to CustRequest / Generalized Ticket by CustRequest / Rename associations with custRequest / Added TicketAssoc entity
 Added new ticketStatus
1.74 YTH Renamed CustRequest package to Request
1.75 YTH Corrected TicketAssoc association
1.76 OHE Correction on ticketAssoc 1-* to *-* and change association end name
1.77 YTH Corrected bad attribute type in CustRequest
1.78 OHE correction remove some gui tag for entity CustRequestxxxx
1.79 OHE Change association Class for relation between two tickets to a double compositions and put name for association end
1.80 YTH Change tag for attributes : remove tag ofbizEntityType if set to very-long or comments if gui tag is set to indexed because it cause 
                  an error in dynamicView
1.81 OHE change Product subpackage from catalog to product
1.82 YTH Change idNumber from long to String due to generators regression :-)
1.83 YTH License correction
1.84 OHE change TimeSheet hoursAmount from float to double 
1.85 YTH Rename ReceiptChargeBack to ChargeBack to be more generic
1.86 YTH Corrected error on CustRequestProductPurpose
1.87 YTH Removed stupid primary key
1.88 YTH Added link between CustRequest &amp; Requirement</comment>
  <comment>Ticket</comment>
  <comment>Poseidon zuml, ofbizNeogia version number,
it must be equal to cvs version number for controle purpose
1.4 YTH Added some tag value to be able to test neogia online Help system
1.5 YTH Added contract model / Added BigDecimal java type
1.6 YTH Added transaction between agreements and contract
1.7 OHE Change CustRequest pkName from idName to custRequestId
             Change Association fromCustRequest and ticket to PartyRole to Party
             Change attributeName contractor from one associationEnd  to the 
             opposite.
1.8 OHE add a uniqueAttributeName and attributeName correction contractor
1.9 PGA fix requirement package name
1.10 YTH fix attribute name
1.11 YTH fix license terms
1.12 YTH Change contract &lt;-&gt; agreement association from
 composition to agregation
1.13 PGO rename common.enum package to common.enumeration
1.14 YTH Change association between contract / agreement
1.15 SBA Added entities CustRequestRole, CustRequestCategory, CustRequestType 
                and StatusItem and removed association between CustRequest in order to
                integrate the CRMSFA component.
1.16 PGO remove duplicate parentTypeId in CustRequestType
1.17 YTH Move CustRequestStatus from Ticket level to CustRequest level
1.18 YTH Added some transaction on contract entities
1.19 YTh Added setDefaultAssoc tag to ContractContent entity
1.20 OHE Add ofbizAttributeName for statusId for CustRequest
1.21 OHE Re-organize CustRequest diagram, and add some entities and add some 
                attributes to CustRequest to be comptatible with ofbiz, 
1.22 OHE Add some alreadyExistingOfbizEntities tag for existing ofbiz entities</comment>
  <comment>We don't have to associate contract with product
because product is already associated to agreement ?</comment>
  <comment>Contract</comment>
  <comment>ProjectRealizer are pary who have role == ProjectRealizer</comment>
  <class name="CustRequest" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, show, edit, lookup"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="shortName" value="crqst"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="custRequestId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="mandatory" value="true"/>
      <tagValue name="value" value="nextSeqId"/>
      <tagValue name="gui" value="idName, indexed, list, listLookup"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="dateFrom" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
    </attribute>
    <attribute name="planifiedDateEnd" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list"/>
    </attribute>
    <attribute name="dateThru" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed, list, listLookup"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list"/>
      <tagValue name="ofbizEntityType" value="comment"/>
      <tagValue name="i18n" value="true"/>
    </attribute>
    <attribute name="custRequestName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="description"/>
      <tagValue name="gui" value="description,indexed,list,listLookup"/>
      <tagValue name="mandatory" value="true"/>
      <tagValue name="i18n" value="false"/>
    </attribute>
    <attribute name="priority" associationType="composite" visibility="protected" type="long"/>
    <attribute name="createdDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="custRequestDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="lastModifiedDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="responseRequiredDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="lastModifiedByUserLogin" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.party.communication.entities.CommunicationEvent" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc, list, edit"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, listAssoc, edit"/>
    </attribute>
    <attribute name="severity" visibility="protected" type="org.neogia.servicemgnt.request.entities.CustRequestSeverity" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.request.entities.CustRequestContentAssoc" type="org.neogia.content.content.entities.Content" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit, listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.Project" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.request.entities.CustRequestProduct" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute name="custRequestCat" visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequestCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="custRequestCategoryId"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.request.entities.CustRequestParty" type="org.neogia.party.party.entities.PartyRole" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="manager" visibility="protected" type="org.neogia.party.party.entities.Party" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequestStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="statusId"/>
    </attribute>
    <attribute name="fromParty" visibility="protected" type="org.neogia.party.party.entities.Party" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="from"/>
      <tagValue name="ofbizAttributeName" value="fromPartyId"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.order.requirement.entities.RequirementCustRequest" type="org.neogia.order.requirement.entities.Requirement" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.quote.entities.QuoteItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="CustRequestPriority" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="drop-down"/>
    <tagValue name="shortName" value="crqpri"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <comment>This entity must be used to
describe a priority in the 
interface.</comment>
    <attribute name="LOW" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="CRQP_LOW"/>
    </attribute>
    <attribute name="MEDIUM" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="CRQP_MEDIUM"/>
    </attribute>
    <attribute name="HIGH" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="CRQP_HIGH"/>
    </attribute>
  </class>
  <class name="CustRequestSeverity" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="drop-down"/>
    <tagValue name="shortName" value="crqsev"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="LOW" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="CRQS_LOW"/>
    </attribute>
    <attribute name="MEDIUM" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="CRQS_MEDIUM"/>
    </attribute>
    <attribute name="HIGH" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="CRQS_HIGH"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="severity" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered">
      <tagValue name="gui" value="list, edit"/>
    </attribute>
  </class>
  <class name="CustRequestProductPurpose" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="crqpp"/>
    <tagValue name="gui" value="list,drop-down,edit,show"/>
    <attribute name="purposeId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="idName,indexed,list,listLookup"/>
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description,indexed,list,listLookup"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequestProduct" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="CustRequestType" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="custRequestTypeId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="hasTable" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="indicator"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="description"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequestCategory" reverseAttribute="custRequestT" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="parent" visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequestType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="parentTypeId"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequestType" reverseAttribute="parent" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="CustRequestCategory" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="custRequestCategoryId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="description"/>
    </attribute>
    <attribute name="custRequestT" visibility="protected" type="org.neogia.servicemgnt.request.entities.CustRequestType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="custRequestTypeId"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="custRequestCat" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="CustRequestStatus" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="drop-down, lookup, show"/>
    <tagValue name="shortName" value="crqst"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="UNCONFIRMED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TCKST_UNCONFIRMED"/>
    </attribute>
    <attribute name="NEW" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TCKST_NEW"/>
    </attribute>
    <attribute name="ASSIGNED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TCKST_ASSIGNED"/>
    </attribute>
    <attribute name="RESOLVED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TCKST_RESOLVED"/>
    </attribute>
    <attribute name="REOPEN" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TCKST_REOPEN"/>
    </attribute>
    <attribute name="VERIFIED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TCKST_VERIFIED"/>
    </attribute>
    <attribute name="CLOSED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TCKST_CLOSED"/>
    </attribute>
    <attribute name="custRequestStatusId" associationType="composite" visibility="public" type="java.lang.String" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="ofbizEntityType" value="id-ne"/>
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.common.status.entities.StatusItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="CustRequestContentAssoc" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, show, lookup, drop-down, subList:Content, subEdit, Content"/>
    <tagValue name="shortName" value="crqcta"/>
    <comment>Ticket will be linked with content management</comment>
    <participant name="org.neogia.servicemgnt.request.entities.CustRequest" attribute=""/>
    <participant name="org.neogia.content.content.entities.Content" attribute=""/>
    <attribute name="dateFrom" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
    </attribute>
    <attribute name="dateThru" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="documentNumber" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName, description, indexed, list, listLookup"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
  </associationClass>
  <associationClass name="CustRequestProduct" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="crqip"/>
    <tagValue name="gui" value="edit, subList:Product, subEdit:Product"/>
    <participant name="org.neogia.servicemgnt.request.entities.CustRequest" attribute=""/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <attribute name="declarationDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="idName, description, indexed, list, listLookup"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequestProductPurpose" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </associationClass>
  <associationClass name="CustRequestParty" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <participant name="org.neogia.party.party.entities.PartyRole" attribute=""/>
    <participant name="org.neogia.servicemgnt.request.entities.CustRequest" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="public" type="java.util.Date" minMultiplicity="1" maxMultiplicity="1">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
  </associationClass>
  <class name="ServiceProduct" package="org.neogia.servicemgnt.service.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="sp"/>
    <tagValue name="gui" value="list, listAll, show, showAll, edit, lookup, drop-down"/>
    <superclass name="org.neogia.product.product.entities.Product" discriminator="productTypeId"/>
    <attribute name="estimatedDuration" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="estimatedCost" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="standardWarranty" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit, editAssoc, listAssoc"/>
    </attribute>
  </class>
  <class name="ServiceRun" package="org.neogia.servicemgnt.service.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="sr"/>
    <tagValue name="gui" value="show, showAll, list, listAll, edit, lookup"/>
    <superclass name="org.neogia.manufacturing.jobshopmgt.entities.WRun" discriminator=""/>
    <comment>derivation to say productProduced
is a ServiceProduct</comment>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.service.entities.ServiceRunContentAssoc" type="org.neogia.content.content.entities.Content" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, listAssoc"/>
    </attribute>
  </class>
  <class name="ServiceRunContentPublication" package="org.neogia.servicemgnt.service.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, drop-down, lookup"/>
    <tagValue name="shortName" value="srcp"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="PUBLISHABLE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="SRCP_PUBLISHABLE"/>
    </attribute>
    <attribute name="NOT_PUBLISHABLE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="SRCP_NOT_PUBLISHABLE"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.service.entities.ServiceRunContentAssoc" reverseAttribute="publication" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="ServiceRunContentType" package="org.neogia.servicemgnt.service.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, lookup, drop-down"/>
    <tagValue name="shortName" value="srct"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="PROCEDURE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="SRCT_PROCEDURE"/>
    </attribute>
    <attribute name="MANUAL" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="SRCT_MANUAL"/>
    </attribute>
    <attribute name="GUIDE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="SRCT_GUIDE"/>
    </attribute>
    <attribute name="NOTE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="SRCT_NOTE"/>
    </attribute>
    <attribute name="FAQ" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="SRCT_FAQ"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.service.entities.ServiceRunContentAssoc" reverseAttribute="type" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <associationClass name="ServiceRunContentAssoc" package="org.neogia.servicemgnt.service.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, lookup, subList:Content, subEdit:Content"/>
    <tagValue name="shortName" value="src"/>
    <participant name="org.neogia.servicemgnt.service.entities.ServiceRun" attribute=""/>
    <participant name="org.neogia.content.content.entities.Content" attribute=""/>
    <attribute name="documentNumber" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="idName, indexed"/>
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="publication" visibility="protected" type="org.neogia.servicemgnt.service.entities.ServiceRunContentPublication" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute name="type" visibility="protected" type="org.neogia.servicemgnt.service.entities.ServiceRunContentType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </associationClass>
  <class name="TimeSheet" package="org.neogia.servicemgnt.timeSheet.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="ts"/>
    <tagValue name="gui" value="list, show, lookup, drop-down, edit, showList,print"/>
    <attribute name="idNumber" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName, indexed, list, listLookup"/>
      <tagValue name="mandatory" value="true"/>
      <tagValue name="value" value="nextSeqId"/>
    </attribute>
    <attribute name="workDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed, list, listLookup"/>
      <tagValue name="mandatory" value="true"/>
      <tagValue name="versionned" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description, list, listLookup,indexed"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="hourAmount" associationType="composite" visibility="protected" type="double">
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="comments" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="list"/>
      <tagValue name="ofbizEntityType" value="comment"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.PartyManResource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.TimeReceiptReport" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, listAssoc, edit, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheetStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheetBilling" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.Receipt" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc, list, edit"/>
    </attribute>
  </class>
  <class name="TimeSheetStatus" package="org.neogia.servicemgnt.timeSheet.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="show, list, edit, drop-down, lookup"/>
    <tagValue name="shortName" value="tss"/>
    <superclass name="org.neogia.common.status.entities.StatusItem" discriminator="statusTypeId"/>
    <attribute name="OPEN" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TS_OPEN"/>
    </attribute>
    <attribute name="VALIDATING" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TS_VALIDATING"/>
    </attribute>
    <attribute name="VALIDATED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TS_VALIDATED"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheet" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="TimeSheetBilling" package="org.neogia.servicemgnt.timeSheet.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, lookup, drop-down"/>
    <tagValue name="shortName" value="tsb"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="BILLABLE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TSBILL_BILLABLE"/>
    </attribute>
    <attribute name="NOT_BILLABLE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TSBILL_NOT_BILLABLE"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheet" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="Receipt" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="rc"/>
    <tagValue name="gui" value="list, edit, show, lookup, drop-down,print"/>
    <tagValue name="help" value="edit, list"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
      <tagValue name="value" value="nextSeqId"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
    </attribute>
    <attribute name="dateFrom" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
    </attribute>
    <attribute name="dateThru" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="list, listLookup, indexed"/>
    </attribute>
    <attribute name="amountReceipt" associationType="composite" visibility="protected" type="double">
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="amountReceiptVAT" associationType="composite" visibility="protected" type="double"/>
    <attribute name="dateReceipt" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="comments" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="very-long"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.ReceiptStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.TimeReceiptReport" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, listAssoc, edit, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.ReceiptType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheet" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc, list,edit"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.receipt.entities.ReceiptContentAssoc" type="org.neogia.content.content.entities.Content" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit, listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.ChargeBack" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, listAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.techdata.entities.PartyManResource" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
  </class>
  <class name="ReceiptStatus" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list, show, drop-down, lookup"/>
    <tagValue name="shortName" value="rsts"/>
    <superclass name="org.neogia.common.status.entities.StatusItem" discriminator="statusTypeId"/>
    <attribute name="OPEN" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RCPT_OPEN"/>
    </attribute>
    <attribute name="VALIDATED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RCPT_VALIDATED"/>
    </attribute>
    <attribute name="VALIDATING" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RCPT_VALIDATING"/>
    </attribute>
    <attribute name="REFUSED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RCPT_REFUSED"/>
    </attribute>
    <attribute name="CHECKED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RCPT_CHECKED"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.Receipt" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="TimeReceiptReport" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="tr"/>
    <tagValue name="gui" value="list, show, edit, lookup,print"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed, idName, list, listLookup"/>
      <tagValue name="mandatory" value="true"/>
      <tagValue name="value" value="nextSeqId"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="dateReport" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed, list, listLookup"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description, list, listLookup,indexed"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheet" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="edit, editAssoc, list, listAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.Receipt" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit, listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.project.entities.ProjectPeriod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list"/>
    </attribute>
    <attribute visibility="protected" type="org.neogia.servicemgnt.receipt.entities.TimeReceiptReportStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ReceiptType" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="rcptt"/>
    <tagValue name="gui" value="showAll, show, list, listAll, edit, lookup, drop-down"/>
    <attribute name="idName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed, list, listLookup"/>
      <tagValue name="i18n" value="true"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.Receipt" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered">
      <tagValue name="gui" value="list"/>
    </attribute>
  </class>
  <class name="ChargeBack" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list, lookup, drop-down"/>
    <tagValue name="shortName" value="rchb"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="OK" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RCB_OK"/>
    </attribute>
    <attribute name="KO" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RCB_KO"/>
    </attribute>
    <attribute name="WO_VAT" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="RCB_WO_VAT"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.Receipt" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered">
      <tagValue name="gui" value="edit, list, editAssoc"/>
    </attribute>
  </class>
  <class name="TimeReceiptReportStatus" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="shortName" value="TimeReceiptReport"/>
    <superclass name="org.neogia.common.status.entities.StatusItem" discriminator="statusTypeId"/>
    <attribute name="OPEN" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TRRS_OPEN"/>
    </attribute>
    <attribute name="VALIDATING" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TRRS_VALIDATING"/>
    </attribute>
    <attribute name="VALIDATED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="TRRS_VALIDATED"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.TimeReceiptReport" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <associationClass name="ReceiptContentAssoc" package="org.neogia.servicemgnt.receipt.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, show, edit, lookup, drop-down, subList:Content, subEdit:Content"/>
    <tagValue name="shortName" value="rca"/>
    <comment>documentNumber attrinbute need to be linked
with content management system</comment>
    <participant name="org.neogia.servicemgnt.receipt.entities.Receipt" attribute=""/>
    <participant name="org.neogia.content.content.entities.Content" attribute=""/>
    <attribute name="documentNumber" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName, description, indexed, list, listLookup"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
  </associationClass>
  <class name="Ticket" package="org.neogia.servicemgnt.ticket.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list,show,edit,lookup"/>
    <tagValue name="shortName" value="ti"/>
    <superclass name="org.neogia.servicemgnt.request.entities.CustRequest" discriminator="custRequestTypeId"/>
    <attribute name="pTickets" visibility="protected" type="org.neogia.servicemgnt.ticket.entities.TicketAssoc" reverseAttribute="child" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.servicemgnt.ticket.entities.TicketAssoc" reverseAttribute="parent" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="submiter" visibility="protected" type="org.neogia.party.party.entities.Party" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="TicketAssoc" package="org.neogia.servicemgnt.ticket.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="tiass"/>
    <tagValue name="gui" value="show,edit,list,lookup"/>
    <attribute name="assocDateFrom" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="mandatory" value="true"/>
    </attribute>
    <attribute name="assocDateThru" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed,list"/>
    </attribute>
    <attribute name="reason" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="very-long"/>
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed,list,listLookup"/>
    </attribute>
    <attribute name="child" visibility="protected" type="org.neogia.servicemgnt.ticket.entities.Ticket" reverseAttribute="pTickets" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute name="parent" visibility="protected" type="org.neogia.servicemgnt.ticket.entities.Ticket" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Contract" package="org.neogia.servicemgnt.contract.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="cntrt"/>
    <tagValue name="gui" value="list,edit,lookup,print,show"/>
    <superclass name="org.neogia.manufacturing.project.entities.Project" discriminator=""/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" associationClass="org.neogia.servicemgnt.contract.entities.ContractContent" type="org.neogia.content.content.entities.Content" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="contractor" visibility="protected" type="org.neogia.party.party.entities.Party" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.order.quote.entities.Quote" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.contract.entities.ContractComposition" type="org.neogia.party.agreement.entities.Agreement" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc,listAssoc"/>
    </attribute>
  </class>
  <class name="ContractContentPurpose" package="org.neogia.servicemgnt.contract.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="ctrtcntppse"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="gui" value="list,edit,drop-down"/>
    <attribute name="contractContentPurposeId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="idName,indexed,list,listLookup"/>
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="list,listLookup,indexed"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.contract.entities.ContractContent" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <associationClass name="ContractContent" package="org.neogia.servicemgnt.contract.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="editAssoc,listAssoc,lookup"/>
    <tagValue name="setDefaultAssoc" value="Contract, Content"/>
    <participant name="org.neogia.servicemgnt.contract.entities.Contract" attribute=""/>
    <participant name="org.neogia.content.content.entities.Content" attribute=""/>
    <attribute name="validFromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="mandatory" value="true"/>
      <tagValue name="gui" value="indexed,list,listLookup"/>
    </attribute>
    <attribute name="validThruDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="gui" value="indexed, list, listLookup"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.contract.entities.ContractContentPurpose" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="lookup"/>
    </attribute>
  </associationClass>
  <associationClass name="ContractComposition" package="org.neogia.servicemgnt.contract.entities">
    <stereotype name="entity"/>
    <tagValue name="setDefaultAssoc" value="Contract, Agreement"/>
    <tagValue name="gui" value="lookup,editAssoc"/>
    <participant name="org.neogia.party.agreement.entities.Agreement" attribute=""/>
    <participant name="org.neogia.servicemgnt.contract.entities.Contract" attribute=""/>
    <attribute name="plannedDueDate" associationType="composite" visibility="protected" type="java.util.Date"/>
  </associationClass>
  <class name="Product" extern="true" package="org.neogia.product.product.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.request.entities.CustRequestProduct" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
  </class>
  <class name="Skill" extern="true" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.PartyManResource" type="org.neogia.party.party.entities.Party" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="PartyManResource" extern="true" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.manufacturing.techdata.entities.Skill" attribute=""/>
    <participant name="org.neogia.party.party.entities.Party" attribute=""/>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheet" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.Receipt" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
  </associationClass>
  <class name="WRun" extern="true" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="pjr"/>
    <tagValue name="gui" value="show"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc, listAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.TaskFulfilment" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.party.communication.entities.CommunicationEvent" reverseAttribute="" associationType="aggregate" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
  </class>
  <class name="TaskFulfilment" extern="true" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.timeSheet.entities.TimeSheet" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProjectPeriod" extern="true" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.receipt.entities.TimeReceiptReport" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered">
      <tagValue name="gui" value="edit, editAssoc, list"/>
    </attribute>
  </class>
  <class name="Project" extern="true" package="org.neogia.manufacturing.project.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
  </class>
  <class name="Party" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
    <comment>Simple association to party because
we can have contracts with every kind
of parties
It is better to have a difference with project's
association with partyRole</comment>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="manager" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="fromParty" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.servicemgnt.contract.entities.Contract" reverseAttribute="contractor" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.PartyManResource" type="org.neogia.manufacturing.techdata.entities.Skill" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.ticket.entities.Ticket" reverseAttribute="submiter" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.party.party.entities.PartyRole" type="org.neogia.party.party.entities.RoleType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="RoleType" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.party.party.entities.PartyRole" type="org.neogia.party.party.entities.Party" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="PartyRole" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.party.party.entities.RoleType" attribute=""/>
    <participant name="org.neogia.party.party.entities.Party" attribute=""/>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.request.entities.CustRequestParty" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </associationClass>
  <class name="CommunicationEvent" extern="true" package="org.neogia.party.communication.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, list"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
  </class>
  <class name="Agreement" extern="true" package="org.neogia.party.agreement.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.contract.entities.ContractComposition" type="org.neogia.servicemgnt.contract.entities.Contract" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc,listAssoc"/>
    </attribute>
  </class>
  <class name="StatusItem" extern="true" package="org.neogia.common.status.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequestStatus" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Enumeration" extern="true" package="org.neogia.common.enumeration.entities">
    <stereotype name="entity"/>
  </class>
  <class name="OrderItem" extern="true" package="org.neogia.order.order.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.service.entities.ServiceProduct" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, listAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.servicemgnt.contract.entities.Contract" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="Requirement" extern="true" package="org.neogia.order.requirement.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.order.requirement.entities.RequirementCustRequest" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="RequirementCustRequest" extern="true" package="org.neogia.order.requirement.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.order.requirement.entities.Requirement" attribute=""/>
    <participant name="org.neogia.servicemgnt.request.entities.CustRequest" attribute=""/>
  </associationClass>
  <class name="Quote" extern="true" package="org.neogia.order.quote.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.contract.entities.Contract" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.quote.entities.QuoteItem" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="QuoteItem" extern="true" package="org.neogia.order.quote.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.order.quote.entities.Quote" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Content" extern="true" package="org.neogia.content.content.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.request.entities.CustRequestContentAssoc" type="org.neogia.servicemgnt.request.entities.CustRequest" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit, listAssoc, editAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.service.entities.ServiceRunContentAssoc" type="org.neogia.servicemgnt.service.entities.ServiceRun" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit, editAssoc, listAssoc, show"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.receipt.entities.ReceiptContentAssoc" type="org.neogia.servicemgnt.receipt.entities.Receipt" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="list, edit, editAssoc, listAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.servicemgnt.contract.entities.ContractContent" type="org.neogia.servicemgnt.contract.entities.Contract" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
</objectModel>
