Versions Compared

Key

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

Overview


This web service inserts or updates a single project role based on a detailed project role structure (PwsProjectRoleDetail). The service returns the identity (PwsProjectRoleRef) of the project role that has been inserted or updated. 

...

Panel
titlePwsSaveProjectRole Request
  • PwsSaveProjectRole
    • serviceRequest: PwsSaveProjectRoleRq
      • RequestId: Int32
      • SessionTicket: String
      • BaseRatesOnTitleClearFlag: Boolean
      • CandidatesClearFlag: Boolean
      • CostCenterClearFlag: Boolean
      • CostCenterCriteriaClearFlag: Boolean
      • DescriptionClearFlag: Boolean
      • EngagementTimestamp: String **deprecated**
      • InitialAllocation: PwsProjectRoleHoursPattern
      • KeywordsClearFlag: Boolean
      • LocationClearFlag: Boolean
      • LocationCriteriaClearFlag: Boolean
      • Mode: String (1)
      • ProjectIdentity: PwsProjectRef
      • ProjectRole: PwsProjectRoleDetail
      • ResourceClearFlag: Boolean
      • RoleEndDateClearFlag: Boolean
      • RoleStartDateClearFlag: Boolean
      • ShareCostCenterClearFlag: Boolean
      • SkillCriteriaClearFlag: Boolean
      • StealLockFlag: Boolean **deprecated**
      • TitleClearFlag: Boolean
      • TitleCriteriaClearFlag: Boolean
      • RdcTransferHourlyRateClearFlag: Boolean
      • RevenueTransferHourlyRateClearFlag: Boolean
      • RateExceptionsClearFlag: Boolean
      • RdcExceptionsClearFlag: Boolean
      • ResourceTypeCriteriaClearFlag: Boolean
      • FullDetailFlag: Boolean
      • LocksToSteal: PwsEntityLockSummary[1.100]
      • MakeRoleNameUniqueFlag: Boolean
      • NameRoleFlag: Boolean
      • ProjectorLockSetId: Int32
      • ResourceTypeClearFlag: Boolean
      • ShareUserClearFlag: Boolean
      • WarnOnPermissionErrorFlag: Boolean

...

      • ExcludeReadNotesFlag: Boolean
      • PurchaseOrderNumberClearFlag: Boolean
      • ReplaceAllocatedCriteriaWithRequestedFlag: Boolean
      • RetrievalMode: String
      • RevalueAction: String
      • RoleTypeClearFlag: Boolean

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information.


SessionTicket

String

Yes


Click here for more information.

Ae9v30fDNwFMx833f5Hesg==

BaseRatesOnTitleClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', existing base-rate-on-title setting will be cleared (rates will be based on resource's title).

false

CandidatesClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', existing named candidates will be cleared (candidate identities defined inPwsProjectRoleDetail are ignored).

false

CostCenterClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', preferred cost center for unnamed candidate is cleared (preferred cost center identity defined in PwsProjectRoleDetail is ignored).

false

CostCenterCriteriaClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', cost center criteria for unnamed candidate is cleared (cost center criteria defined in PwsProjectRoleDetail is ignored).

false

DescriptionClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', the existing description will be cleared.

false

EngagementTimestamp

String

**deprecated**




InitialAllocationPwsProjectRoleHoursPattern

On Insert: No

On Update: No


The allocation set up for the project role upon creation.

KeywordsClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', existing keywords for unnamed candidate is cleared.

false

LocationClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', preferred location for unnamed candidate is cleared. Please note, if System Settings' Scheduling is set to "Show Location Criteria", then this flag cannot be set to 'true' because location criteria is required.

false

LocationCriteriaClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', location criteria for unnamed candidate is cleared and location criteria (LocationIdentities) defined in PwsProjectRoleDetail is ignored; If set to 'false', location criteria (LocationIdentities) will be updated if provided in PwsProjectRoleDetail.

false

Mode

String (1)

On Insert: Yes

On Update: Yes


Determine whether specified criteria applies to booked or requested criteria settings.

A: booked data for roles

R: requested data for roles

A

ProjectIdentity

PwsProjectRef

On Insert: Yes

On Update: Yes


The identity of the project that contains the project role. Click here for more information.


ProjectRole

PwsProjectRoleDetail

On Insert: Yes

On Update: Yes


Structure that contains the complete information of the project role. Please click here for more information.. If it refers to an existing project role, this request updates this project role; otherwise, this request creates a new project role.


ResourceClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', existing named resource is cleared.

false

RoleEndDateClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', existing role end date is cleared.

false

RoleStartDateClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', existing role start date is cleared.

false

ShareCostCenterClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', role's shared cost center is cleared.

false

SkillCriteriaClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', skill criteria for unnamed candidate is cleared (skill criteria defined in PwsProjectRoleDetail is ignored).

false

StealLockFlag

Boolean

**deprecated**




TitleClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', preferred title for unnamed candidate is cleared.

false

TitleCriteriaClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', title criteria for unnamed candidate is cleared (title criteria (TitleIdentities) defined in PwsProjectRoleDetail is ignored).

false

RdcTransferHourlyRateClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', RDC transfer hourly rate is cleared (RdcTransferHourlyRate defined in PwsProjectRoleDetail is ignored).

false

RevenueTransferHourlyRateClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', revenue transfer hourly rate is cleared (RevenueTransferHourlyRate defined in PwsProjectRoleDetail is ignored).

false

RateExceptionsClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', overriding rate is cleared (RateExceptions defined in PwsProjectRoleDetail is ignored).

false

RdcExceptionsClearFlag

Boolean

On Insert: No

On Update: No

false

If set to 'true', overriding RDC rate is cleared (RdcExceptions defined in PwsProjectRoleDetail is ignored).

false

ResourceTypeCriteriaClearFlag

Boolean

On Insert: No

On Update: No

falseIf set to 'true', the resource type criteria will be cleared. Note this will not clear the preferred or allocated resource type. Empty resource type criteria means that any resource type is acceptable.
FullDetailFlagBoolean

On Insert: No

On Update: No

falseIf set to 'true', the complete project role element structure will be included in the response.
LocksToStealPwsEntityLockSummary[1.100]

On Insert: No

On Update: No


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

On Insert: No

On Update: No

falseIf set to 'true', and the specified role name is already in use, the service will append a number onto the end of the role name in order to make it unique. Otherwise, the service will fail if the specified role name is in use.
NameRoleFlagBoolean

On Insert: No

On Update: No

falseIf set to 'true', and no role name is specified, the service will use the resource display name to generate a role name if the role is a named role. (Min to determine behavior if role is unnamed)has assigned resource. Either role name or resource has to be specified. If set to 'false' (the default value), then a role name must be supplied.
ProjectorLockSetIdInt32

On Insert: No

On Update: No


A projector lock set id is an identifier for a group of one or more locks held as a unit.
ResourceTypeClearFlagBoolean

On Insert: No

On Update: No

falseIf set to 'true', the preferred or allocated resource type is cleared.
ShareUserClearFlagBoolean

On Insert: No

On Update: No

falseIf set to 'true', the shared to user is cleared for the role.
WarnOnPermissionErrorFlagBoolean

On Insert: No

On Update: No

false

If set to 'true', request will result in warnings instead of errors if user has no permission (on insert only):

- Attempt to set sharing (by user or cost center) without permission to share scheduling.
- Attempt to set billing title override without permission to maintain rates
- Attempt to set revenue transfer hourly rate without permission to maintain rates
- Attempt to set RDC transfer hourly rate without permission to maintain rates
- Attempt to set rate or RDC exceptions without permission to maintain rates

false

Request Usage Example(s)

...

languagexml
titleExample 01 - create/update
collapsetrue

...

ExcludeReadNotesFlagBoolean

On Insert: No

On Update: No

falseIf true, notes that have been marked as read by the current user are excluded from the data returned. Applies only when FullDetailFlag is true.
PurchaseOrderNumberClearFlagBoolean

On Insert: No

On Update: No

falseIf set to 'true', the purchase order number for the role is cleared.
ReplaceAllocatedCriteriaWithRequestedFlagBoolean

On Insert: No

On Update: No

falseWhen in scheduling mode (Mode = 'A') and updating an existing role that has incomplete booked criteria, if this flag is set, any existing booked criteria is overwritten with requested criteria. Note any criteria values specified in this request will overwrite what is copied from the requested criteria.
RetrievalModeString

On Insert: No

On Update: No


Required if FullDetailFlag is set, Designate whether assigned (A), requested (R) or effective (E) criteria is returned for the role.
RevalueActionString

On Insert: No

On Update: No

N

This indicates how the service should respond if there are time cards that would become in need of revalue as a result of the changes. The valid values are:

  • N (No Revalue): Time cards are left as is and the save is completed.
  • R (Revalue): Time cards that can be revalued are revalued and the save is completed.
  • C (Check): The save operation will only proceed if there are no time cards that would be in need of revalue. RevalueReport in the response will provide details about the affected time cards.

RoleTypeClearFlagBoolean

On Insert: No

On Update: No

falseIf set to 'true' the role type for the role will be cleared.


Request Usage Example(s)


