Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview


This web service inserts a single project time baseline based on a detailed project time baseline structure (PwsProjectTimeBaselineDetail). A project time baseline is the basis for a budget.  A baseline can be very simple - this project must be completed within 100 hours. Or very complex - this project has three tasks and each task cannot cost the client more than $3,000 every week. This help document guides you through the baseline creation process. The service returns the identity of the project time baseline (PwsProjectTimeBaselineRef) that has been inserted. The caller can optionally request that the full project time baseline detail (PwsProjectTimeBaselineElement) be included in the response. 

...

Panel
titlePwsCreateProjectTimeBaseline Request

...

Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information


SessionTicket

String

Yes


Click here for more information


ActualsCutoffDate

DateTime

No


The actuals cutoff date for the project time baseline. This is used when you specify a basis of 'A' or 'B', and specifies the cutoff point after which scheduled (booked or requested) hours are used to populate the budget buckets instead of actuals.


Basis

String

Yes


The project time baseline basis. This is used to determine how to populate the initial baseline buckets. For example, if the basis is specified as 'S', the initial budget values will be set based on the hours currently scheduled on the project (or the financial amounts associated with those hours, depending upon the selected metric(s)). This should be one of:

"T" for task plan

"R" for resource requested hours

"P" for resource previously requested hours

"S" for resource scheduled hours

"A" for approved and currently requested hours

"B" for approved and currently booked hours

"N" for none (buckets specified manually within the ProjectTimeBaseline structure)


Dimension

String

Yes


The project time baseline dimension. The dimension identifies how the budget is to be broken up. For example, a budget with a dimension of 'R' allows for a budget number to be specified for each role on the project. This should be one of:

"M" for rate type

"K" for task type

"D" for resource department

"T" for resource title

"R" for role

"S" for resource

"N" for none


EngagementTimestamp

String

**deprecated**




FullDetailFlag

Boolean

No

false

If set to 'true', the full detailed project time baseline element will be included in the response 


IntervalCount

Int32

Yes


The interval count or number of buckets of the project time baseline. This applies for time phases other than 'N' (None). Leave NULL for non time-phased budgets.


ProjectIdentity

PwsProjectRef

Yes


The project to which the time baseline should be added


ProjectTimeBaseline

PwsProjectTimeBaselineDetail

Yes


Details of the project time baseline to be created. This structure identifies important properties of the baseline, such as the baseline name, which metrics are active and which one is the primary metric. It also contains, when Basis is "N", the individual baseline buckets, broken out by the selected dimension and time phase. 


StartDate

DateTime

Yes


The overall start date of the project time baseline. Leave NULL for non time-phased baselines.


StealEngagementLockFlag

Boolean

No

false

If set to 'true', any locks on the engagement will be stolen if it is currently locked, otherwise, if it is set to 'false' and a lock is in place the service will fail 


TimePhase

String

Yes


The time phase associated with the project time baseline:

"N" for none

"D" for daily

"W" for weekly

"H" for hourly

"M" for monthly

"Q" for quarterly

"Y" for yearly


LocksToStealPwsEntityLockSummaryNo
The detailed information of the locks that are to be stolen. If not specified, the request will fail if any requested locks are already held. If specified, the information supplied must exactly match the current state of existing locks or the attempt to steal the existing locks will fail. Typically, this service is invoked with LocksToSteal empty or null. If there are existing locks, they will be returned in the LockHolders member of PwsFault. This data can then be sent, as is, back to the server in a second invocation of this service, as LocksToSteal, if the caller desires to steal the locks.
ProjectorLockSetIdInt32No
A projector lock set id is an identifier for a group of one or more locks held as a unit.
RateTaskTimestampStringNo
(question)

...

