<?xml version="1.0" encoding="ISO-8859-1"?>
<objectModel xmlns="http://www.codelutin.org/lutingenerator/objectModel" name="NeoGia" version="">
  <comment>there is only one with valueForPlanification==true</comment>
  <comment>There is only one routing valid for a minimumQuantity </comment>
  <comment>InventoryFacility</comment>
  <comment>How the configId is manage ?</comment>
  <class name="Facility" extern="true" package="org.neogia.facility.location.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.facility.location.entities.ProductFacility" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStoreFacility" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalogInvFacility" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="FacilityPurpose" extern="true" package="org.neogia.facility.location.entities">
    <stereotype name="entity"/>
    <stereotype name="enumeration"/>
    <tagValue name="gui" value="dropDown"/>
    <attribute name="BACKFLUSH" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="FAC_P_BACKFLUSH"/>
    </attribute>
    <attribute name="ORDER" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="FAC_P_ORDER"/>
    </attribute>
    <attribute name="REWORK" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="FAC_P_REWORK"/>
    </attribute>
    <attribute name="SHIPMENT" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="FAC_P_SHIPMENT"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStoreFacility" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="ProductFacility" extern="true" package="org.neogia.facility.location.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <participant name="org.neogia.facility.location.entities.Facility" attribute=""/>
  </associationClass>
  <class name="Inventory" extern="true" package="org.neogia.facility.inventory.entities">
    <stereotype name="entity"/>
    <attribute visibility="protected" associationClass="org.neogia.facility.inventory.entities.InventoryProduct" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="InventoryProduct" extern="true" package="org.neogia.facility.inventory.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.facility.inventory.entities.Inventory" attribute=""/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
  </associationClass>
  <class name="Routing" extern="true" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.ProductRouting" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <associationClass name="ProductRouting" extern="true" package="org.neogia.manufacturing.techdata.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <participant name="org.neogia.manufacturing.techdata.entities.Routing" attribute=""/>
  </associationClass>
  <class name="WRun" extern="true" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <attribute name="component" visibility="protected" associationClass="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="RunComponent" extern="true" package="org.neogia.manufacturing.jobshopmgt.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <participant name="org.neogia.manufacturing.jobshopmgt.entities.WRun" attribute="component"/>
  </associationClass>
  <class name="BudgetCode" extern="true" package="org.neogia.manufacturing.cost.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.product.price.entities.ProductPriceType" discriminator=""/>
  </class>
  <class name="MpsPPlanPeriod" extern="true" package="org.neogia.manufacturing.mps.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ForecastPPlanPeriod" extern="true" package="org.neogia.manufacturing.mps.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ForecastPlanning" extern="true" package="org.neogia.manufacturing.mps.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="MpsPlanning" extern="true" package="org.neogia.manufacturing.mps.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="PartyRole" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.product.catalog.entities.ProdCatalogRole" type="org.neogia.product.catalog.entities.ProdCatalog" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.category.entities.ProductCategoryRole" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Party" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
  </class>
  <class name="UserLogin" extern="true" package="org.neogia.party.party.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.ProductReview" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Agreement" extern="true" package="org.neogia.party.agreement.entities">
    <stereotype name="entity"/>
  </class>
  <class name="AgreementItem" extern="true" package="org.neogia.party.agreement.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.party.agreement.entities.AgreementProductAppl" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="AgreementProductAppl" extern="true" package="org.neogia.party.agreement.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.party.agreement.entities.AgreementItem" attribute=""/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
  </associationClass>
  <class name="ProdCatalog" package="org.neogia.product.catalog.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="gui" value="lookup"/>
    <attribute name="prodCatalogId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="catalogName" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="useQuickAdd" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="styleSheet" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="headerLogo" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="contentPathPrefix" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="templatePathPrefix" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalogCategory" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalogInvFacility" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.catalog.entities.ProdCatalogRole" type="org.neogia.party.party.entities.PartyRole" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.store.entities.ProductStoreCatalog" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProdCatalogCategory" package="org.neogia.product.catalog.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalog" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalogCategoryType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProdCatalogCategoryType" package="org.neogia.product.catalog.entities">
    <stereotype name="entity"/>
    <attribute name="prodCatalogCategoryTypeId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalogCategory" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProdCatalogInvFacility" package="org.neogia.product.catalog.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
    <attribute visibility="public" type="org.neogia.facility.location.entities.Facility" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalog" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="ProdCatalogRole" package="org.neogia.product.catalog.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <participant name="org.neogia.product.catalog.entities.ProdCatalog" attribute=""/>
    <participant name="org.neogia.party.party.entities.PartyRole" attribute=""/>
  </associationClass>
  <class name="ProductStore" package="org.neogia.product.store.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="prdst"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="gui" value="drop-down"/>
    <tagValue name="cache" value="true"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="productStoreId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="oneInventoryFacility" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="indicator"/>
    </attribute>
    <attribute name="storeName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description"/>
    </attribute>
    <attribute name="launchCost" associationType="composite" visibility="protected" type="double"/>
    <attribute name="stockCostCoef" associationType="composite" visibility="protected" type="double"/>
    <attribute visibility="public" associationClass="org.neogia.product.store.entities.ProductStoreCatalog" type="org.neogia.product.catalog.entities.ProdCatalog" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.ForecastPlanning" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.MpsPlanning" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.product.product.entities.ProdReqMethod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="requirementMethodEnumId"/>
      <tagValue name="relationTitle" value="RequirementMethod"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.facility.location.entities.Facility" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="inventoryFacilityId"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStoreEmailSetting" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.product.store.entities.UnitCostMngType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="unitCostMngEnumId"/>
      <tagValue name="relationTitle" value="UnitCostMngEnumId"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.shipment.shipment.entities.ShipmentCostEstimate" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.accounting.tax.entities.TaxAuthorityRateProduct" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="vatTaxAuthority" visibility="protected" type="org.neogia.accounting.tax.entities.TaxAuthority" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="vat"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStoreFacility" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.product.entities.ProductReview" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.shipment.shipment.entities.ProductStoreShipmentMeth" type="org.neogia.shipment.shipment.entities.CarrierShipmentMethod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductStoreEmailSetting" package="org.neogia.product.store.entities">
    <stereotype name="entity"/>
    <attribute name="templatePath" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="fromAddress" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="ccAddress" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="bccAddress" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="subject" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="contentType" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.EmailType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="UnitCostMngType" package="org.neogia.product.store.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="UCMT"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="PMP" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="UCMT_PMP"/>
    </attribute>
    <attribute name="LAST_PRICE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="UCMT_LAST_PRICE"/>
    </attribute>
    <attribute name="FIX_COST" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="UCMT_FIX_COST"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductStoreFacility" package="org.neogia.product.store.entities">
    <stereotype name="entity"/>
    <tagValue name="cache" value="true"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
    <attribute visibility="public" type="org.neogia.facility.location.entities.Facility" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="facilityId"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.facility.location.entities.FacilityPurpose" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="ProductStoreCatalog" package="org.neogia.product.store.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <participant name="org.neogia.product.store.entities.ProductStore" attribute=""/>
    <participant name="org.neogia.product.catalog.entities.ProdCatalog" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
  </associationClass>
  <class name="ProductPriceType" package="org.neogia.product.price.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productPriceTypeId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPrice" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductPrice" package="org.neogia.product.price.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="gui" value="list"/>
    <attribute name="productStoreGroupId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="price" associationType="composite" visibility="protected" type="double"/>
    <attribute name="createdDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="createdByUserLogin" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="lastModifiedDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="lastModifiedByUserLogin" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPriceType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="productId"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.common.uom.entities.Currency_Measure" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="currencyUomId"/>
      <tagValue name="relationTitle" value="Currency"/>
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPricePurpose" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPriceItem" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listAssoc, editAssoc"/>
    </attribute>
  </class>
  <class name="ProductPricePurpose" package="org.neogia.product.price.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productPricePurposeId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="idName"/>
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPrice" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductPriceItem" package="org.neogia.product.price.entities">
    <stereotype name="entity"/>
    <attribute name="price" associationType="composite" visibility="protected" type="double"/>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPrice" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPriceItemType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductPriceItemType" package="org.neogia.product.price.entities">
    <stereotype name="entity"/>
    <stereotype name="enumeration"/>
    <tagValue name="shortName" value="ppt"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPriceItem" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Product" package="org.neogia.product.product.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="list, edit, lookup, print"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="shortName" value="prdt"/>
    <attribute name="productId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="idName, indexed"/>
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="internalName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="derived" value="true"/>
      <tagValue name="gui" value="description, indexed"/>
    </attribute>
    <attribute name="billOfMaterialLevel" associationType="composite" visibility="protected" type="long"/>
    <attribute name="productTypeId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="createdDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="createdByUserLogin" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="lastModifiedDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="lastModifiedByUserLogin" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="productName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="indexed"/>
    </attribute>
    <attribute name="groupPeriod" associationType="composite" visibility="protected" type="int"/>
    <attribute name="groupMethod" associationType="composite" visibility="protected" type="java.lang.String"/>
    <operation name="getRouting" visibility="public">
      <returnParameter type="org.neogia.manufacturing.techdata.entities.Routing"/>
      <parameter name="quantity" type="double"/>
      <parameter name="eventDate" type="java.util.Date"/>
    </operation>
    <operation name="isBuild" visibility="public">
      <returnParameter type="boolean"/>
      <parameter name="dispatcher" type="org.ofbiz.service.LocalDispatcher"/>
    </operation>
    <attribute visibility="public" associationClass="org.neogia.facility.location.entities.ProductFacility" type="org.neogia.facility.location.entities.Facility" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" associationClass="org.neogia.facility.inventory.entities.InventoryProduct" type="org.neogia.facility.inventory.entities.Inventory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.techdata.entities.ProductRouting" type="org.neogia.manufacturing.techdata.entities.Routing" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="listEdit, editAssoc"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.manufacturing.jobshopmgt.entities.RunComponent" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="component" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.party.agreement.entities.AgreementProductAppl" type="org.neogia.party.agreement.entities.AgreementItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPrice" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.jobshopmgt.entities.WRun" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.MpsPPlanPeriod" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.manufacturing.mps.entities.ForecastPPlanPeriod" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.order.quote.entities.QuoteItem" reverseAttribute="productId" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="productId" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.accounting.invoice.entities.InvoiceItem" reverseAttribute="productId" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigStats" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="requirementMethod" visibility="protected" type="org.neogia.product.product.entities.ProdReqMethod" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="requirementMethodEnumId"/>
      <tagValue name="relationTitle" value="RequirementMethod"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.common.uom.entities.Packaging" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.requirement.entities.Requirement" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.ProductRevision" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
      <tagValue name="orderBy" value="revisionId"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.product.entities.ProductReview" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.category.entities.ProductCategoryMember" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="primaryProductCategory" visibility="protected" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="Primary"/>
      <tagValue name="ofbizAttributeName" value="primaryProductCategoryId"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.product.config.entities.ProductConfigProduct" type="org.neogia.product.config.entities.ProductConfigOption" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.config.entities.ProductConfig" type="org.neogia.product.config.entities.ProductConfigItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.feature.entities.ProductFeatureAppl" type="org.neogia.product.feature.entities.ProductFeature" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <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"/>
    <attribute name="Stock" visibility="public" type="org.neogia.common.uom.entities.Uom" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="ofbizAttributeName" value="stockUomId"/>
    </attribute>
    <attribute name="Quantity" visibility="public" type="org.neogia.common.uom.entities.Uom" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="Quantity"/>
      <tagValue name="ofbizAttributeName" value="quantityUomId"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.shipment.shipment.entities.ShipmentItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.quality.checkMeasure.entities.ProductCheckMeasure" type="org.neogia.quality.checkMeasure.entities.CheckMeasure" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered">
      <tagValue name="gui" value="editAssoc"/>
    </attribute>
  </class>
  <class name="ProdReqMethod" package="org.neogia.product.product.entities">
    <stereotype name="entity"/>
    <tagValue name="shortName" value="PROD_REQ_METHOD"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute name="NONE" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRODRQM_NONE"/>
    </attribute>
    <attribute name="AUTO" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRODRQM_AUTO"/>
    </attribute>
    <attribute name="STOCK" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRODRQM_STOCK"/>
    </attribute>
    <attribute name="MRP" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRODRQM_MRP"/>
    </attribute>
    <attribute name="MRP_PROJECT" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRODRQM_MRP_PRJ"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="requirementMethod" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductRevision" package="org.neogia.product.product.entities">
    <stereotype name="entity"/>
    <tagValue name="gui" value="edit, list, drop-down"/>
    <attribute name="revisionId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="value" value="userOrSeqHook"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="value" value="now"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="closed" associationType="composite" visibility="protected" type="boolean"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductReview" package="org.neogia.product.product.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="productReviewId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="postedAnonymous" associationType="composite" visibility="protected" type="boolean"/>
    <attribute name="postedDateTime" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="productRating" associationType="composite" visibility="protected" type="double"/>
    <attribute name="productReview" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.party.party.entities.UserLogin" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.ProductReviewStatus" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductReviewStatus" package="org.neogia.product.product.entities">
    <stereotype name="entity"/>
    <stereotype name="enumeration"/>
    <tagValue name="discriminatorValue" value="PRODUCT_REVIEW_STTS"/>
    <superclass name="org.neogia.common.status.entities.StatusItem" discriminator="statusTypeId"/>
    <attribute name="PENDING" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRR_PENDING"/>
    </attribute>
    <attribute name="APPROUVED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRR_APPROVED"/>
    </attribute>
    <attribute name="DELETED" associationType="composite" visibility="public" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="PRR_DELETED"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.product.entities.ProductReview" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductCategory" package="org.neogia.product.category.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <attribute name="productCategoryId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description"/>
    </attribute>
    <attribute name="longDescription" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description"/>
    </attribute>
    <attribute name="categoryImageUrl" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="linkOneImageUrl" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="linkTwoImageUrl" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="detailScreen" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="showInSelect" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalogCategory" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.category.entities.ProductCategoryRole" type="org.neogia.party.party.entities.PartyRole" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategoryType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategoryAttribute" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.category.entities.ProductCategoryMember" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="protected" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="primaryParentCategoryId" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="primaryParentCategoryId" visibility="protected" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="PrimaryParent"/>
      <tagValue name="ofbizAttributeName" value="primaryParentCategoryId"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="primaryProductCategory" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategoryContent" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.accounting.tax.entities.TaxAuthorityRateProduct" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.feature.entities.ProductFeatureCategoryAppl" type="org.neogia.product.feature.entities.ProductFeatureCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.feature.entities.ProductFeatureCatGrpAppl" type="org.neogia.product.feature.entities.ProductFeatureGroup" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.order.order.entities.OrderItem" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.accounting.tax.entities.TaxAuthorityCategory" type="org.neogia.accounting.tax.entities.TaxAuthority" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductCategoryContent" package="org.neogia.product.category.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="purchaseFromDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="purchaseThruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="useCountLimit" associationType="composite" visibility="protected" type="long"/>
    <attribute name="useDaysLimit" associationType="composite" visibility="protected" type="double"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategoryContentType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.content.content.entities.Content" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductCategoryType" package="org.neogia.product.category.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productCategoryTypeId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="parentTypeId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="hasTable" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategoryTypeAttr" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductCategoryAttribute" package="org.neogia.product.category.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="attrName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="attrValue" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductCategoryContentType" package="org.neogia.product.category.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="prodCategoryContentTypeId" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
      <tagValue name="gui" value="idName"/>
      <tagValue name="ofbizEntityType" value="id-ne"/>
    </attribute>
    <attribute name="parentTypeId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="hasTable" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="gui" value="description"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategoryContent" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductCategoryTypeAttr" package="org.neogia.product.category.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategoryType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="ProductCategoryRole" package="org.neogia.product.category.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <participant name="org.neogia.party.party.entities.PartyRole" attribute=""/>
    <participant name="org.neogia.product.category.entities.ProductCategory" attribute=""/>
  </associationClass>
  <associationClass name="ProductCategoryMember" package="org.neogia.product.category.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <participant name="org.neogia.product.category.entities.ProductCategory" attribute=""/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
    <attribute name="quantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="comments" associationType="composite" visibility="protected" type="java.lang.String"/>
  </associationClass>
  <class name="ProductConfigItem" package="org.neogia.product.config.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="configItemId" associationType="composite" visibility="public" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="configItemTypeId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="configItemName" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigOption" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProdConfItemContent" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.config.entities.ProductConfig" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductConfigOption" package="org.neogia.product.config.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="configOptionId" associationType="composite" visibility="public" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="configOptionName" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigOptionIactn" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigOptionIactn" reverseAttribute="productConfigOptionTo" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigConfig" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.config.entities.ProductConfigProduct" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductConfigOptionIactn" package="org.neogia.product.config.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="sequenceNum" associationType="composite" visibility="public" type="long">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="configIactnTypeId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigOption" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute name="productConfigOptionTo" visibility="protected" type="org.neogia.product.config.entities.ProductConfigOption" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProdConfItemContent" package="org.neogia.product.config.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="contentId" associationType="composite" visibility="public" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="confItemContentTypeId" associationType="composite" visibility="public" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="fromDate" associationType="composite" visibility="public" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigItem" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductConfigConfig" package="org.neogia.product.config.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="configId" associationType="composite" visibility="public" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="sequenceNum" associationType="composite" visibility="public" type="long">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.config.entities.ProductConfigOption" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductConfigStats" package="org.neogia.product.config.entities">
    <stereotype name="entity"/>
    <attribute name="configId" associationType="composite" visibility="public" type="java.lang.String">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="numOfConfs" associationType="composite" visibility="protected" type="long"/>
    <attribute name="configTypeId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="ProductConfigProduct" package="org.neogia.product.config.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <participant name="org.neogia.product.config.entities.ProductConfigOption" attribute=""/>
    <attribute name="quantity" associationType="composite" visibility="protected" type="double"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
  </associationClass>
  <associationClass name="ProductConfig" package="org.neogia.product.config.entities">
    <stereotype name="entity"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <participant name="org.neogia.product.config.entities.ProductConfigItem" attribute=""/>
    <attribute name="configTypeId" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="longDescrition" associationType="composite" visibility="protected" type="java.lang.String"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
  </associationClass>
  <class name="ProductFeature" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productFeatureId" 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="numberSpecified" associationType="composite" visibility="protected" type="double">
      <tagValue name="ofbizEntityType" value="floating-point"/>
    </attribute>
    <attribute name="defaultAmount" associationType="composite" visibility="protected" type="double">
      <tagValue name="ofbizEntityType" value="currency-amount"/>
    </attribute>
    <attribute name="defaultSequenceNum" associationType="composite" visibility="protected" type="long"/>
    <attribute name="abbrev" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id"/>
    </attribute>
    <attribute name="idCode" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.feature.entities.ProductFeatureAppl" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.feature.entities.ProductFeatureGroupAppl" type="org.neogia.product.feature.entities.ProductFeatureGroup" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.common.uom.entities.Uom" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductFeatureType" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productFeatureTypeId" 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="boolean"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="description"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeature" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureType" reverseAttribute="parent" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="parent" visibility="protected" type="org.neogia.product.feature.entities.ProductFeatureType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="Parent"/>
      <tagValue name="ofbizAttributeName" value="parentTypeId"/>
    </attribute>
  </class>
  <class name="ProductFeatureCategory" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productFeatureCategoryId" 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 visibility="public" type="org.neogia.product.feature.entities.ProductFeature" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureCategory" reverseAttribute="parent" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="parent" visibility="protected" type="org.neogia.product.feature.entities.ProductFeatureCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="Parent"/>
      <tagValue name="ofbizAttributeName" value="parentCategoryId"/>
    </attribute>
    <attribute visibility="public" associationClass="org.neogia.product.feature.entities.ProductFeatureCategoryAppl" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductFeatureApplType" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productFeatureApplTypeId" 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="boolean"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="description"/>
    </attribute>
    <attribute name="OPTIONAL" associationType="composite" visibility="protected" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="OPTIONAL_FEATURE"/>
    </attribute>
    <attribute name="REQUIRED" associationType="composite" visibility="protected" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="REQUIRED_FEATURE"/>
    </attribute>
    <attribute name="SELECTABLE" associationType="composite" visibility="protected" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="SELECTABLE_FEATURE"/>
    </attribute>
    <attribute name="STANDARD" associationType="composite" visibility="protected" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="STANDARD_FEATURE"/>
    </attribute>
    <attribute name="DISTINGUISHING" associationType="composite" visibility="protected" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="DISTINGUISHING_FEAT"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureAppl" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureApplType" reverseAttribute="parent" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="parent" visibility="public" type="org.neogia.product.feature.entities.ProductFeatureApplType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="Parent"/>
      <tagValue name="ofbizAttributeName" value="parentTypeId"/>
    </attribute>
  </class>
  <class name="ProductFeatureApplAttr" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="attrName" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="id-long-ne"/>
    </attribute>
    <attribute name="attrValue" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="value"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureAppl" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductFeatureGroup" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productFeatureGroupId" 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 visibility="public" associationClass="org.neogia.product.feature.entities.ProductFeatureCatGrpAppl" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.product.feature.entities.ProductFeatureGroupAppl" type="org.neogia.product.feature.entities.ProductFeature" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ProductFeatureIactnType" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <attribute name="productFeatureIactnTypeId" 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="boolean"/>
    <attribute name="description" associationType="composite" visibility="protected" type="java.lang.String">
      <tagValue name="ofbizEntityType" value="description"/>
    </attribute>
    <attribute name="INCOMPATIBILITY" associationType="composite" visibility="protected" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="FEATURE_IACTN_INCOMP"/>
    </attribute>
    <attribute name="DEPENDENCIES" associationType="composite" visibility="protected" static="true" final="true" type="java.lang.String">
      <tagValue name="staticValue" value="FEATURE_IACTN_DEPEND"/>
    </attribute>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureIactnType" reverseAttribute="parent" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute name="parent" visibility="protected" type="org.neogia.product.feature.entities.ProductFeatureIactnType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered">
      <tagValue name="relationTitle" value="Parent"/>
      <tagValue name="ofbizAttributeName" value="parentTypeId"/>
    </attribute>
  </class>
  <associationClass name="ProductFeatureAppl" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <participant name="org.neogia.product.feature.entities.ProductFeature" attribute=""/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
    <attribute name="amount" associationType="composite" visibility="protected" type="double"/>
    <attribute name="recurringAmount" associationType="composite" visibility="protected" type="double"/>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureApplType" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeatureApplAttr" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </associationClass>
  <associationClass name="ProductFeatureCategoryAppl" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <participant name="org.neogia.product.feature.entities.ProductFeatureCategory" attribute=""/>
    <participant name="org.neogia.product.category.entities.ProductCategory" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
  </associationClass>
  <associationClass name="ProductFeatureCatGrpAppl" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <participant name="org.neogia.product.feature.entities.ProductFeatureGroup" attribute=""/>
    <participant name="org.neogia.product.category.entities.ProductCategory" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
  </associationClass>
  <associationClass name="ProductFeatureGroupAppl" package="org.neogia.product.feature.entities">
    <stereotype name="entity"/>
    <tagValue name="alreadyExistingOfbizEntities" value="true"/>
    <tagValue name="uniqueNameAttribute" value="true"/>
    <participant name="org.neogia.product.feature.entities.ProductFeature" attribute=""/>
    <participant name="org.neogia.product.feature.entities.ProductFeatureGroup" attribute=""/>
    <attribute name="fromDate" associationType="composite" visibility="protected" type="java.util.Date">
      <tagValue name="primaryKey" value="true"/>
    </attribute>
    <attribute name="thruDate" associationType="composite" visibility="protected" type="java.util.Date"/>
    <attribute name="sequenceNum" associationType="composite" visibility="protected" type="long"/>
  </associationClass>
  <class name="Ticket" extern="true" package="org.neogia.servicemgnt.ticket.entities">
    <stereotype name="entity"/>
  </class>
  <class name="ServiceProduct" extern="true" package="org.neogia.servicemgnt.service.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.product.product.entities.Product" discriminator="productTypeId"/>
  </class>
  <class name="CustRequest" extern="true" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <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"/>
  </class>
  <associationClass name="CustRequestProduct" extern="true" package="org.neogia.servicemgnt.request.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <participant name="org.neogia.servicemgnt.request.entities.CustRequest" attribute=""/>
  </associationClass>
  <class name="Enumeration" extern="true" package="org.neogia.common.enumeration.entities">
    <stereotype name="entity"/>
  </class>
  <class name="Currency_Measure" extern="true" package="org.neogia.common.uom.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.price.entities.ProductPrice" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Packaging" extern="true" package="org.neogia.common.uom.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Uom" extern="true" package="org.neogia.common.uom.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="Stock" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="Quantity" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.feature.entities.ProductFeature" reverseAttribute="" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="false" ordering="unordered"/>
  </class>
  <class name="StatusItem" extern="true" package="org.neogia.common.status.entities">
    <stereotype name="entity"/>
  </class>
  <class name="OrderItem" extern="true" package="org.neogia.order.order.entities">
    <stereotype name="entity"/>
    <attribute name="productId" visibility="protected" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.catalog.entities.ProdCatalog" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="EmailType" extern="true" package="org.neogia.order.order.entities">
    <stereotype name="entity"/>
    <superclass name="org.neogia.common.enumeration.entities.Enumeration" discriminator="enumTypeId"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStoreEmailSetting" 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 name="productId" visibility="protected" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="Requirement" extern="true" package="org.neogia.order.requirement.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="InvoiceItem" extern="true" package="org.neogia.accounting.invoice.entities">
    <stereotype name="entity"/>
    <attribute name="productId" visibility="protected" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="TaxAuthority" extern="true" package="org.neogia.accounting.tax.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="vatTaxAuthority" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" associationClass="org.neogia.accounting.tax.entities.TaxAuthorityCategory" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="TaxAuthorityRateProduct" extern="true" package="org.neogia.accounting.tax.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategory" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="TaxAuthorityCategory" extern="true" package="org.neogia.accounting.tax.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.product.category.entities.ProductCategory" attribute=""/>
    <participant name="org.neogia.accounting.tax.entities.TaxAuthority" attribute=""/>
  </associationClass>
  <class name="ShipmentItem" extern="true" package="org.neogia.shipment.shipment.entities">
    <stereotype name="entity"/>
    <attribute visibility="protected" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="ShipmentPackageContent" extern="true" package="org.neogia.shipment.shipment.entities">
    <stereotype name="entity"/>
  </class>
  <class name="ShipmentCostEstimate" extern="true" package="org.neogia.shipment.shipment.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="1" maxMultiplicity="1" navigable="true" ordering="unordered"/>
  </class>
  <class name="CarrierShipmentMethod" extern="true" package="org.neogia.shipment.shipment.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.shipment.shipment.entities.ProductStoreShipmentMeth" type="org.neogia.product.store.entities.ProductStore" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="ProductStoreShipmentMeth" extern="true" package="org.neogia.shipment.shipment.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.product.store.entities.ProductStore" attribute=""/>
    <participant name="org.neogia.shipment.shipment.entities.CarrierShipmentMethod" attribute=""/>
  </associationClass>
  <class name="Content" extern="true" package="org.neogia.content.content.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" type="org.neogia.product.category.entities.ProductCategoryContent" reverseAttribute="" associationType="composite" reverseMaxMultiplicity="1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <class name="CheckMeasure" extern="true" package="org.neogia.quality.checkMeasure.entities">
    <stereotype name="entity"/>
    <attribute visibility="public" associationClass="org.neogia.quality.checkMeasure.entities.ProductCheckMeasure" type="org.neogia.product.product.entities.Product" reverseAttribute="" reverseMaxMultiplicity="-1" minMultiplicity="0" maxMultiplicity="-1" navigable="true" ordering="unordered"/>
  </class>
  <associationClass name="ProductCheckMeasure" extern="true" package="org.neogia.quality.checkMeasure.entities">
    <stereotype name="entity"/>
    <participant name="org.neogia.product.product.entities.Product" attribute=""/>
    <participant name="org.neogia.quality.checkMeasure.entities.CheckMeasure" attribute=""/>
  </associationClass>
</objectModel>
