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

<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/services.xsd">
    <description>Common Application Shared WorkEffort Services</description>
    <vendor>OFBiz</vendor>
    <version>1.0</version>

  <!-- WorkEffort services -->
    <service name="interfaceWorkEffort" default-entity-name="WorkEffort" engine="interface" location="" invoke="">
        <description>WorkEffort Entity Interface</description>
        <auto-attributes mode="IN" include="nonpk" optional="true">
            <exclude field-name="lastStatusUpdate"/>
            <exclude field-name="revisionNumber"/>
            <exclude field-name="createdDate"/>
            <exclude field-name="createdByUserLogin"/>
            <exclude field-name="lastModifiedDate"/>
            <exclude field-name="lastModifiedByUserLogin"/>
        </auto-attributes>
        <override name="workEffortName" allow-html="any"/>
        <override name="description" allow-html="any"/>
    </service>
    <service name="createWorkEffort" default-entity-name="WorkEffort" engine="simple"
        location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffort">
        <description>Create a WorkEffort Entity</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <implements service="interfaceWorkEffort"/>
        <auto-attributes mode="INOUT" include="pk" optional="true"/>
        <attribute name="quickAssignPartyId" type="String" mode="IN" optional="true"/>
        <attribute name="requirementId" type="String" mode="IN" optional="true"/>
        <attribute name="custRequestId" type="String" mode="IN" optional="true"/>
        <attribute name="communicationEventId" type="String" mode="IN" optional="true"/>
        <attribute name="webSiteId" type="String" mode="IN" optional="true"/><!-- for notification services -->
        <override name="workEffortTypeId" optional="false"/>
        <override name="workEffortName" optional="false" allow-html="any"/>
        <override name="currentStatusId" optional="false"/>
        <override name="description" allow-html="any"/>
    </service>
    <service name="createWorkEffortAndPartyAssign" default-entity-name="WorkEffort" engine="simple"
        location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortAndPartyAssign">
        <description>Create a WorkEffort Entity and assign to a party</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <implements service="interfaceWorkEffort"/>
        <auto-attributes mode="INOUT" include="pk" optional="true"/>
        <attribute name="partyId" type="String" mode="IN" optional="false"/>
        <attribute name="roleTypeId" type="String" mode="IN" optional="false"/>
        <attribute name="statusId" type="String" mode="IN" optional="false"/>
        <attribute name="quickAssignPartyId" type="String" mode="IN" optional="true"/>
        <attribute name="requirementId" type="String" mode="IN" optional="true"/>
        <attribute name="communicationEventId" type="String" mode="IN" optional="true"/>
        <override name="workEffortTypeId" optional="false"/>
        <override name="workEffortName" optional="false"/>
        <override name="currentStatusId" optional="false"/>
    </service>
    <service name="updateWorkEffort" default-entity-name="WorkEffort" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="updateWorkEffort">
        <description>Update a WorkEffort Entity</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <implements service="interfaceWorkEffort"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <attribute name="communicationEventId" type="String" mode="IN" optional="true"/>
        <attribute name="reason" type="String" mode="IN" optional="true"/>
        <attribute name="webSiteId" type="String" mode="IN" optional="true"/><!-- for notification services -->
    </service>
    <service name="deleteWorkEffort" default-entity-name="WorkEffort" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="deleteWorkEffort">
        <description>Delete a WorkEffort Entity</description>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>

    <service name="copyWorkEffort" engine="simple" auth="true" transaction-timeout="300"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="copyWorkEffort">
        <description>Copies an existing WorkEffort to a new WorkEffort.</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <attribute name="sourceWorkEffortId" mode="IN" type="String" optional="false">
            <description>The ID of the WorkEffort to copy from.</description>
        </attribute>
        <attribute name="targetWorkEffortId" mode="IN" type="String" optional="true">
            <description>The ID of the WorkEffort copy. If empty a new WorkEffort ID will be created.</description>
        </attribute>
        <attribute name="copyWorkEffortAssocs" mode="IN" type="String" optional="true">
            <description>Copy WorkEffort associations (Y/N). Only child WorkEffort associations will be copied.</description>
        </attribute>
        <attribute name="deepCopy" mode="IN" type="String" optional="true">
            <description>Copy associated WorkEfforts (Y/N). Used only when copyWorkEffortAssocs = Y.</description>
        </attribute>
        <attribute name="excludeExpiredAssocs" mode="IN" type="String" optional="true">
            <description>Exclude expired associated WorkEfforts from copying (Y/N). Used only when copyWorkEffortAssocs = Y.</description>
        </attribute>
        <attribute name="copyRelatedValues" mode="IN" type="String" optional="true">
            <description>Copy WorkEffort related values (Y/N).</description>
        </attribute>
        <attribute name="excludeExpiredRelations" mode="IN" type="String" optional="true">
            <description>Exclude expired WorkEffort related values from copying (Y/N). Used only when copyRelatedValues = Y.</description>
        </attribute>
        <attribute name="workEffortId" mode="OUT" type="String" optional="false" />
    </service>

    <service name="duplicateWorkEffort" engine="simple"
        location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="duplicateWorkEffort" auth="true">
        <description>Duplicate a Work Effort. If workEffortId is empty a new workEffortId will be generated.
            Set the statusId of the new WorkEffort to this status, otherwise, set the status to the first of the
            sequenceId of the statusTypeId</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <attribute name="workEffortId" type="String" mode="IN" optional="true"/>
        <attribute name="oldWorkEffortId" type="String" mode="IN" optional="false"/>
        <attribute name="duplicateWorkEffortAssocs" type="String" mode="IN" optional="true"/>
        <attribute name="duplicateWorkEffortContents" type="String" mode="IN" optional="true"/>
        <attribute name="duplicateWorkEffortNotes" type="String" mode="IN" optional="true"/>
        <attribute name="duplicateWorkEffortAssignmentRates" type="String" mode="IN" optional="true"/>
        <attribute name="removeWorkEffortAssocs" type="String" mode="IN" optional="true"/>
        <attribute name="removeWorkEffortContents" type="String" mode="IN" optional="true"/>
        <attribute name="removeWorkEffortNotes" type="String" mode="IN" optional="true"/>
        <attribute name="removeWorkEffortAssignmentRates" type="String" mode="IN" optional="true"/>
        <attribute name="workEffortId" type="String" mode="OUT" optional="false"/>
        <attribute name="statusId" type="String" mode="IN" optional="true"/>
    </service>

    <!-- Communication Event WorkEffort -->
    <service name="makeCommunicationEventWorkEffort" default-entity-name="WorkEffort" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="makeCommunicationEventWorkEffort" auth="true">
        <description>Make a Communication Event Workeffort and create the workeffort itself if the ID not supplied</description>
        <auto-attributes include="pk" mode="INOUT" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <attribute name="communicationEventId" type="String" mode="INOUT"/>
        <attribute name="relationDescription" type="String" mode="IN" optional="true"/>
    </service>

    <!-- WorkEffortPartyAssignment services -->
    <service name="assignPartyToWorkEffort" default-entity-name="WorkEffortPartyAssignment" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="assignPartyToWorkEffort">
        <description>Create a WorkEffortPartyAssignment Entity</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true">
            <exclude field-name="statusDateTime"/>
        </auto-attributes>
        <override name="fromDate" mode="INOUT" optional="true"/>
        <override name="statusId" optional="false"/>
    </service>
    <service name="updatePartyToWorkEffortAssignment" default-entity-name="WorkEffortPartyAssignment" engine="simple"
        location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="updatePartyToWorkEffortAssignment">
        <description>Update a WorkEffortPartyAssignment Entity</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true">
            <exclude field-name="statusDateTime"/>
        </auto-attributes>
    </service>
    <service name="deletePartyToWorkEffortAssignment" default-entity-name="WorkEffortPartyAssignment" engine="simple"
        location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="deletePartyToWorkEffortAssignment">
        <description>delete/set the thrudate on the WorkEffortPartyAssignment Entity to today</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>
    <service name="unassignPartyFromWorkEffort" default-entity-name="WorkEffortPartyAssignment" engine="entity-auto" invoke="delete">
        <description>Delete a WorkEffortPartyAssignment Entity</description>
        <permission-service service-name="workEffortGenericPermission" main-action="DELETE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>

    <service name="quickAssignPartyToWorkEffort" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="quickAssignPartyToWorkEffort">
        <description>Quick Assign Party To WorkEffort as Owner</description>
        <attribute name="workEffortId" type="String" mode="IN" optional="false"/>
        <attribute name="quickAssignPartyId" type="String" mode="IN" optional="false"/>
    </service>
    <service name="quickAssignPartyToWorkEffortWithRole" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="quickAssignPartyToWorkEffortWithRole">
        <description>Quick Assign Party To WorkEffort as Owner</description>
        <attribute name="workEffortId" type="String" mode="IN" optional="false"/>
        <attribute name="quickAssignPartyId" type="String" mode="IN" optional="false"/>
        <attribute name="roleTypeId" type="String" mode="IN" optional="false"/>
    </service>
    <service name="createWorkEffortNote" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortNote" auth="true">
        <description>Create a WorkEffort Note</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <attribute name="workEffortId" type="String" mode="IN" optional="false"/>
        <attribute name="noteInfo" type="String" mode="IN" optional="false"/>
        <attribute name="noteParty" type="String" mode="IN" optional="true"/>
        <attribute name="noteName" type="String" mode="IN" optional="true"/>
        <attribute name="internalNote" type="String" mode="IN" optional="true"/>
        <attribute name="noteId" type="String" mode="OUT" optional="false"/>
    </service>
    <service name="updateWorkEffortNote" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="updateWorkEffortNote" auth="true">
        <description>Update a WorkEffort Note</description>
        <attribute name="workEffortId" type="String" mode="IN" optional="false"/>
        <attribute name="noteId" type="String" mode="IN" optional="false"/>
        <attribute name="internalNote" type="String" mode="IN" optional="false"/>
        <attribute name="noteInfo" type="String" mode="IN" optional="true"/>
    </service>
    <!-- Services for finding Assigned WorkEfforts -->
    <service name="getWorkEffortAssignedEventsForRole" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getWorkEffortAssignedEventsForRole">
        <description>Get the active WorkEffort Events where the logged in user is assigned in the specidied role.</description>
        <attribute name="roleTypeId" type="String" mode="IN" optional="false"/>
        <attribute name="events" type="java.util.List" mode="OUT" optional="false"/>
    </service>
    <service name="getWorkEffortAssignedEventsForRoleOfAllParties" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getWorkEffortAssignedEventsForRoleOfAllParties">
        <description>Get the active WorkEffort Events in the specified role for all the parties.</description>
        <attribute name="roleTypeId" type="String" mode="IN" optional="false"/>
        <attribute name="events" type="java.util.List" mode="OUT" optional="false"/>
    </service>
    <service name="getWorkEffortAssignedTasks" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getWorkEffortAssignedTasks">
        <description>Get WorkEffort Assigned Tasks : workEffort assign to userLogin.partyId and with
            workEffortTypeId = TASK and currentStatusId not in (CAL_DECLINED, CAL_DELEGATED, CAL_COMPLETED, CAL_CANCELLED) and partyAssign.statusId != PRTYASGN_UNASSIGNED
            OR  workEffortTypeId = PROD_ORDER_TASK and currentStatusId not in (PRUN_CANCELLED, PRUN_COMPLETED, PRUN_CLOSED)</description>
        <attribute name="tasks" type="java.util.List" mode="OUT" optional="false"/>
    </service>
    <service name="getWorkEffortAssignedActivities" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getWorkEffortAssignedActivities">
        <description>Get WorkEffort Assigned Activities : workEffort assign to userLogin.partyId and with
            workEffortTypeId = ACTIVITY and currentStatusId not in (WF_COMPLETED, WF_TERMINATED, WF_ABORTED)
            and partyAssign.statusId not in (CAL_DECLINED, CAL_DELEGATED, CAL_COMPLETED, CAL_CANCELLED, PRTYASGN_UNASSIGNED)</description>
        <attribute name="activities" type="java.util.List" mode="OUT" optional="false"/>
    </service>
    <service name="getWorkEffortAssignedActivitiesByRole" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getWorkEffortAssignedActivitiesByRole">
        <description>Get WorkEffort Assigned Activities By Role : same condition as getWorkEffortAssignedActivities but on view WorkEffortPartyAssignByRole
            to be able to have all party roles</description>
        <attribute name="roleActivities" type="java.util.List" mode="OUT" optional="false"/>
    </service>
    <service name="getWorkEffortAssignedActivitiesByGroup" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getWorkEffortAssignedActivitiesByGroup">
        <description>Get WorkEffort Assigned Activities By Group : same condition as getWorkEffortAssignedActivities but on view WorkEffortPartyAssignByGroup
            to be able to have all parties associated to userLogin.partyId by PartyRelationship</description>
        <attribute name="groupActivities" type="java.util.List" mode="OUT" optional="false"/>
    </service>

    <!-- Worker services -->
    <service name="getWorkEffort" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getWorkEffort">
        <description>Get WorkEffort</description>
        <attribute name="workEffortId" type="java.lang.String" mode="INOUT" optional="true"/>
        <attribute name="currentStatusId" type="java.lang.String" mode="IN" optional="true"/>
        <attribute name="workEffort" type="org.apache.ofbiz.entity.GenericValue" mode="OUT" optional="true"/>
        <attribute name="canView" type="java.lang.Boolean" mode="OUT" optional="true"/>
        <attribute name="tryEntity" type="java.lang.Boolean" mode="OUT" optional="true"/>
        <attribute name="currentStatusItem" type="org.apache.ofbiz.entity.GenericValue" mode="OUT" optional="true"/>
        <attribute name="partyAssigns" type="java.util.Collection" mode="OUT" optional="true"/>
    </service>
    <service name="getWorkEffortEventsByPeriod" auth="true" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getWorkEffortEventsByPeriod">
        <description>Get WorkEffort Events by a period specified by periodType attribute (one of the
          java.util.Calendar field values). Return a Map with periodStart as the key and a Collection of events for that period as value
          If filterOutCanceledEvents is set to Boolean(true) then workEfforts with currentStatusId=EVENT_CANCELLED will not be returned.
          To limit the events to a particular partyId, specify the partyId.  To limit the events to a set of partyIds, specify a Collection of partyIds.
        </description>
        <attribute name="calendarType" type="String" mode="IN" optional="true">
            <description>Can be either CAL_PERSONAL or CAL_MANUFACTURING, defaults to CAL_PERSONAL. The value controls the type of work efforts
            returned. To bypass this behavior, use an invalid value (like VOID).</description>
        </attribute>
        <attribute name="partyId" type="String" mode="IN" optional="true"/>
        <attribute name="partyIds" type="java.util.Collection" mode="IN" optional="true"/>
        <attribute name="facilityId" type="String" mode="IN" optional="true"/>
        <attribute name="fixedAssetId" type="String" mode="IN" optional="true"/>
        <attribute name="workEffortTypeId" type="String" mode="IN" optional="true"/>
        <attribute name="start" type="java.sql.Timestamp" mode="IN" optional="false"/>
        <attribute name="numPeriods" type="java.lang.Integer" mode="IN" optional="false"/>
        <attribute name="periodType" type="java.lang.Integer" mode="IN" optional="false"/>
        <attribute name="filterOutCanceledEvents" type="java.lang.Boolean" mode="IN" optional="true"/>
        <attribute name="entityExprList" type="java.util.List" mode="IN" optional="true"/>
        <attribute name="periods" type="java.util.List" mode="OUT" optional="false"/>
        <attribute name="maxConcurrentEntries" type="java.lang.Integer" mode="OUT" optional="false"/>
    </service>
    <service name="removeDuplicateWorkEfforts" auth="true" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="removeDuplicateWorkEfforts">
        <description>Removes duplicate work efforts from a list of work efforts.</description>
        <attribute name="workEffortIterator" type="java.util.ListIterator" mode="IN" optional="true"/>
        <attribute name="workEfforts" type="java.util.List" mode="INOUT" optional="true"/>
    </service>
    <service name="getProductManufacturingSummaryByFacility" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="getProductManufacturingSummaryByFacility">
        <description>
            Create a map with an entry for each facility. The value is another map with information about
            the manufacturing orders running in the facility for the given product:
            incoming - incomingProductionRunList, estimatedQuantityTotal.  Shows quantity of product to be produced.
            outgoing - outgoingProductionRunList, estimatedQuantityTotal.  Shows quantity of product to be consumed.
        </description>
        <attribute name="productId" type="String" mode="IN" optional="false"/>
        <attribute name="facilityId" type="String" mode="IN" optional="true"/>
        <attribute name="summaryInByFacility" type="Map" mode="OUT" optional="false"/>
        <attribute name="summaryOutByFacility" type="Map" mode="OUT" optional="false"/>
    </service>
    <service name="createWorkEffortAssoc" default-entity-name="WorkEffortAssoc" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortAssoc">
        <description>
            Create a WorkEffort Assoc, for linking task to describe a project or
            for linking routing with its routingTasks
        </description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="fromDate" optional="true"/>
    </service>
    <service name="updateWorkEffortAssoc" default-entity-name="WorkEffortAssoc" engine="entity-auto" invoke="update">
        <description>
            Update a WorkEffort Assoc, for linking task to describe a project or
            for linking routing with its routingTasks
        </description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="removeWorkEffortAssoc" engine="entity-auto" default-entity-name="WorkEffortAssoc" invoke="delete">
        <description>
            Remove a WorkEffort Assoc, for linking task to describe a project or
            for linking routing with its routingTasks
        </description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <service name="copyWorkEffortAssocs" engine="simple" auth="true" transaction-timeout="300"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="copyWorkEffortAssocs">
        <description>Copies WorkEffortAssocs from one WorkEffort to another WorkEffort. Only child WorkEffort associations will be copied.</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <attribute name="sourceWorkEffortId" mode="IN" type="String" optional="false">
            <description>The ID of the WorkEffort to copy the associations from.</description>
        </attribute>
        <attribute name="targetWorkEffortId" mode="IN" type="String" optional="true">
            <description>The ID of the WorkEffort to copy the associations to.</description>
        </attribute>
        <attribute name="deepCopy" mode="IN" type="String" optional="true">
            <description>Copy associated WorkEfforts (Y/N).</description>
        </attribute>
        <attribute name="excludeExpiredAssocs" mode="IN" type="String" optional="true">
            <description>Exclude expired WorkEffort associations from copying (Y/N).</description>
        </attribute>
        <attribute name="copyRelatedValues" mode="IN" type="String" optional="true">
            <description>Copy WorkEffort related values (Y/N). Used only when deepCopy = Y.</description>
        </attribute>
        <attribute name="excludeExpiredRelations" mode="IN" type="String" optional="true">
            <description>Exclude expired WorkEffort related values from copying (Y/N). Used only when deepCopy = Y.</description>
        </attribute>
    </service>

    <service name="createWorkEffortAndAssoc" engine="simple" location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortAndAssoc" auth="true">
        <description>Creates a WorkEffort entity and WorkEffortAssoc</description>
        <auto-attributes include="pk" mode="INOUT" optional="true" entity-name="WorkEffort"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="WorkEffort"/>
        <auto-attributes include="pk" mode="INOUT" optional="false" entity-name="WorkEffortAssoc"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="WorkEffortAssoc"/>
        <attribute name="quickAssignPartyId" type="String" mode="IN" optional="true"/>
        <override name="workEffortIdTo" optional="true"/>
        <override name="fromDate" optional="true"/>
        <override name="currentStatusId" optional="false">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingCurrentStatusId"/>
            </type-validate>
        </override>
        <override name="workEffortName" optional="false">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingWorkEffortName"/>
            </type-validate>
        </override>
        <override name="workEffortTypeId" optional="false">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingWorkEffortTypeId"/>
            </type-validate>
        </override>
    </service>
    <service name="updateWorkEffortAndAssoc" engine="group" location="updateWorkEffortAndAssoc" invoke="" auth="true">
        <description>Creates a WorkEffort entity and WorkEffortAssoc</description>
        <auto-attributes include="pk" mode="INOUT" optional="true" entity-name="WorkEffort"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="WorkEffort"/>
        <auto-attributes include="pk" mode="INOUT" optional="true" entity-name="WorkEffortAssoc"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="WorkEffortAssoc"/>
    </service>

    <service name="createWorkEffortGoodStandard" engine="entity-auto" default-entity-name="WorkEffortGoodStandard" invoke="create">
        <description>
            Create a WorkEffort - Product Assoc, for linking WorkEffort to In or Out  Product,
            for routing it's the link between Manufactured Product with its routings
        </description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="fromDate" optional="true"/>
    </service>
    <service name="updateWorkEffortGoodStandard" engine="entity-auto" default-entity-name="WorkEffortGoodStandard" invoke="update">
        <description>
            Update a WorkEffort - Product Assoc, for linking WorkEffort to In or Out  Product,
            for routing it's the link between Manufactured Product with its routings
        </description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="removeWorkEffortGoodStandard" engine="entity-auto" default-entity-name="WorkEffortGoodStandard" invoke="delete">
        <description>Remove a WorkEffort - Product Assoc, for linking WorkEffort to In or Out  Product,
            for routing it's the link between Manufactured Product with its routings
        </description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>
    <service name="assignInventoryToWorkEffort" default-entity-name="WorkEffortInventoryAssign" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="assignInventoryToWorkEffort" auth="true">
        <description>Create or update WorkEffortInventoryAssign</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="createCommunicationEventWorkEff" engine="simple" location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="makeCommunicationEventWorkEffort" auth="true">
        <description>Creates a CommunicationEvent entity and CommunicationEventWorkEff</description>
        <auto-attributes include="pk" mode="INOUT" optional="true" entity-name="CommunicationEvent"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="CommunicationEvent"/>
        <auto-attributes include="pk" mode="INOUT" optional="true" entity-name="CommunicationEventWorkEff"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="CommunicationEventWorkEff"/>
    </service>
    <service name="updateCommunicationEventWorkEff" engine="simple" location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="updateCommunicationEventWorkEff" auth="true">
        <description>Updates CommunicationEventWorkEff</description>
        <permission-service service-name="workEffortManagerPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CommunicationEventWorkEff"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="CommunicationEventWorkEff"/>
    </service>
    <service name="deleteCommunicationEventWorkEff" engine="simple" location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="deleteCommunicationEventWorkEff" auth="true">
        <description>Deletes CommunicationEventWorkEff</description>
        <permission-service service-name="workEffortManagerPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CommunicationEventWorkEff"/>
    </service>
    <service name="createWorkEffortRequest" engine="entity-auto" default-entity-name="CustRequestWorkEffort" invoke="create" auth="true">
        <description>Creates a CustRequestWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CustRequestWorkEffort"/>
        <auto-attributes include="all" mode="IN" optional="true" entity-name="CustRequest"/>
        <override name="custRequestId" optional="false" mode="INOUT">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingCustRequestId"/>
            </type-validate>
        </override>
        <override name="description" allow-html="any"/>
    </service>
    <service name="deleteWorkEffortRequest" engine="entity-auto" default-entity-name="CustRequestWorkEffort" invoke="delete" auth="true">
        <description>Deletes a CustRequestWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CustRequestWorkEffort"/>
    </service>
    <service name="createWorkEffortRequestItemAndRequestItem" engine="group" location="createWorkEffortRequestItemAndRequestItem" invoke="" auth="true">
        <description>Creates a CustRequestItem entity and CustRequestItemWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CustRequestItemWorkEffort"/>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CustRequestItem"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="CustRequestItem"/>
        <attribute name="custRequestItemExists" type="java.lang.String" mode="OUT" optional="true"/>
    </service>
    <service name="createWorkEffortRequestItem" engine="entity-auto" invoke="create" auth="true">
        <description>Creates a CustRequestItemWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CustRequestItemWorkEffort"/>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CustRequestItem"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="CustRequestItem"/>
        <attribute name="custRequestItemExists" type="java.lang.String" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortRequestItem" engine="entity-auto" invoke="delete" auth="true">
        <description>Deletes a CustRequestItemWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="CustRequestItemWorkEffort"/>
    </service>
    <service name="checkCustRequestItemExists" engine="simple" location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="checkCustRequestItemExists" auth="true">
        <description>Checks to see if a CustRequestItem exists</description>
        <auto-attributes include="pk" mode="IN" optional="true" entity-name="CustRequestItem"/>
        <attribute name="custRequestItemExists" type="java.lang.String" mode="OUT" optional="true"/>
    </service>

    <service name="createWorkEffortQuote" engine="entity-auto" default-entity-name="QuoteWorkEffort" invoke="create" auth="true">
        <description>Creates a QuoteWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="QuoteWorkEffort"/>
        <auto-attributes include="all" mode="IN" optional="true" entity-name="Quote"/>
        <override name="quoteId" optional="false" mode="INOUT">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingQuoteId"/>
            </type-validate>
        </override>
    </service>
    <service name="deleteWorkEffortQuote" default-entity-name="QuoteWorkEffort" engine="entity-auto" auth="true" invoke="delete">
        <description>Deletes a QuoteWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <service name="createWorkRequirementFulfillment" engine="entity-auto" default-entity-name="WorkRequirementFulfillment" auth="true" invoke="create">
        <description>Creates a WorkRequirementFulfillment</description>
        <auto-attributes include="pk" mode="IN" optional="true" entity-name="WorkRequirementFulfillment"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="WorkRequirementFulfillment"/>
        <auto-attributes include="all" mode="IN" optional="true" entity-name="Requirement"/>
        <override name="workEffortId" optional="false">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingWorkEffortId"/>
            </type-validate>
        </override>
        <override name="requirementTypeId" optional="false">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingRequirementTypeId"/>
            </type-validate>
        </override>
    </service>
    <service name="deleteWorkRequirementFulfillment" engine="entity-auto" default-entity-name="WorkRequirementFulfillment" auth="true" invoke="delete">
        <description>Deletes a WorkRequirementFulfillment</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="WorkRequirementFulfillment"/>
    </service>

    <service name="createShoppingListWorkEffort" engine="entity-auto" default-entity-name="ShoppingListWorkEffort" invoke="create" auth="true">
        <description>Creates a ShoppingListWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="ShoppingListWorkEffort"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="ShoppingListWorkEffort"/>
        <auto-attributes include="all" mode="IN" optional="true" entity-name="ShoppingList"/>
        <override name="shoppingListId" optional="true" mode="INOUT"/>
    </service>
    <service name="deleteShoppingListWorkEffort" engine="entity-auto" default-entity-name="ShoppingListWorkEffort" invoke="delete" auth="true">
        <description>Deletes a ShoppingListWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="ShoppingListWorkEffort"/>
    </service>

    <service name="createOrderHeaderWorkEffort" engine="entity-auto" default-entity-name="OrderHeaderWorkEffort" auth="true" invoke="create">
        <description>Creates a OrderHeaderWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false" entity-name="OrderHeaderWorkEffort"/>
        <auto-attributes include="nonpk" mode="IN" optional="true" entity-name="OrderHeaderWorkEffort"/>
        <auto-attributes include="all" mode="IN" optional="true" entity-name="OrderHeader"/>
        <override name="orderId" optional="true" mode="INOUT"/>
    </service>
    <service name="deleteOrderHeaderWorkEffort" default-entity-name="OrderHeaderWorkEffort" engine="entity-auto" auth="true" invoke="deleteOrderHeaderWorkEffort">
        <description>Deletes a OrderHeaderWorkEffort</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>
    <service name="setWorkEffortFixedAssetAssign" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="setWorkEffortFixedAssetAssign" auth="true">
        <description>Based on task's estimate dates, write assign entries for the fixed asset the task is assigned to</description>
        <attribute mode="IN" name="workEffortId" optional="false" type="String"/>
    </service>
    <!-- WorkEffort-FixedAsset management services -->
    <service name="createWorkEffortFixedAssetStd" engine="simple" auth="true"
            default-entity-name="WorkEffortFixedAssetStd"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml"
            invoke="createWorkEffortFixedAssetStd">
        <description>Creates a WorkEffortFixedAssetStd entry to associate a routing task
            with a fixed asset (type)</description>
        <permission-service service-name="workEffortManagerPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateWorkEffortFixedAssetStd" engine="entiy-auto" auth="true"
            default-entity-name="WorkEffortFixedAssetStd" invoke="update">
        <description>Updates an existing WorkEffortFixedAssetStd entry</description>
        <permission-service service-name="workEffortManagerPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="removeWorkEffortFixedAssetStd" engine="simple" auth="true"
            default-entity-name="WorkEffortFixedAssetStd"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml"
            invoke="removeWorkEffortFixedAssetStd">
        <description>Removes a WorkEffortFixedAssetStd, thus removing the association between a routing task
            and a fixed asset (type)</description>
        <permission-service service-name="workEffortManagerPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>
    <service name="createWorkEffortFixedAssetAssign" engine="simple" auth="true"
            default-entity-name="WorkEffortFixedAssetAssign"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml"
            invoke="createWorkEffortFixedAssetAssign">
        <description>Create a WorkEffortFixedAssetAssign entry to associate a fixed asset
            with a work effort (e.g. a production run task)</description>
        <permission-service service-name="workEffortManagerPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="fromDate" optional="true" mode="IN"/>
    </service>
    <service name="updateWorkEffortFixedAssetAssign" engine="entity-auto" auth="true"
            default-entity-name="WorkEffortFixedAssetAssign" invoke="update">
        <description>Update an existing WorkEffortFixedAssetAssign entry</description>
        <permission-service service-name="workEffortManagerPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="removeWorkEffortFixedAssetAssign" engine="simple" auth="true"
            default-entity-name="WorkEffortFixedAssetAssign"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml"
            invoke="removeWorkEffortFixedAssetAssign">
        <description>Remove a WorkEffortFixedAssign entry, which removes the association between a fixed asset
            and a work effort (e.g. a production run task)</description>
        <permission-service service-name="workEffortManagerPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <!-- work effort content services -->
    <service name="createWorkEffortContent" engine="entity-auto" invoke="create" default-entity-name="WorkEffortContent" auth="true">
        <description>Create a Work Effort Content</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="fromDate" optional="true"/>
    </service>
    <service name="updateWorkEffortContent" engine="entity-auto" invoke="update" default-entity-name="WorkEffortContent" auth="true">
        <description>Update a Work Effort Content</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortContent" engine="entity-auto" invoke="delete" default-entity-name="WorkEffortContent" auth="true">
        <description>Delete a Work Effort Content</description>
        <permission-service service-name="workEffortGenericPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>

    <!-- simple use content services -->
    <service name="createWorkEffortTextContent" engine="group" transaction-timeout="300" auth="true">
        <description>Creates a Text Document DataResource and Content Records</description>
        <group>
            <invoke name="createTextContent" result-to-context="true"/>
            <invoke name="createWorkEffortContent"/>
        </group>
    </service>
    <service name="updateWorkEffortTextContent" engine="group" transaction-timeout="300" auth="true">
        <description>Update a Text Document DataResource and Content Records</description>
        <group>
            <invoke name="updateTextContent" result-to-context="true"/>
            <invoke name="updateWorkEffortContent"/>
        </group>
    </service>

    <service name="uploadWorkEffortContentFile" engine="group" transaction-timeout="300">
        <description>Upload and attach a file to a WorkEffort</description>
        <group>
            <invoke name="createContentFromUploadedFile" result-to-context="true"/>
            <invoke name="createWorkEffortContent"/>
        </group>
    </service>

    <!-- work effort review services -->
    <service name="createWorkEffortReview" default-entity-name="WorkEffortReview" engine="simple"
                location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortReview" auth="true">
        <description>Create a Work Effort Review</description>
        <permission-service service-name="workEffortManagerPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="true"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="workEffortId" optional="false">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingWorkEffortId"/>
            </type-validate>
        </override>
    </service>
    <service name="updateWorkEffortReview" default-entity-name="WorkEffortReview" engine="entity-auto" invoke="update" auth="true">
        <description>Update a Work Effort Review</description>
        <permission-service service-name="workEffortManagerPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortReview" engine="simple"
                location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="deleteWorkEffortReview" auth="true">
        <description>Remove a Work Effort Review</description>
        <permission-service service-name="workEffortManagerPermission" main-action="DELETE"/>
        <auto-attributes entity-name="WorkEffortReview" include="pk" mode="IN" optional="false"/>
    </service>

    <service name="indexWorkEffortKeywords" engine="simple"
                location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="indexWorkEffortKeywords">
        <description>Index the Keywords for a WorkEffort</description>
        <attribute name="workEffortId" type="String" mode="IN" optional="false"/>
        <attribute name="workEffortInstance" type="org.apache.ofbiz.entity.GenericValue" mode="IN" optional="true"/>
    </service>
    <service name="createWorkEffortKeyword" default-entity-name="WorkEffortKeyword" engine="simple"
                location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortKeyword" auth="true">
        <description>Create a Work Effort Keyword</description>
        <permission-service service-name="workEffortManagerPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortKeyword" engine="simple"
                location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="deleteWorkEffortKeyword" auth="true">
        <description>Remove a Work Effort Keyword</description>
        <permission-service service-name="workEffortManagerPermission" main-action="DELETE"/>
        <auto-attributes entity-name="WorkEffortKeyword" include="pk" mode="IN" optional="false"/>
    </service>
    <service name="createWorkEffortKeywords" default-entity-name="WorkEffortKeyword" engine="simple"
                location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortKeywords" auth="true">
        <description>Create a Work Effort Keyword</description>
        <permission-service service-name="workEffortManagerPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortKeywords" engine="simple"
                location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="deleteWorkEffortKeywords" auth="true">
        <description>Remove all Work Effort Keyword</description>
        <permission-service service-name="workEffortManagerPermission" main-action="DELETE"/>
        <auto-attributes entity-name="WorkEffort" include="pk" mode="IN" optional="false"/>
    </service>

    <!-- Permission Services -->
    <service name="workEffortManagerPermission" engine="simple"
             location="component://workeffort/minilang/permission/WorkEffortPermissionServices.xml" invoke="workEffortManagerPermission">
        <implements service="permissionInterface"/>
    </service>
    <service name="workEffortGenericPermission" engine="simple"
             location="component://workeffort/minilang/permission/WorkEffortPermissionServices.xml" invoke="workEffortGenericPermission">
        <implements service="permissionInterface"/>
        <attribute name="workEffortId" mode="IN" type="String" optional="true"/>
        <attribute name="workEffortParentId" mode="IN" type="String" optional="true"/>
    </service>
    <service name="timesheetUpdatePermission" engine="simple"
             location="component://workeffort/minilang/permission/WorkEffortPermissionServices.xml" invoke="timesheetUpdatePermission">
        <implements service="permissionInterface"/>
        <attribute name="workEffortId" mode="IN" type="String" optional="true"></attribute>
    </service>

    <!-- WorkEffort Skill Standard Services -->
    <service name="createWorkEffortSkillStandard" engine="entity-auto" default-entity-name="WorkEffortSkillStandard" invoke="create" auth="true">
        <description>Create WorkEffortSkillStandard</description>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
    </service>
    <service name="updateWorkEffortSkillStandard" engine="entity-auto" default-entity-name="WorkEffortSkillStandard" invoke="update" auth="true">
        <description>Update WorkEffortSkillStandard</description>
        <auto-attributes mode="IN" include="pk" optional="false"/>
        <auto-attributes mode="IN" include="nonpk" optional="true"/>
    </service>
    <service name="deleteWorkEffortSkillStandard" engine="entity-auto" default-entity-name="WorkEffortSkillStandard" invoke="delete" auth="true">
        <description>Delete WorkEffortSkillStandard</description>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>

    <!-- WorkEffort Attribute Services -->
    <service name="createWorkEffortAttribute" default-entity-name="WorkEffortAttribute" engine="entity-auto" invoke="create" auth="true">
        <description>Create a WorkEffort Attribute</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateWorkEffortAttribute" default-entity-name="WorkEffortAttribute" engine="entity-auto" invoke="update" auth="true">
        <description>Update a WorkEffort Attribute</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortAttribute" default-entity-name="WorkEffortAttribute" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete a WorkEffort Attribute</description>
        <permission-service service-name="workEffortGenericPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>

    <!-- WorkEffort Contact Mech Services -->
    <service name="createWorkEffortContactMech" engine="simple"
            location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="createWorkEffortContactMech" auth="true">
        <description>Create WorkEffortContactMech; if contactMechId is not provided, a new contact mech is created (if partyId is set then the new contact mech is also associated to the party)</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <auto-attributes entity-name="WorkEffortContactMech" mode="IN" include="nonpk" optional="true"/>
        <auto-attributes entity-name="PartyContactMech" include="all" mode="IN" optional="true"/>
        <attribute name="workEffortId" mode="IN" type="String" optional="false"></attribute>
        <attribute name="contactMechTypeId" mode="IN" type="String" optional="false">
            <type-validate>
                <fail-property resource="WorkEffortUiLabels" property="WorkEffortRequiredFieldMissingContactMechTypeId"/>
            </type-validate>
        </attribute>
        <attribute name="infoString" mode="IN" type="String" optional="true"></attribute>
        <attribute name="contactMechPurposeTypeId" type="String" mode="IN" optional="true"/>
        <attribute name="contactMechId" type="String" mode="INOUT" optional="true"/>
    </service>
    <service name="deleteWorkEffortContactMech" engine="entity-auto" default-entity-name="WorkEffortContactMech" invoke="delete" auth="true">
        <description>Delete WorkEffortContactMech</description>
        <permission-service service-name="workEffortGenericPermission" main-action="DELETE"/>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>

    <!--WorkEffortInventoryProduced Services   -->
    <service name="createWorkEffortInventoryProduced" engine="entity-auto" default-entity-name="WorkEffortInventoryProduced" invoke="create" auth="true">
        <description>Create WorkEffortInventoryProduced</description>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="false"/>
    </service>
    <service name="deleteWorkEffortInventoryProduced" engine="entity-auto" default-entity-name="WorkEffortInventoryProduced" invoke="delete" auth="true">
        <description>Delete WorkEffortInventoryProduced</description>
        <auto-attributes mode="IN" include="pk" optional="false"/>
    </service>

    <!-- WorkEffort iCalendar Services -->
    <service name="createWorkEffortICalData" default-entity-name="WorkEffortIcalData" engine="entity-auto" invoke="create" auth="true">
        <description>Create WorkEffort iCalendar Data</description>
        <permission-service service-name="workEffortICalendarPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateWorkEffortICalData" default-entity-name="WorkEffortIcalData" engine="entity-auto" invoke="update" auth="true">
        <description>Update WorkEffort iCalendar Data</description>
        <permission-service service-name="workEffortICalendarPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortICalData" default-entity-name="WorkEffortIcalData" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete WorkEffort iCalendar Data</description>
        <permission-service service-name="workEffortICalendarPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>
    <service name="workEffortICalendarPermission" engine="simple"
             location="component://workeffort/minilang/permission/WorkEffortPermissionServices.xml" invoke="workEffortICalendarPermission">
        <description>iCalendar Permission Check</description>
        <implements service="permissionInterface"/>
        <attribute type="String" mode="IN" name="workEffortId" optional="true"/>
    </service>
    <service name="getICalWorkEfforts" engine="simple" auth="false"
             location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="getICalWorkEfforts">
        <description>Get iCalendar Work Efforts</description>
        <!-- No permission checking - the servlet handles that -->
        <attribute type="String" mode="IN" name="workEffortId" optional="false"/>
        <attribute type="String" mode="IN" name="workEffortTypeId" optional="true"/>
        <attribute type="List" mode="OUT" name="workEfforts"/>
    </service>
    <service name="getPartyICalUrl" engine="simple" auth="false"
             location="component://workeffort/minilang/workeffort/WorkEffortSimpleServices.xml" invoke="getPartyICalUrl">
        <description>Get Party iCalendar URL</description>
        <!-- No permission checking - the servlet handles that -->
        <attribute type="String" mode="IN" name="partyId" optional="false"/>
        <attribute type="String" mode="OUT" name="iCalUrl" optional="true"/>
    </service>

    <!-- WorkEffort Event Reminder Services -->
    <service name="createWorkEffortEventReminder" default-entity-name="WorkEffortEventReminder" engine="entity-auto" invoke="create" auth="true">
        <description>Create a WorkEffort Event Reminder</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
        <override name="sequenceId" mode="OUT"/>
    </service>
    <service name="updateWorkEffortEventReminder" default-entity-name="WorkEffortEventReminder" engine="entity-auto" invoke="update" auth="true">
        <description>Update a WorkEffort Event Reminder</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortEventReminder" default-entity-name="WorkEffortEventReminder" engine="entity-auto" invoke="delete" auth="true">
        <description>Delete a WorkEffort Event Reminder</description>
        <permission-service service-name="workEffortGenericPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>
    <service name="processWorkEffortEventReminders" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="processWorkEffortEventReminders" auth="true">
        <description>Process work effort event reminders. This service is run by the job scheduler.</description>
    </service>
    <service name="processWorkEffortEventReminder" engine="java"
            location="org.apache.ofbiz.workeffort.workeffort.WorkEffortServices" invoke="processWorkEffortEventReminder" auth="true">
        <description>Send a work effort event reminder</description>
        <attribute name="reminder" mode="IN" type="GenericValue"/>
        <attribute name="bodyParameters" mode="IN" type="Map"/>
    </service>

    <!-- WorkEffort and Survey Services -->
    <service name="createWorkEffortSurveyAppl" default-entity-name="WorkEffortSurveyAppl" engine="entity-auto" invoke="create" auth="true">
        <description>Create a WorkEffort Survey</description>
        <permission-service service-name="workEffortGenericPermission" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="updateWorkEffortSurveyAppl" default-entity-name="WorkEffortSurveyAppl" engine="entity-auto" invoke="update" auth="true">
        <description>Update a WorkEffort Survey</description>
        <permission-service service-name="workEffortGenericPermission" main-action="UPDATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
        <auto-attributes include="nonpk" mode="IN" optional="true"/>
    </service>
    <service name="deleteWorkEffortInventoryProduced" engine="entity-autp" default-entity-name="WorkEffortInventoryProduced" invoke="delete" auth="true">
        <description>Delete a WorkEffort Survey</description>
        <permission-service service-name="workEffortGenericPermission" main-action="DELETE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>
    </service>
</services>