Code Block
languagexml
titleExample 0102 - lock stolen
collapsetrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsCreateProjectTimeBaseline>
         <pws:serviceRequest>
            <req:RequestId>1</req:RequestId>
            <req:SessionTicket>Ade8vXDjCIr0kcDpdVTbCw==</req:SessionTicket>
            <sch:ActualsCutoffDate>2018-03-31T00:00:00.000Z</sch:ActualsCutoffDate>
            <sch:Basis>N</sch:Basis>
            <sch:Dimension>S</sch:Dimension>
            <sch:FullDetailFlag>false</sch:FullDetailFlag>
            <sch:IntervalCount>3</sch:IntervalCount>
            <sch:ProjectIdentity>
               <com:ProjectCode>P001125-001</com:ProjectCode>
            </sch:ProjectIdentity>
            <sch:ProjectTimeBaseline>
               <com:ActiveProjectTimeBaselineFlag>true</com:ActiveProjectTimeBaselineFlag>
               <com:BarMetricActiveFlag>true</com:BarMetricActiveFlag>
               <com:ChgMetricActiveFlag>false</com:ChgMetricActiveFlag>
               <com:CrMetricActiveFlag>false</com:CrMetricActiveFlag>
               <com:Description>Billing Adjusted Revenue Baseline</com:Description>
               <com:HrsMetricActiveFlag>false</com:HrsMetricActiveFlag>
               <com:PrimaryMetric>B</com:PrimaryMetric>
               <com:ProjectTimeBaselineName>BAR Baseline-003</com:ProjectTimeBaselineName>
               <com:RdcMetricActiveFlag>false</com:RdcMetricActiveFlag>
               <com:ProjectTimeBaselineBuckets>
                  <com:PwsProjectTimeBaselineBucket>
                     <com:BillingAdjustedRevenue>550</com:BillingAdjustedRevenue>
                     <com:EndDate>2018-01-31T00:00:00.000Z</com:EndDate>
                     <com:ResourceIdentity>
                        <com:ResourceReferenceSystemId>001</com:ResourceReferenceSystemId>
                     </com:ResourceIdentity>
                     <com:StartDate>2018-01-01T00:00:00.000Z</com:StartDate>
                  </com:PwsProjectTimeBaselineBucket>
                  <com:PwsProjectTimeBaselineBucket>
                     <com:BillingAdjustedRevenue>550</com:BillingAdjustedRevenue>
                     <com:EndDate>2018-02-28T00:00:00.000Z</com:EndDate>
                     <com:ResourceIdentity>
                        <com:ResourceReferenceSystemId>002</com:ResourceReferenceSystemId>
                     </com:ResourceIdentity>
                     <com:StartDate>2018-02-01T00:00:00.000Z</com:StartDate>
                  </com:PwsProjectTimeBaselineBucket>
                  <com:PwsProjectTimeBaselineBucket>
                     <com:BillingAdjustedRevenue>550</com:BillingAdjustedRevenue>
                     <com:EndDate>2018-03-31T00:00:00.000Z</com:EndDate>
                     <com:ResourceIdentity>
                        <com:ResourceReferenceSystemId>003</com:ResourceReferenceSystemId>
                     </com:ResourceIdentity>
                     <com:StartDate>2018-03-01T00:00:00.000Z</com:StartDate>
                  </com:PwsProjectTimeBaselineBucket>
               </com:ProjectTimeBaselineBuckets>
            </sch:ProjectTimeBaseline>
            <sch:StartDate>2018-01-01T00:00:00.000Z</sch:StartDate>
            <sch:StealEngagementLockFlag>false</sch:StealEngagementLockFlag>
            <sch:TimePhase>M</sch:TimePhase>
            <sch:LocksToSteal>
               <!--Zero or more repetitions:-->
               <com:PwsEntityLockSummary>
                  <!--Optional:-->
                  <com:EntityIdentity>
                     <!--Optional:-->
                     <com:EntityCode>P001125-001</com:EntityCode>
                     <com:LockType>P</com:LockType>
                  </com:EntityIdentity>
                  <!--Optional:-->
                  <com:EntityLockSummary>
                     <!--Zero or more repetitions:-->
                     <com:PwsEntityLockSummaryItem>
                        <!--Optional:-->
                        <com:LockCount>1</com:LockCount>
                        <!--Optional:-->
                        <com:LockHolderUserIdentity>
                           <!--Optional:-->
                           <com:UserDisplayName>Krakauer, Larry</com:UserDisplayName>
                        </com:LockHolderUserIdentity>
                        <!--Optional:-->
                        <com:MostRecentLockAcquisitionTimestamp>2018-11-14T20:03:58.873Z</com:MostRecentLockAcquisitionTimestamp>
                     </com:PwsEntityLockSummaryItem>
                  </com:EntityLockSummary>
               </com:PwsEntityLockSummary>
            </sch:LocksToSteal>
         </pws:serviceRequest>
      </pws:PwsCreateProjectTimeBaseline>
   </soapenv:Body>