Code Block
languagexml
titleExample 01 - create/update
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/" xmlns:com1="http://projectorpsa.com/CommonServices/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveProjectRole>
         <pws:serviceRequest>
            <req:SessionTicket>Ae9v30fDNwFMx833f5Hesg==</req:SessionTicket>
            <sch:CandidatesClearFlag>true</sch:CandidatesClearFlag>
            <sch:CostCenterCriteriaClearFlag>true</sch:CostCenterCriteriaClearFlag>
            <sch:LocationCriteriaClearFlag>true</sch:LocationCriteriaClearFlag>
            <sch:Mode>A</sch:Mode>
            <sch:ProjectIdentity>
               <com:ProjectCode>P001053-WS2</com:ProjectCode>
            </sch:ProjectIdentity>
            <sch:ProjectRole>
               <com:ExternalSystemIdentifier>Role 001</com:ExternalSystemIdentifier>
               <com:BaseRateOnTitleIdentity>
                  <com:DepartmentIdentity>
                     <com:DepartmentName>Management</com:DepartmentName>
                  </com:DepartmentIdentity>
                  <com:TitleName>Administrator</com:TitleName>
               </com:BaseRateOnTitleIdentity>
               <com:CandidateIdentities>
                  <com:PwsResourceRef>
                     <com:ResourceDisplayName>Max Yang</com:ResourceDisplayName>
                  </com:PwsResourceRef>
               </com:CandidateIdentities>
               <com:CostCenterAnyFlag>false</com:CostCenterAnyFlag>
               <com:CostCenterCriteria>
                  <com1:PwsCostCenterCriteria>
                     <com1:CascadeFlag>true</com1:CascadeFlag>
                     <com1:CostCenterIdentity>
                        <com:CostCenterName>RevCorp CH</com:CostCenterName>
                     </com1:CostCenterIdentity>
                  </com1:PwsCostCenterCriteria>
               </com:CostCenterCriteria>
               <com:CostCenterIdentity>
                  <com:CostCenterName>RevCorp CA</com:CostCenterName>
               </com:CostCenterIdentity>
               <com:DefaultSchedulingMode>W</com:DefaultSchedulingMode>
               <com:Description>Created from PwsSaveProjectRole #2</com:Description>
               <com:Keywords>Executive</com:Keywords>
               <com:LocationAnyFlag>true</com:LocationAnyFlag>
               <com:LocationIdentities>
                  <com:PwsLocationRef>
                     <com:LocationName>Boston</com:LocationName>
                  </com:PwsLocationRef>
               </com:LocationIdentities>
               <com:LocationIdentity>
                  <com:LocationName>Shanghai</com:LocationName>
               </com:LocationIdentity>
               <com:ResourceIdentity>
                  <com:ResourceDisplayName>Oscar Cox</com:ResourceDisplayName>
               </com:ResourceIdentity>
               <com:RoleName>Role WS-001</com:RoleName>
               <com:RoleStartDate>2018-01-01z</com:RoleStartDate>
               <com:ShareCostCenterIdentity>
               </com:ShareCostCenterIdentity>
               <com:SkillCriteria>
                  <com:PwsSkillCriteria>
                     <com:SkillIdentity>
                        <com:SkillGroupIdentity>
                           <com:SkillGroupName>Technology</com:SkillGroupName>
                        </com:SkillGroupIdentity>
                        <com:SkillName>HTML</com:SkillName>
                     </com:SkillIdentity>
                     <com:SkillLevelMask>3</com:SkillLevelMask>
                  </com:PwsSkillCriteria>
               </com:SkillCriteria>
               <com:TitleIdentities>
                  <com:PwsTitleRef>
                     <com:DepartmentIdentity>
                        <com:DepartmentName>Technology</com:DepartmentName>
                     </com:DepartmentIdentity>
                     <com:TitleName>Technical Consultant</com:TitleName>
                  </com:PwsTitleRef>
               </com:TitleIdentities>
               <com:TitleIdentity>
                  <com:DepartmentIdentity>
                     <com:DepartmentName>Technology</com:DepartmentName>
                  </com:DepartmentIdentity>
                  <com:TitleName>Technical Consultant</com:TitleName>
               </com:TitleIdentity>
               <com:RdcTransferCurrencyIdentity>
               </com:RdcTransferCurrencyIdentity>
               <com:RevenueTransferHourlyRate>12</com:RevenueTransferHourlyRate>
            </sch:ProjectRole>
            <sch:ShareCostCenterClearFlag>true</sch:ShareCostCenterClearFlag>
            <sch:SkillCriteriaClearFlag>true</sch:SkillCriteriaClearFlag>
            <sch:StealLockFlag>true</sch:StealLockFlag>
            <sch:TitleCriteriaClearFlag>true</sch:TitleCriteriaClearFlag>
            <sch:RdcTransferHourlyRateClearFlag>false</sch:RdcTransferHourlyRateClearFlag>
            <sch:RevenueTransferHourlyRateClearFlag>true</sch:RevenueTransferHourlyRateClearFlag>
         </pws:serviceRequest>
      </pws:PwsSaveProjectRole>
   </soapenv:Body>
</soapenv:Envelope>


Code Block
languagexml
titleExample 02
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/" xmlns:com1="http://projectorpsa.com/CommonServices/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveProjectRole>
         <pws:serviceRequest>
            <req:SessionTicket>Af6PogAbIuL3jTtirBShRg==</req:SessionTicket>
            <sch:Mode>R</sch:Mode>
            <sch:ProjectIdentity>
               <com:ProjectCode>P001508-001</com:ProjectCode>
            </sch:ProjectIdentity>
            <sch:ProjectRole>
               <com:BaseRateOnTitleIdentity>
                  <com:DepartmentIdentity>
                     <com:DepartmentName>IT Team</com:DepartmentName>
                  </com:DepartmentIdentity>
                  <com:TitleName>Level 1</com:TitleName>
               </com:BaseRateOnTitleIdentity>
               <com:CostCenterAnyFlag>false</com:CostCenterAnyFlag>
               <com:CostCenterCriteria>
                  <com1:PwsCostCenterCriteria>
                     <com1:CascadeFlag>false</com1:CascadeFlag>
                     <com1:CostCenterIdentity>
                        <com:CostCenterName>IT Team (USA)</com:CostCenterName>
                     </com1:CostCenterIdentity>
                  </com1:PwsCostCenterCriteria>
               </com:CostCenterCriteria>
               <com:CostCenterIdentity>
                  <com:CostCenterNumber>IT Team (USA)</com:CostCenterNumber>
               </com:CostCenterIdentity>
               <com:LocationAnyFlag>false</com:LocationAnyFlag>
               <com:LocationIdentities>
                  <com:PwsLocationRef>
                     <com:LocationName>USA</com:LocationName>
                  </com:PwsLocationRef>
               </com:LocationIdentities>
               <com:LocationIdentity>
                  <com:LocationName>USA</com:LocationName>
               </com:LocationIdentity>
               <com:RoleName>Consultant</com:RoleName>
               <com:TitleIdentities>
                  <com:PwsTitleRef>
                     <com:DepartmentIdentity>
                        <com:DepartmentName>IT Team</com:DepartmentName>
                     </com:DepartmentIdentity>
                     <com:TitleName>Level 1</com:TitleName>
                  </com:PwsTitleRef>
               </com:TitleIdentities>
               <com:TitleIdentity>
                  <com:DepartmentIdentity>
                     <com:DepartmentName>IT Team</com:DepartmentName>
                  </com:DepartmentIdentity>
                  <com:TitleName>Level 1</com:TitleName>
               </com:TitleIdentity>
               <com:ResourceTypeAnyFlag>true</com:ResourceTypeAnyFlag>
            </sch:ProjectRole>
         </pws:serviceRequest>
      </pws:PwsSaveProjectRole>
   </soapenv:Body>
