<?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>

    <extend-entity entity-name="EbayConfig">
        <field name="apiServerUrl" type="value"></field>
    </extend-entity>
    <entity entity-name="EbayProductStoreInventory"
        package-name="org.ofbiz.ebay.store"
        title="Ebay store product inventory and status of listing">
        <field name="productStoreId" type="id-ne"></field>
        <field name="facilityId" type="id-ne"></field>
        <field name="productId" type="id-ne"></field>
        <field name="folderId" type="id-ne"></field>
        <field name="ebayProductId" type="numeric"></field>
        <field name="quantityReserved" type="fixed-point"></field>
        <field name="availableToPromiseListing" type="fixed-point"></field>
        <field name="scheduled" type="fixed-point"></field>
        <field name="activeListing" type="fixed-point"></field>
        <field name="sold" type="fixed-point"></field>
        <field name="unSold" type="fixed-point"></field>
        <field name="successRatio" type="floating-point"></field>
        <field name="avgSellingPrice" type="floating-point"></field>
        <field name="reservedDate" type="date-time"></field>
        <prim-key field="productStoreId"/>
        <prim-key field="facilityId"/>
        <prim-key field="productId"/>
        <relation type="one" fk-name="EBYPSI_PRD_STRE" rel-entity-name="ProductStore">
            <key-map field-name="productStoreId"/>
        </relation>
    </entity>
    <entity entity-name="EbayProductStorePref" package-name="org.ofbiz.ebay.store"
         title="Ebay store and Preference">
        <field name="productStoreId" type="id-ne"/>
        <field name="autoPrefEnumId" type="id-ne"/>
        <field name="autoPrefJobId" type="id-ne"/>
        <field name="enabled" type="indicator"/>
        <field name="condition1" type="value"/>
        <field name="condition2" type="value"/>
        <field name="condition3" type="value"/>
        <field name="parentPrefCondId" type="id-ne"></field>
        <prim-key field="productStoreId"/>
        <prim-key field="autoPrefEnumId"/>
        <relation type="one" fk-name="EBY_STR_PREF" rel-entity-name="ProductStore">
            <key-map field-name="productStoreId"/>
        </relation>
        <relation type="one" fk-name="EBY_STR_ENUM" rel-entity-name="Enumeration">
            <key-map field-name="autoPrefEnumId" rel-field-name="enumId"/>
        </relation>
        <relation type="one" fk-name="EBY_STR_JOB" rel-entity-name="JobSandbox">
            <key-map field-name="autoPrefJobId" rel-field-name="jobId"/>
        </relation>
    </entity>
    <entity entity-name="EbayProductListing" package-name="org.ofbiz.ebay.store"
        title="eBay Product Listing">
        <field name="productListingId" type="id-ne"/>
        <field name="itemId" type="id-long"/>
        <field name="productStoreId" type="id-ne"/>
        <field name="productId" type="id-ne"/>
        <field name="userLoginId" type="id-vlong"/>
        <field name="statusId" type="id-ne"/>
        <field name="listingXml" type="very-long"/>
        <field name="startDateTime" type="date-time"/>
        <field name="endDateTime" type="date-time"/>
        <field name="autoRelisting" type="indicator"/>
        <prim-key field="productListingId"/>
        <relation type="one" fk-name="EBAY_PRODUCT" rel-entity-name="Product">
            <key-map field-name="productId"/>
        </relation>
        <relation type="one" fk-name="EBAY_STORE" rel-entity-name="ProductStore">
            <key-map field-name="productStoreId"/>
        </relation>
        <relation type="one" fk-name="EBAY_STATUS" rel-entity-name="StatusItem">
            <key-map field-name="statusId"/>
        </relation>
    </entity>
    <entity entity-name="EbayProductListingAttribute" package-name="org.ofbiz.ebay.store"
        title="eBay Product Listing">
        <field name="productListingId" type="id-ne"/>
        <field name="attrName" type="id-long-ne"/>
        <field name="attrValue" type="value"/>
        <prim-key field="productListingId"/>
        <prim-key field="attrName"/>
        <relation type="one" fk-name="EBAY_PROD_ATTR" rel-entity-name="EbayProductListing">
            <key-map field-name="productListingId"/>
        </relation>
    </entity>
    <entity entity-name="EBayLogMessagesInfo" package-name="org.ofbiz.ebay.store"
        title="eBay Log Messages Info">
        <field name="productStoreId" type="id-ne"/>
        <field name="logAck" type="name"/>
        <field name="functionName" type="name"/>
        <field name="logMessage" type="very-long"/>
        <field name="createDatetime" type="date-time"/>
        <prim-key field="productStoreId"/>
        <prim-key field="createDatetime"/>
        <relation type="one" fk-name="EBAY_ERROR_STR" rel-entity-name="ProductStore">
            <key-map field-name="productStoreId"/>
        </relation>
    </entity>
    <entity entity-name="EbayProductStorePrefCond" package-name="org.ofbiz.ebay.store">
        <field name="prefCondId" type="id-ne"/>
        <field name="acceptanceCondition" type="long-varchar"></field>
        <field name="description" type="long-varchar"></field>
        <field name="parentPrefCondId" type="id-ne"></field>
        <prim-key field="prefCondId"/>
    </entity>
    <entity entity-name="EbayUserBestOffer" package-name="org.ofbiz.ebay.store"
        title="ebay User Best Offer">
        <field name="itemId" type="value"/>
        <field name="userId" type="value"/>
        <field name="bestOfferId" type="value"/>
        <field name="productStoreId" type="id-ne"/>
        <field name="contactStatus" type="value"/>
        <prim-key field="itemId"/>
        <prim-key field="userId"/>
    </entity>
</entitymodel>
