<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
    <!-- ========================================================= -->
    <!-- ======================== Defaults ======================= -->
    <!-- ========================================================= -->
    <title>Entity of an Apache OFBiz Component</title>
    <description>None</description>
    <version>1.0</version>
    <!-- ========================================================= -->
    <!-- ======================== Data Model ===================== -->
    <!-- The modules in this file are as follows:          -->
    <!--  org.ofbiz.accounting.payment -->
    <!-- ========================================================= -->


    <!-- ========================================================= -->
    <!-- org.ofbiz.accounting.payment -->
    <!-- ========================================================= -->
    <entity entity-name="OldValueLinkFulfillment" table-name="VALUE_LINK_FULFILLMENT"
            package-name="org.ofbiz.accounting.payment"
            title="Value Link Fulfillment History">
      <field name="fulfillmentId" type="id-ne"></field>
      <field name="typeEnumId" type="id-ne"></field>
      <field name="merchantId" type="id-vlong-ne"></field>
      <field name="partyId" type="id-ne"></field>
      <field name="orderId" type="id-ne"></field>
      <field name="orderItemSeqId" type="id-ne"></field>
      <field name="surveyResponseId" type="id-ne"></field>
      <field name="cardNumber" type="short-varchar"></field>
      <field name="pinNumber" type="short-varchar"></field>
      <field name="amount" type="currency-amount"></field>
      <field name="responseCode" type="short-varchar"></field>
      <field name="referenceNum" type="short-varchar"></field>
      <field name="authCode" type="short-varchar"></field>
      <field name="fulfillmentDate" type="date-time"></field>
      <prim-key field="fulfillmentId"/>
      <relation type="one" fk-name="VL_FILL_ENUM" rel-entity-name="Enumeration">
          <key-map field-name="typeEnumId" rel-field-name="enumId"/>
      </relation>
      <relation type="one" fk-name="VL_FILL_PARTY" rel-entity-name="Party">
          <key-map field-name="partyId"/>
      </relation>
      <relation type="one" fk-name="VL_FILL_ODRH" rel-entity-name="OrderHeader">
          <key-map field-name="orderId"/>
      </relation>
      <relation type="one" fk-name="VL_FILL_ODRI" rel-entity-name="OrderItem">
          <key-map field-name="orderId"/>
          <key-map field-name="orderItemSeqId"/>
      </relation>
      <relation type="one" fk-name="VL_FILL_SURVY" rel-entity-name="SurveyResponse">
          <key-map field-name="surveyResponseId"/>
      </relation>
    </entity>
    <entity entity-name="OldPartyRate" table-name="PARTY_RATE"
            package-name="org.ofbiz.workeffort.timesheet"
            title="Party Rate Entity">
      <field name="partyId" type="id-ne"></field>
      <field name="rateTypeId" type="id-ne"></field>
      <field name="currencyUomId" type="id-ne"/>
      <field name="defaultRate" type="indicator"></field>
      <field name="fromDate" type="date-time"></field>
      <field name="thruDate" type="date-time"></field>
      <field name="rate" type="currency-amount"></field>
      <prim-key field="partyId"/>
      <prim-key field="rateTypeId"/>
      <prim-key field="currencyUomId"/>
      <prim-key field="fromDate"/>
      <relation type="one" fk-name="OPRTY_RTE_PRTY" rel-entity-name="Party">
            <key-map field-name="partyId"/>
          </relation>
      <relation type="one" fk-name="OPRTY_RTE_RTTP" rel-entity-name="RateType">
            <key-map field-name="rateTypeId"/>
          </relation>
      <relation type="one" fk-name="OPARTY_RATE_CUOM" title="Currency" rel-entity-name="Uom">
            <key-map field-name="currencyUomId" rel-field-name="uomId"/>
          </relation>
    </entity>
</entitymodel>