</soapenv:Envelope>


Code Block
languagexml
titleExample 03 with Initial Allocation
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/" xmlns:com1="http://projectorpsa.com/CommonServices/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveProjectRole>
         <pws:serviceRequest>
            <req:SessionTicket>AaGStCnFFiJ1l+XNAlIgag==</req:SessionTicket>
            <!--sch:BaseRatesOnTitleClearFlag>false</sch:BaseRatesOnTitleClearFlag-->
            <sch:CandidatesClearFlag>true</sch:CandidatesClearFlag>
            <sch:CostCenterClearFlag>false</sch:CostCenterClearFlag>
            <sch:CostCenterCriteriaClearFlag>true</sch:CostCenterCriteriaClearFlag>
            <sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
            <sch:InitialAllocation>
               <!--Optional:-->
               <com:HoursAllocationPercentage>0.6</com:HoursAllocationPercentage>
               <!--Optional:-->
               <com:HoursBucketCount>5</com:HoursBucketCount>
               <!--Optional:-->
               <com:HoursSchedulingMode>W</com:HoursSchedulingMode>
               <!--Optional:-->
               <com:HoursStartDate>2019-02-01z</com:HoursStartDate>
               <!--Optional:-->
               <com:ConstraintType>N</com:ConstraintType>
               <!--Optional:-->
               <!--com:MinutesPerBucket>500</com:MinutesPerBucket-->
            </sch:InitialAllocation>            
            <sch:KeywordsClearFlag>false</sch:KeywordsClearFlag>
            <sch:LocationClearFlag>false</sch:LocationClearFlag>
            <sch:LocationCriteriaClearFlag>true</sch:LocationCriteriaClearFlag>
            <sch:Mode>A</sch:Mode>
            <sch:ProjectIdentity>
               <com:ProjectCode>P001053-WS2</com:ProjectCode>
            </sch:ProjectIdentity>
            <sch:ProjectRole>
                <com:BaseRateOnTitleIdentity>
                  <com:DepartmentIdentity>
                     <com:DepartmentName>Management</com:DepartmentName>
                  </com:DepartmentIdentity>
                  <com:TitleName>Administrator</com:TitleName>
               </com:BaseRateOnTitleIdentity>
               <com:CandidateIdentities>
                  <!--Zero or more repetitions:-->
                  <com:PwsResourceRef>
                     <com:ResourceDisplayName>Max Yang</com:ResourceDisplayName>
                  </com:PwsResourceRef>
               </com:CandidateIdentities>
               <com:CostCenterAnyFlag>false</com:CostCenterAnyFlag>
               <com:CostCenterCriteria>
                  <!--Zero or more repetitions:-->
                  <com1:PwsCostCenterCriteria>
                     <com1:CascadeFlag>true</com1:CascadeFlag>
                     <com1:CostCenterIdentity>
                        <com:CostCenterName>RevCorp CH</com:CostCenterName>
                     </com1:CostCenterIdentity>
                  </com1:PwsCostCenterCriteria>
               </com:CostCenterCriteria>
               <com:CostCenterIdentity>
                  <com:CostCenterName>RevCorp CA</com:CostCenterName>
               </com:CostCenterIdentity>
               <com:DefaultSchedulingMode>W</com:DefaultSchedulingMode>
               <com:Description>Created from PwsSaveProjectRole 1</com:Description>
               <com:Keywords>Executive</com:Keywords>
              <com:LocationIdentities>
                  <!--Zero or more repetitions:-->
                  <com:PwsLocationRef>
                     <com:LocationName>Boston</com:LocationName>
                  </com:PwsLocationRef>
               </com:LocationIdentities>
 			 <com:LocationIdentity>
                  <com:LocationName>Shanghai</com:LocationName>
               </com:LocationIdentity>
                <com:ResourceIdentity>
                  <!--Optional:-->
                  <com:ResourceDisplayName>Larry Krakauer</com:ResourceDisplayName>
               </com:ResourceIdentity>
               <com:RoleEndDate>2019-12-31z</com:RoleEndDate>
               <com:RoleName>Role #2</com:RoleName>
               <com:RoleStartDate>2019-01-01z</com:RoleStartDate>
               <com:ShareCostCenterIdentity>
                  <com:CostCenterName>RevCorp CH</com:CostCenterName>
               </com:ShareCostCenterIdentity>
               <com:SkillCriteria>
                  <!--Zero or more repetitions:-->
                  <com:PwsSkillCriteria>
                     <com:SkillIdentity>
                        <com:SkillGroupIdentity>
                           <com:SkillGroupName>Technology</com:SkillGroupName>
                        </com:SkillGroupIdentity>
                        <com:SkillName>HTML</com:SkillName>
                     </com:SkillIdentity>
                     <com:SkillLevelMask>3</com:SkillLevelMask>
                  </com:PwsSkillCriteria>
               </com:SkillCriteria>
               <com:TitleIdentities>
                  <!--Zero or more repetitions:-->
                  <com:PwsTitleRef>
                     <com:DepartmentIdentity>
                        <com:DepartmentName>Technology</com:DepartmentName>
                     </com:DepartmentIdentity>
                     <com:TitleName>Technical Consultant</com:TitleName>
                  </com:PwsTitleRef>
               </com:TitleIdentities>
               <com:TitleIdentity>
                  <com:DepartmentIdentity>
                     <com:DepartmentName>Technology</com:DepartmentName>
                  </com:DepartmentIdentity>
                  <com:TitleName>Technical Consultant</com:TitleName>
               </com:TitleIdentity>
               <com:RdcTransferCurrencyIdentity>
                  <!--com:CurrencyCode>USD</com:CurrencyCode-->
               </com:RdcTransferCurrencyIdentity>
               <!--com:RdcTransferHourlyRate>7</com:RdcTransferHourlyRate-->
               <com:RevenueTransferHourlyRate>14</com:RevenueTransferHourlyRate>
               <com:RdcExceptions>
                  <!--Zero or more repetitions:-->
                  <com:PwsProjectRoleRdcException>
                     <com:BeginDate>2019-02-01z</com:BeginDate>
                     <com:EndDate>2019-02-08z</com:EndDate>
                     <com:HourlyRate>11</com:HourlyRate>
                     <com:RdcCurrencyIdentity>
                        <com:CurrencyCode>USD</com:CurrencyCode>
                     </com:RdcCurrencyIdentity>
                  </com:PwsProjectRoleRdcException>
               </com:RdcExceptions>
            </sch:ProjectRole>
            <sch:ResourceClearFlag>false</sch:ResourceClearFlag>
            <sch:RoleEndDateClearFlag>true</sch:RoleEndDateClearFlag>
            <pws:serviceRequest><sch:RoleStartDateClearFlag>true</sch:RoleStartDateClearFlag>
            <req:SessionTicket>Ae9v30fDNwFMx833f5Hesg==</req:SessionTicket><sch:ShareCostCenterClearFlag>true</sch:ShareCostCenterClearFlag>
            <sch:CandidatesClearFlag>true<SkillCriteriaClearFlag>true</sch:CandidatesClearFlag>SkillCriteriaClearFlag>
            <sch:CostCenterCriteriaClearFlag>true<TitleClearFlag>true</sch:CostCenterCriteriaClearFlag>TitleClearFlag>
            <sch:LocationCriteriaClearFlag>true<TitleCriteriaClearFlag>true</sch:LocationCriteriaClearFlag>TitleCriteriaClearFlag>
            <sch:Mode>A<RdcTransferHourlyRateClearFlag>true</sch:Mode>RdcTransferHourlyRateClearFlag>
            <sch:RevenueTransferHourlyRateClearFlag>true</sch:ProjectIdentity>RevenueTransferHourlyRateClearFlag>
               <com:ProjectCode>P001053-WS2</com:ProjectCode><sch:RateExceptionsClearFlag>true</sch:RateExceptionsClearFlag>
            <<sch:RdcExceptionsClearFlag>true</sch:ProjectIdentity>RdcExceptionsClearFlag>
         </pws:serviceRequest>
    <sch:ProjectRole>  </pws:PwsSaveProjectRole>
   </soapenv:Body>
