/
PwsSaveResourceAvailableTimeOff

PwsSaveResourceAvailableTimeOff

Overview


Insert or update PTO balances on a per time off reason.

This web service inserts or updates available time off records given a resource and time off reason (PwsResourceAvailableTimeoffDetail). The service returns the results of the insert or update (PwsSaveResourceAvailableTimeOffResult).


Rate Limiting

In order to protect our servers from inadvertent service overuse or intentional attack, and to fairly distribute services to all our customers, we have implemented a rate limiting algorithm.  When fully deployed, this new algorithm will cause services to either succeed with new warnings or fail with new errors when services are consumed at too high a rate.  Programs that consume Projector services should be enhanced to handle rate limiting errors so that they can continue functioning properly.  For more information please visit: Projector Rate Limiting Behavior.


Request Format


PwsSaveResourceAvailableTimeOff Request

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.

1

SessionTicket

String

Yes


Click here for more information.

AV7pfLYHuvIjk5rCwGgoiQ==

AbortOnFailureFlag

Boolean

No

 false

If set to 'true', the request will be aborted once the service encounters a record it cannot process. If set to 'false', it will process all the records that can be processed and fail the ones it cannot.

false

AvailableTimeOffDetail

PwsResourceAvailableTimeoffDetail[]

false


The detailed resource available time off information to be inserted or updated


Request Usage Example(s)


Example 01
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:dat="http://projectorpsa.com/DataContracts/Shared/DataAdministration/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveResourceAvailableTimeOff>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>AV7pfLYHuvIjk5rCwGgoiQ==</req:SessionTicket>
            <req:AbortOnFailureFlag>false</req:AbortOnFailureFlag>
            <req:AvailableTimeOffDetail>
               <dat:PwsResourceAvailableTimeOffDetail>
                  <dat:AdditionalAvailableMinutes>4800</dat:AdditionalAvailableMinutes>
                  <dat:AsOfDate>2018-01-01T00:00:00.000Z</dat:AsOfDate>
                  <dat:ResourceIdentity>
                     <com:ResourceReferenceSystemId>E123</com:ResourceReferenceSystemId>
                  </dat:ResourceIdentity>
                  <dat:StartingAvailableMinutes>0</dat:StartingAvailableMinutes>
                  <dat:TimeOffReasonIdentity>
                     <com:TimeOffReasonName>Vacation</com:TimeOffReasonName>
                  </dat:TimeOffReasonIdentity>
               </dat:PwsResourceAvailableTimeOffDetail>
               <dat:PwsResourceAvailableTimeOffDetail>
                  <dat:AdditionalAvailableMinutes>4800</dat:AdditionalAvailableMinutes>
                  <dat:AsOfDate>2018-01-01T00:00:00.000Z</dat:AsOfDate>
                  <dat:ResourceIdentity>
                     <com:ResourceReferenceSystemId>E125</com:ResourceReferenceSystemId>
                  </dat:ResourceIdentity>
                  <dat:StartingAvailableMinutes>0</dat:StartingAvailableMinutes>
                  <dat:TimeOffReasonIdentity>
                     <com:TimeOffReasonName>Vacation</com:TimeOffReasonName>
                  </dat:TimeOffReasonIdentity>
               </dat:PwsResourceAvailableTimeOffDetail>
            </req:AvailableTimeOffDetail>
         </pws:serviceRequest>
      </pws:PwsSaveResourceAvailableTimeOff>
   </soapenv:Body>
</soapenv:Envelope>

Response Format


PwsSaveResourceAvailableTimeOff Response

Response Elements


Element

Data Type

Description

Sample Data

Messages

PwsMessage[]

The web service response status and message. Click here for more information.


ResponseId

Int32

Click here for more information.


Status

RequestStatus

Click here for more information.


ServerTimestampUtc

DateTime

Click here for more information.


Results

PwsSaveResourceAvailableTimeOffResult[]

If AbortOnFailureFlag is 'true', this will contain details for records that failed, including the identity of the failed record and the reason for failure.


Response Usage Example(s)