</soapenv:Envelope>

...

Panel
titlePwsCreateProjectTimeBaseline Response

...

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


EngagementLockStolenFromUserIdentity

PwsUserRef

**deprecated**


EngagementTimestamp

String

**deprecated**


ProjectTimeBaseline

PwsProjectTimeBaselineElement

The complete set of information about the project time baseline. Specify FullDetailFlag = true in request to get this value returned in the response.


ProjectTimeBaselineIdentity

PwsProjectTimeBaselineRef

The unique keys used to identify the project time baseline 


...

Code Block
languagexml
titleExample 01
collapsetrue
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsCreateProjectTimeBaselineResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsCreateProjectTimeBaselineResult xmlns:a="http://projectorpsa.com/DataContracts/Shared/Scheduling/" 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-02-02T16:25:50.6173692Z</ServerTimestampUtc>
            <a:EngagementLockStolenFromUserIdentity i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <a:EngagementTimestamp>AAAAAA62D20=</a:EngagementTimestamp>
            <a:ProjectTimeBaseline i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <a:ProjectTimeBaselineIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ExternalSystemIdentifier i:nil="true"/>
               <b:ProjectTimeBaselineId i:nil="true"/>
               <b:ProjectTimeBaselineUid>1152921504607411672</b:ProjectTimeBaselineUid>
            </a:ProjectTimeBaselineIdentity>
            <a:RateTaskTimestamp>AAAAAA62D24=</a:RateTaskTimestamp>
            <a:StolenLocks xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
         </PwsCreateProjectTimeBaselineResult>
      </PwsCreateProjectTimeBaselineResponse>
   </s:Body>
</s:Envelope>
Code Block
languagexml
titleExample 02 - lock stolen
collapsetrue
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsCreateProjectTimeBaselineResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsCreateProjectTimeBaselineResult xmlns:a="http://projectorpsa.com/DataContracts/Shared/Scheduling/" 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-11-14T20:04:49.4953921Z</ServerTimestampUtc>
            <a:EngagementLockStolenFromUserIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:UserDisplayName>Krakauer, Larry</b:UserDisplayName>
               <b:UserId i:nil="true"/>
               <b:UserReferenceSystemId>097</b:UserReferenceSystemId>
               <b:UserUid>1152921504606944254</b:UserUid>
            </a:EngagementLockStolenFromUserIdentity>
            <a:EngagementTimestamp>AAAAABFHids=</a:EngagementTimestamp>
            <a:ProjectTimeBaseline i:nil="true" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <a:ProjectTimeBaselineIdentity xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:ExternalSystemIdentifier i:nil="true"/>
               <b:ProjectTimeBaselineId i:nil="true"/>
               <b:ProjectTimeBaselineUid>1152921504607428732</b:ProjectTimeBaselineUid>
            </a:ProjectTimeBaselineIdentity>
            <a:RateTaskTimestamp>AAAAABFHigk=</a:RateTaskTimestamp>
            <a:StolenLocks xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/">
               <b:EntityIdentity>
                  <b:EntityCode>P001125-001</b:EntityCode>
                  <b:EntityId i:nil="true"/>
                  <b:EntityUid>1152921504607425735</b:EntityUid>
                  <b:LockType>RT</b:LockType>
               </b:EntityIdentity>
               <b:EntityLockSummary>
                  <b:PwsEntityLockSummaryItem>
                     <b:LockCount>1</b:LockCount>
                     <b:LockHolderUserIdentity>
                        <b:UserDisplayName>Krakauer, Larry</b:UserDisplayName>
                        <b:UserId i:nil="true"/>
                        <b:UserReferenceSystemId>097</b:UserReferenceSystemId>
                        <b:UserUid>1152921504606944254</b:UserUid>
                     </b:LockHolderUserIdentity>
                     <b:MostRecentLockAcquisitionTimestamp>2018-11-14T20:03:58.873Z</b:MostRecentLockAcquisitionTimestamp>
                  </b:PwsEntityLockSummaryItem>
               </b:EntityLockSummary>
            </a:StolenLocks>
         </PwsCreateProjectTimeBaselineResult>
      </PwsCreateProjectTimeBaselineResponse>
   </s:Body>
</s:Envelope>

...