</soapenv:Envelope>


Code Block
languagexml
titleExample 04 with unassigned/unnamed resource
collapsetrue
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/"       <com:ExternalSystemIdentifier>Role 001</com:ExternalSystemIdentifier>
               <com:BaseRateOnTitleIdentity>
                  <com:DepartmentIdentity>
                     <com:DepartmentName>Management</com:DepartmentName>
       xmlns:req="http://projectorpsa.com/DataContracts/Requests/" xmlns:sch="http://projectorpsa.com/DataContracts/Shared/Scheduling/" xmlns:com="http://projectorpsa.com/DataContracts/Shared/Common/" xmlns:com1="http://projectorpsa.com/CommonServices/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsSaveProjectRole>
   </com:DepartmentIdentity>      <pws:serviceRequest>
            <com:TitleName>Administrator</com:TitleName>
  <req:SessionTicket>AatU6Z3wNjEL/nIADBLl4w==</req:SessionTicket>
            </com:BaseRateOnTitleIdentity>!--sch:BaseRatesOnTitleClearFlag>false</sch:BaseRatesOnTitleClearFlag-->
               <com:CandidateIdentities><sch:CandidatesClearFlag>true</sch:CandidatesClearFlag>
            <sch:CostCenterClearFlag>false</sch:CostCenterClearFlag>
     <com:PwsResourceRef>       <sch:CostCenterCriteriaClearFlag>true</sch:CostCenterCriteriaClearFlag>
              <com:ResourceDisplayName>Max Yang</com:ResourceDisplayName><sch:DescriptionClearFlag>false</sch:DescriptionClearFlag>
                  </com:PwsResourceRef><sch:InitialAllocation>
               </com:CandidateIdentities>!--Optional:-->
               <com:CostCenterAnyFlag>false<HoursAllocationPercentage>0.6</com:CostCenterAnyFlag>HoursAllocationPercentage>
               <com:CostCenterCriteria><!--Optional:-->
               <com:HoursBucketCount>5</com:HoursBucketCount>
  <com1:PwsCostCenterCriteria>             <!--Optional:-->
        <com1:CascadeFlag>true</com1:CascadeFlag>       <com:HoursSchedulingMode>W</com:HoursSchedulingMode>
              <com1:CostCenterIdentity> <!--Optional:-->
               <com:HoursStartDate>2019-02-01z</com:HoursStartDate>
        <com:CostCenterName>RevCorp CH</com:CostCenterName>      <!--Optional:-->
               </com1:CostCenterIdentity>
 <com:ConstraintType>N</com:ConstraintType>
                </com1:PwsCostCenterCriteria><!--Optional:-->
               <!--com:MinutesPerBucket>500</com:CostCenterCriteria>MinutesPerBucket-->
            </sch:InitialAllocation>      <com:CostCenterIdentity>      
            <com<sch:CostCenterName>RevCorp CA<KeywordsClearFlag>false</comsch:CostCenterName>KeywordsClearFlag>
            <sch:LocationClearFlag>false</sch:LocationClearFlag>
  </com:CostCenterIdentity>          <sch:LocationCriteriaClearFlag>true</sch:LocationCriteriaClearFlag>
      <com:DefaultSchedulingMode>W</com:DefaultSchedulingMode>      <sch:Mode>A</sch:Mode>
         <com:Description>Created from PwsSaveProjectRole #2</com<sch:Description>ProjectIdentity>
               <com:Keywords>Executive</com:Keywords>ProjectCode>P001053-WS2</com:ProjectCode>
            </sch:ProjectIdentity>
            <com:LocationAnyFlag>true</com:LocationAnyFlag><sch:ProjectRole>
                <com:LocationIdentities>BaseRateOnTitleIdentity>
                  <com:PwsLocationRef>DepartmentIdentity>
                     <com:LocationName>Boston<DepartmentName>Management</com:LocationName>DepartmentName>
                  </com:PwsLocationRef>DepartmentIdentity>
                  <<com:TitleName>Administrator</com:LocationIdentities>TitleName>
               <com</com:LocationIdentity>BaseRateOnTitleIdentity>
                  <com:LocationName>Shanghai</com:LocationName>CandidateIdentities>
               </com:LocationIdentity>   <!--Zero or more repetitions:-->
         <com:ResourceIdentity>             <com:PwsResourceRef>
     <com:ResourceDisplayName>Oscar Cox</com:ResourceDisplayName>               <com:ResourceDisplayName>Max <Yang</com:ResourceIdentity>ResourceDisplayName>
                 <com:RoleName>Role WS-001< </com:RoleName>PwsResourceRef>
               <com:RoleStartDate>2018-01-01z<</com:RoleStartDate>CandidateIdentities>
               <com:ShareCostCenterIdentity>CostCenterAnyFlag>false</com:CostCenterAnyFlag>
               </com<com:ShareCostCenterIdentity>CostCenterCriteria>
               <com:SkillCriteria>   <!--Zero or more repetitions:-->
            <com:PwsSkillCriteria>      <com1:PwsCostCenterCriteria>
               <com:SkillIdentity>      <com1:CascadeFlag>true</com1:CascadeFlag>
                  <com:SkillGroupIdentity>   <com1:CostCenterIdentity>
                        <com:SkillGroupName>Technology<CostCenterName>RevCorp CH</com:SkillGroupName>
  CostCenterName>
                     </comcom1:SkillGroupIdentity>CostCenterIdentity>
                        <com:SkillName>HTML</com:SkillName>
     </com1:PwsCostCenterCriteria>
               </com:SkillIdentity>