Example 01 - successful response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveResourceAvailableTimeOffResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveResourceAvailableTimeOffResult xmlns:a="http://projectorpsa.com/DataContracts/Responses/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">1</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-03-02T21:31:35.5223547Z</ServerTimestampUtc>
            <a:Results xmlns:b="http://projectorpsa.com/DataContracts/Shared/DataAdministration/"/>
         </PwsSaveResourceAvailableTimeOffResult>
      </PwsSaveResourceAvailableTimeOffResponse>
   </s:Body>
</s:Envelope>
Example 01 - failed response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsSaveResourceAvailableTimeOffResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsSaveResourceAvailableTimeOffResult xmlns:a="http://projectorpsa.com/DataContracts/Responses/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>                   
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">1</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2018-03-05T15:08:20.9777785Z</ServerTimestampUtc>
            <a:Results xmlns:b="http://projectorpsa.com/DataContracts/Shared/DataAdministration/">
               <b:PwsSaveResourceAvailableTimeOffResult>
                  <b:AsOfDate>2018-01-01T00:00:00Z</b:AsOfDate>
                  <b:ErrorDetail xmlns:c="http://projectorpsa.com/DataContracts/Shared/Common/">
                     <c:ErrorCode>SpecifiedTimeOffReasonDoesNotExist</c:ErrorCode>
                     <c:ErrorNumber>57567</c:ErrorNumber>
                     <c:ErrorText>The specified time off reason does not exist.</c:ErrorText>
                  </b:ErrorDetail>
                  <b:ResourceIdentity xmlns:c="http://projectorpsa.com/DataContracts/Shared/Common/">
                     <c:ResourceDisplayName i:nil="true"/>
                     <c:ResourceId i:nil="true"/>
                     <c:ResourceReferenceSystemId>E123</c:ResourceReferenceSystemId>
                     <c:ResourceUid i:nil="true"/>
                  </b:ResourceIdentity>
                  <b:TimeOffReasonIdentity xmlns:c="http://projectorpsa.com/DataContracts/Shared/Common/">
                     <c:TimeOffReasonId i:nil="true"/>
                     <c:TimeOffReasonName>Summer Vacation</c:TimeOffReasonName>
                     <c:TimeOffReasonUid i:nil="true"/>
                  </b:TimeOffReasonIdentity>
               </b:PwsSaveResourceAvailableTimeOffResult>
            </a:Results>
         </PwsSaveResourceAvailableTimeOffResult>
      </PwsSaveResourceAvailableTimeOffResponse>
   </s:Body>
</s:Envelope>

PwsSaveResourceAvailableTimeOff - Common Errors and Warnings

ErrorNumberErrorCodeErrorText
31001TimeOffBeginDateRequiredPlease specify a begin date.
31002TimeOffEndDateRequiredPlease specify an end date.
31003TimeOffEndDatePriorToBeginDateThe specified end date may not be prior to the the specified begin date.
31004TimeOffReasonRequiredPlease specify a time off reason.
31005InvalidValueForTimeOffBeginDateThe specified begin date must be expressed as midnight UTC on the desired date.
31006InvalidValueForTimeOffEndDateThe specified end date must be expressed as midnight UTC on the desired date.
57565InvalidTimeOffReasonA specified time off reason identity was incomplete. Each tmie off reason identity must specify either a time off reason id, time off reason uid or time off reason name.
57567SpecifiedTimeOffReasonDoesNotExistThe specified time off reason does not exist.
64357TimeOffReasonInactiveOverRangeTime off reason is inactive for at least part of the specified range.

Related content

Time Off Reason Editor
Time Off Reason Editor
Read with this
PwsGetTimeEntryTimeOff
PwsGetTimeEntryTimeOff
More like this
Time Off
Read with this
PwsGetResourceAvailableTimeOff
PwsGetResourceAvailableTimeOff
More like this
Getting Started with Web Services
Getting Started with Web Services
Read with this
PwsDeleteResourceAvailableTimeOff
PwsDeleteResourceAvailableTimeOff
More like this