<?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>Manufacturing Services - Calendar</description>
    <vendor>OFBiz</vendor>
    <version>1.0</version>

    <!-- Routing services -->
    <service name="createCalendar" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="createCalendar">
        <description>Create a calendar</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
        <attribute name="description" type="String" mode="IN" optional="true"/>
        <attribute name="calendarWeekId" type="String" mode="IN" optional="true"/>
    </service>
    <service name="updateCalendar" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="updateCalendar">
        <description>Update a calendar</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
        <attribute name="description" type="String" mode="IN" optional="true"/>
        <attribute name="calendarWeekId" type="String" mode="IN" optional="true"/>
    </service>
    <service name="removeCalendar" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="removeCalendar">
        <description>Remove a calendar</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
    </service>
    
    <service name="createCalendarWeek" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="createCalendarWeek">
        <description>Create a Calendar Week</description>
        <attribute name="calendarWeekId" type="String" mode="IN" optional="false"/>
        <attribute name="description" type="String" mode="IN" optional="true"/>
        <attribute name="mondayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="mondayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="tuesdayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="tuesdayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="wednesdayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="wednesdayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="thursdayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="thursdayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="fridayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="fridayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="saturdayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="saturdayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="sundayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="sundayCapacity" type="BigDecimal" mode="IN" optional="true"/>
    </service>
    <service name="updateCalendarWeek" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="updateCalendarWeek">
        <description>Update a Calendar Week</description>
        <attribute name="calendarWeekId" type="String" mode="IN" optional="false"/>
        <attribute name="description" type="String" mode="IN" optional="true"/>
        <attribute name="mondayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="mondayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="tuesdayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="tuesdayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="wednesdayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="wednesdayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="thursdayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="thursdayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="fridayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="fridayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="saturdayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="saturdayCapacity" type="BigDecimal" mode="IN" optional="true"/>
        <attribute name="sundayStartTime" type="java.sql.Time" mode="IN" optional="true"/>
        <attribute name="sundayCapacity" type="BigDecimal" mode="IN" optional="true"/>
    </service>
    <service name="removeCalendarWeek" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="removeCalendarWeek">
        <description>Remove a Calendar Week</description>
        <attribute name="calendarWeekId" type="String" mode="IN" optional="false"/>
    </service>

    <service name="createCalendarExceptionDay" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="createCalendarExceptionDay">
        <description>Create a calendar ExceptionDay</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
        <attribute name="description" type="String" mode="IN" optional="true"/>
        <attribute name="exceptionDateStartTime" type="java.sql.Timestamp" mode="IN" optional="false"/>
        <attribute name="exceptionCapacity" type="BigDecimal" mode="IN" optional="true"/>
    </service>
    <service name="updateCalendarExceptionDay" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="updateCalendarExceptionDay">
        <description>Update a calendar ExceptionDay</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
        <attribute name="description" type="String" mode="IN" optional="true"/>
        <attribute name="exceptionDateStartTime" type="java.sql.Timestamp" mode="IN" optional="false"/>
        <attribute name="exceptionCapacity" type="BigDecimal" mode="IN" optional="true"/>
    </service>
    <service name="removeCalendarExceptionDay" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="removeCalendarExceptionDay">
        <description>Update a calendar ExceptionDay</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
        <attribute name="exceptionDateStartTime" type="java.sql.Timestamp" mode="IN" optional="false"/>
    </service>
    <service name="createCalendarExceptionWeek" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="createCalendarExceptionWeek">
        <description>Create a Calendar Exception Week</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
        <attribute name="description" type="String" mode="IN" optional="true"/>
        <attribute name="exceptionDateStart" type="java.sql.Date" mode="IN" optional="false"/>
        <attribute name="calendarWeekId" type="String" mode="IN" optional="true"/>
    </service>
    <service name="updateCalendarExceptionWeek" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="updateCalendarExceptionWeek">
        <description>Update a Calendar Exception Week</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
        <attribute name="description" type="String" mode="IN" optional="true"/>
        <attribute name="exceptionDateStart" type="java.sql.Date" mode="IN" optional="false"/>
        <attribute name="calendarWeekId" type="String" mode="IN" optional="true"/>
    </service>
    <service name="removeCalendarExceptionWeek" engine="simple"
            location="org/ofbiz/manufacturing/techdata/RoutingSimpleServices.xml" invoke="removeCalendarExceptionWeek">
        <description>Remove a Calendar Exception Week</description>
        <attribute name="calendarId" type="String" mode="IN" optional="false"/>
        <attribute name="exceptionDateStart" type="java.sql.Date" mode="IN" optional="false"/>
    </service>
</services>