CostCenterCriteria>
                    <com:SkillLevelMask>3</com:SkillLevelMask>CostCenterIdentity>
                  <<com:CostCenterName>RevCorp CA</com:PwsSkillCriteria>CostCenterName>
               </com:SkillCriteria>CostCenterIdentity>
               <com:TitleIdentities>DefaultSchedulingMode>W</com:DefaultSchedulingMode>
               <com:Description>Created from PwsSaveProjectRole <com1</com:PwsTitleRef>Description>
               <com:Keywords>Executive</com:Keywords>
        <com:DepartmentIdentity>      <com:LocationIdentities>
                  <com:DepartmentName>Technology</com:DepartmentName>
  <!--Zero or more repetitions:-->
                  </com<com:DepartmentIdentity>PwsLocationRef>
                     <com:TitleName>Technical Consultant<LocationName>Boston</com:TitleName>LocationName>
                  </com:PwsTitleRef>PwsLocationRef>
               </com:TitleIdentities>LocationIdentities>
 			 <com:LocationIdentity>
            <com:TitleIdentity>      <com:LocationName>Shanghai</com:LocationName>
            <com:DepartmentIdentity>     </com:LocationIdentity>
                <com:DepartmentName>Technology</com:DepartmentName>ResourceIdentity>
                  </com:DepartmentIdentity>!--Optional:-->
                  <com:TitleName>Technical Consultant<<!--com:ResourceDisplayName>Larry Krakauer</com:TitleName>ResourceDisplayName-->
               </com:TitleIdentity>ResourceIdentity>
               <com:RdcTransferCurrencyIdentity>:RoleEndDate>2019-12-31z</com:RoleEndDate>
               <<com:RoleName>Role #3</com:RdcTransferCurrencyIdentity>RoleName>
               <com:RevenueTransferHourlyRate>12<RoleStartDate>2019-01-01z</com:RevenueTransferHourlyRate>RoleStartDate>
            </sch:ProjectRole>   <com:ShareCostCenterIdentity>
         <sch:ShareCostCenterClearFlag>true</sch:ShareCostCenterClearFlag>             <sch:SkillCriteriaClearFlag>true</sch:SkillCriteriaClearFlag>
            <sch:StealLockFlag>true</sch:StealLockFlag><com:CostCenterName>RevCorp CH</com:CostCenterName>
               <sch:TitleCriteriaClearFlag>true<</sch:TitleCriteriaClearFlag>com:ShareCostCenterIdentity>
               <sch:RdcTransferHourlyRateClearFlag>false</sch:RdcTransferHourlyRateClearFlag><com:SkillCriteria>
               <sch:RevenueTransferHourlyRateClearFlag>true</sch:RevenueTransferHourlyRateClearFlag>   <!--Zero or more repetitions:-->
   </pws:serviceRequest>       </pws:PwsSaveProjectRole>    </soapenv:Body> </soapenv:Envelope>
Code Block
languagexml
titleExample 02
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/" xmlns:com1="http://projectorpsa.com/CommonServices/">
   <soapenv:Header/>
   <soapenv:Body>  <com:PwsSkillCriteria>
                     <com:SkillIdentity>
              <pws:PwsSaveProjectRole>          <pws<com:serviceRequest>SkillGroupIdentity>
              <req:SessionTicket>Af6PogAbIuL3jTtirBShRg==</req:SessionTicket>             <sch<com:Mode>R<SkillGroupName>Technology</sch:Mode>com:SkillGroupName>
                        <sch:ProjectIdentity></com:SkillGroupIdentity>
                        <com:ProjectCode>P001508-001<SkillName>HTML</com:ProjectCode>SkillName>
              </sch:ProjectIdentity>       </com:SkillIdentity>
     <sch:ProjectRole>                <com:SkillLevelMask>3</com:BaseRateOnTitleIdentity>SkillLevelMask>
                  <com:DepartmentIdentity>
     </com:PwsSkillCriteria>
               <com:DepartmentName>IT Team<</com:DepartmentName>SkillCriteria>
               <com:TitleIdentities>
  </com:DepartmentIdentity>                <!--Zero or more <com:TitleName>Level 1</com:TitleName>repetitions:-->
                  </com:BaseRateOnTitleIdentity><com:PwsTitleRef>
                     <com:CostCenterAnyFlag>false</com:CostCenterAnyFlag>DepartmentIdentity>
               <com:CostCenterCriteria>         <com:DepartmentName>Technology</com:DepartmentName>
         <com1:PwsCostCenterCriteria>             </com:DepartmentIdentity>
        <com1:CascadeFlag>false</com1:CascadeFlag>             <com:TitleName>Technical Consultant</com:TitleName>
       <com1:CostCenterIdentity>           </com:PwsTitleRef>
             <com:CostCenterName>IT Team (USA)</com:CostCenterName>TitleIdentities>
               <com:TitleIdentity>
     </com1:CostCenterIdentity>             <com:DepartmentIdentity>
     </com1:PwsCostCenterCriteria>                <<com:DepartmentName>Technology</com:CostCenterCriteria>DepartmentName>
                  <com</com:CostCenterIdentity>DepartmentIdentity>
                  <com:CostCenterNumber>IT Team (USA)<TitleName>Technical Consultant</com:CostCenterNumber>TitleName>
               </com:CostCenterIdentity>TitleIdentity>
               <com:LocationAnyFlag>false</com:LocationAnyFlag>RdcTransferCurrencyIdentity>
               <com:LocationIdentities>   <!--com:CurrencyCode>USD</com:CurrencyCode-->
               <com</com:PwsLocationRef>RdcTransferCurrencyIdentity>
                     <com:LocationName>USA<<!--com:RdcTransferHourlyRate>7</com:LocationName>RdcTransferHourlyRate-->
                  <<com:RevenueTransferHourlyRate>14</com:PwsLocationRef>
   RevenueTransferHourlyRate>
           </com:LocationIdentities>    <com:RdcExceptions>
           <com:LocationIdentity>       <!--Zero or more repetitions:-->
        <com:LocationName>USA</com:LocationName>          <com:PwsProjectRoleRdcException>
     </com:LocationIdentity>                <com:RoleName>Consultant<BeginDate>2019-02-01z</com:RoleName>BeginDate>
                     <com:TitleIdentities>EndDate>2019-02-08z</com:EndDate>
                     <com:HourlyRate>11</com:PwsTitleRef>HourlyRate>
                     <com:DepartmentIdentity>RdcCurrencyIdentity>
                        <com:DepartmentName>IT Team<CurrencyCode>USD</com:DepartmentName>CurrencyCode>
                     </com:DepartmentIdentity>RdcCurrencyIdentity>
                  </com:PwsProjectRoleRdcException>
              <com:TitleName>Level 1<</com:TitleName>RdcExceptions>
            </sch:ProjectRole>
     </com:PwsTitleRef>       <sch:ResourceClearFlag>false</sch:ResourceClearFlag>
        </com:TitleIdentities>    <sch:RoleEndDateClearFlag>true</sch:RoleEndDateClearFlag>
            <com:TitleIdentity><sch:RoleStartDateClearFlag>true</sch:RoleStartDateClearFlag>
            <sch:ShareCostCenterClearFlag>true</sch:ShareCostCenterClearFlag>
     <com:DepartmentIdentity>       <sch:SkillCriteriaClearFlag>true</sch:SkillCriteriaClearFlag>
              <com:DepartmentName>IT Team</com:DepartmentName><sch:TitleClearFlag>false</sch:TitleClearFlag>
            <sch:TitleCriteriaClearFlag>true</sch:TitleCriteriaClearFlag>
     </com:DepartmentIdentity>       <sch:RdcTransferHourlyRateClearFlag>true</sch:RdcTransferHourlyRateClearFlag>
            <com<sch:TitleName>Level 1<RevenueTransferHourlyRateClearFlag>true</comsch:TitleName>RevenueTransferHourlyRateClearFlag>
               </com:TitleIdentity><sch:RateExceptionsClearFlag>true</sch:RateExceptionsClearFlag>
               <com:ResourceTypeAnyFlag>true</com:ResourceTypeAnyFlag><sch:RdcExceptionsClearFlag>true</sch:RdcExceptionsClearFlag>
            <<sch:NameRoleFlag>false</sch:ProjectRole>NameRoleFlag>
         </pws:serviceRequest>
      </pws:PwsSaveProjectRole>
   </soapenv:Body>
</soapenv:Envelope>

Response Format

Panel
titlePwsSaveProjectRole Response
PwsSaveProjectRoleResponsePwsSaveProjectRoleResult: PwsSaveProjectRoleRs
  • Messages: PwsMessage[]
  • ResponseId: Int32
  • Status: RequestStatus
  • ServerTimestampUtc: DateTime
  • ProjectRoleIdentity: PwsProjectRoleRef
  • EngagementTimestamp: String
    soapenv:Envelope>

    Response Format


    Panel
    titlePwsSaveProjectRole 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.

    0

    Status

    RequestStatus

    Click here for more information.

    Ok

    ServerTimestampUtc

    DateTime

    Click here for more information.

    2018-02-14T15:34:53.8497124Z

    ProjectRoleIdentity

    PwsProjectRoleRef

    The identity of the project role just created/updated. Click here for more information.


    EngagementTimestamp

    String

    **deprecated**


    LockStolenFromUserIdentity

    ...

    PwsUserRef

    **deprecated**


    ProjectRole

    ...

    ...

    Response Elements

    PwsMessage[]

    Element

    Data Type

    Description

    Sample Data

    Messages

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

    ResponseId

    Int32

    Click here for more information.

    0

    Status

    RequestStatus

    Click here for more information.

    Ok

    ServerTimestampUtc

    DateTime

    Click here for more information.

    2018-02-14T15:34:53.8497124Z

    ProjectRoleIdentity

    PwsProjectRoleRef

    The identity of the project role just created/updated. Click here for more information.

    EngagementTimestamp

    String

    **deprecated**

    LockStolenFromUserIdentity

    PwsUserRef

    **deprecated**

    ProjectRolePwsProjectRoleElementThe full element structure for the role that was saved. This will be populated only if FullDetailFlag is set to 'true' in the request.ProjectRoleTimestampStringThis is an optimistic locking timestamp that, if provided on update request, will cause the request to fail when the timestamp stored in the database does not match the provided value.StolenLocksPwsEntityLockSummaryThis structure contains information about the locks that were stolen in order to complete this request, Will be included only when LocksToSteal is specified in the requestPwsProjectRoleElementThe full element structure for the role that was saved. This will be populated only if FullDetailFlag is set to 'true' in the request.
    ProjectRoleTimestampStringThis is an optimistic locking timestamp that, if provided on update request, will cause the request to fail when the timestamp stored in the database does not match the provided value.
    StolenLocksPwsEntityLockSummaryThis structure contains information about the locks that were stolen in order to complete this request, Will be included only when LocksToSteal is specified in the request.
    ResourcePartiallyInactiveFlagBooleanIf an initial allocation is specified in the input, this will be true if the role is a named role, and the resource was inactive for at least one day during the period of time over which there are requested or booked minutes.
    RevalueReportPwsRevalueReportInformation about time cards on the project role that were affected by the change. Populated only when RevalueAction is R (Revalue) or C (Check). If RevalueAction is R, the values included in this structure reflect what was done. If RevalueAction is C, the values reflect what would be done if the service were invoked again with RevalueAction set to R. 
    TotalRequestedOrScheduledMinutesDoubleIf an initial allocation is specified in the input, this will be the total number of minutes that were requested or booked (depending on Mode) for the role.

    Response Usage Example(s)

    ...