| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/Rfp/{RfpDocumentUID}/Addenda/{ChangeId}/Reject |
|---|
<?php namespace dtos;
use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};
class AddendaChange implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $ChangeId=null,
/** @var string|null */
public ?string $ChangeType=null,
/** @var int|null */
public ?int $TargetSeq=null,
/** @var string|null */
public ?string $ItemNumber=null,
/** @var string|null */
public ?string $ItemName=null,
/** @var string|null */
public ?string $Field=null,
/** @var string|null */
public ?string $OldValue=null,
/** @var string|null */
public ?string $NewValue=null,
/** @var string|null */
public ?string $Description=null,
/** @var string|null */
public ?string $Status=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ChangeId'])) $this->ChangeId = $o['ChangeId'];
if (isset($o['ChangeType'])) $this->ChangeType = $o['ChangeType'];
if (isset($o['TargetSeq'])) $this->TargetSeq = $o['TargetSeq'];
if (isset($o['ItemNumber'])) $this->ItemNumber = $o['ItemNumber'];
if (isset($o['ItemName'])) $this->ItemName = $o['ItemName'];
if (isset($o['Field'])) $this->Field = $o['Field'];
if (isset($o['OldValue'])) $this->OldValue = $o['OldValue'];
if (isset($o['NewValue'])) $this->NewValue = $o['NewValue'];
if (isset($o['Description'])) $this->Description = $o['Description'];
if (isset($o['Status'])) $this->Status = $o['Status'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ChangeId)) $o['ChangeId'] = $this->ChangeId;
if (isset($this->ChangeType)) $o['ChangeType'] = $this->ChangeType;
if (isset($this->TargetSeq)) $o['TargetSeq'] = $this->TargetSeq;
if (isset($this->ItemNumber)) $o['ItemNumber'] = $this->ItemNumber;
if (isset($this->ItemName)) $o['ItemName'] = $this->ItemName;
if (isset($this->Field)) $o['Field'] = $this->Field;
if (isset($this->OldValue)) $o['OldValue'] = $this->OldValue;
if (isset($this->NewValue)) $o['NewValue'] = $this->NewValue;
if (isset($this->Description)) $o['Description'] = $this->Description;
if (isset($this->Status)) $o['Status'] = $this->Status;
return empty($o) ? new class(){} : $o;
}
}
class AddendaChangeSet implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $ChangeSetId=null,
/** @var int */
public int $SourceRfpDocumentID=0,
/** @var string|null */
public ?string $SourceFileName=null,
/** @var string|null */
public ?string $DocumentType=null,
/** @var DateTime|null */
public ?DateTime $ExtractedAtUtc=null,
/** @var string|null */
public ?string $Summary=null,
/** @var array<AddendaChange>|null */
public ?array $Changes=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ChangeSetId'])) $this->ChangeSetId = $o['ChangeSetId'];
if (isset($o['SourceRfpDocumentID'])) $this->SourceRfpDocumentID = $o['SourceRfpDocumentID'];
if (isset($o['SourceFileName'])) $this->SourceFileName = $o['SourceFileName'];
if (isset($o['DocumentType'])) $this->DocumentType = $o['DocumentType'];
if (isset($o['ExtractedAtUtc'])) $this->ExtractedAtUtc = JsonConverters::from('DateTime', $o['ExtractedAtUtc']);
if (isset($o['Summary'])) $this->Summary = $o['Summary'];
if (isset($o['Changes'])) $this->Changes = JsonConverters::fromArray('AddendaChange', $o['Changes']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ChangeSetId)) $o['ChangeSetId'] = $this->ChangeSetId;
if (isset($this->SourceRfpDocumentID)) $o['SourceRfpDocumentID'] = $this->SourceRfpDocumentID;
if (isset($this->SourceFileName)) $o['SourceFileName'] = $this->SourceFileName;
if (isset($this->DocumentType)) $o['DocumentType'] = $this->DocumentType;
if (isset($this->ExtractedAtUtc)) $o['ExtractedAtUtc'] = JsonConverters::to('DateTime', $this->ExtractedAtUtc);
if (isset($this->Summary)) $o['Summary'] = $this->Summary;
if (isset($this->Changes)) $o['Changes'] = JsonConverters::toArray('AddendaChange', $this->Changes);
return empty($o) ? new class(){} : $o;
}
}
class WageClassification implements JsonSerializable
{
public function __construct(
/** @var string|null */
public ?string $Title=null,
/** @var float|null */
public ?float $BaseRate=null,
/** @var float|null */
public ?float $FringeRate=null,
/** @var string|null */
public ?string $ParishNote=null,
/** @var string|null */
public ?string $SourceLine=null,
/** @var float|null */
public ?float $BenchmarkFringeRate=null,
/** @var string|null */
public ?string $FringeCompareNote=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['Title'])) $this->Title = $o['Title'];
if (isset($o['BaseRate'])) $this->BaseRate = $o['BaseRate'];
if (isset($o['FringeRate'])) $this->FringeRate = $o['FringeRate'];
if (isset($o['ParishNote'])) $this->ParishNote = $o['ParishNote'];
if (isset($o['SourceLine'])) $this->SourceLine = $o['SourceLine'];
if (isset($o['BenchmarkFringeRate'])) $this->BenchmarkFringeRate = $o['BenchmarkFringeRate'];
if (isset($o['FringeCompareNote'])) $this->FringeCompareNote = $o['FringeCompareNote'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->Title)) $o['Title'] = $this->Title;
if (isset($this->BaseRate)) $o['BaseRate'] = $this->BaseRate;
if (isset($this->FringeRate)) $o['FringeRate'] = $this->FringeRate;
if (isset($this->ParishNote)) $o['ParishNote'] = $this->ParishNote;
if (isset($this->SourceLine)) $o['SourceLine'] = $this->SourceLine;
if (isset($this->BenchmarkFringeRate)) $o['BenchmarkFringeRate'] = $this->BenchmarkFringeRate;
if (isset($this->FringeCompareNote)) $o['FringeCompareNote'] = $this->FringeCompareNote;
return empty($o) ? new class(){} : $o;
}
}
class WageDeterminationResult implements JsonSerializable
{
public function __construct(
/** @var int */
public int $SourceRfpDocumentID=0,
/** @var string|null */
public ?string $SourceFileName=null,
/** @var string|null */
public ?string $WdNumber=null,
/** @var DateTime|null */
public ?DateTime $ExtractedAtUtc=null,
/** @var array<WageClassification>|null */
public ?array $Classifications=null,
/** @var string|null */
public ?string $Source=null,
/** @var bool|null */
public ?bool $IsTrustworthy=null,
/** @var float|null */
public ?float $ExecutiveOrderFloor=null,
/** @var string|null */
public ?string $PublishedDate=null,
/** @var string|null */
public ?string $ProjectParish=null,
/** @var array<string>|null */
public ?array $Warnings=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['SourceRfpDocumentID'])) $this->SourceRfpDocumentID = $o['SourceRfpDocumentID'];
if (isset($o['SourceFileName'])) $this->SourceFileName = $o['SourceFileName'];
if (isset($o['WdNumber'])) $this->WdNumber = $o['WdNumber'];
if (isset($o['ExtractedAtUtc'])) $this->ExtractedAtUtc = JsonConverters::from('DateTime', $o['ExtractedAtUtc']);
if (isset($o['Classifications'])) $this->Classifications = JsonConverters::fromArray('WageClassification', $o['Classifications']);
if (isset($o['Source'])) $this->Source = $o['Source'];
if (isset($o['IsTrustworthy'])) $this->IsTrustworthy = $o['IsTrustworthy'];
if (isset($o['ExecutiveOrderFloor'])) $this->ExecutiveOrderFloor = $o['ExecutiveOrderFloor'];
if (isset($o['PublishedDate'])) $this->PublishedDate = $o['PublishedDate'];
if (isset($o['ProjectParish'])) $this->ProjectParish = $o['ProjectParish'];
if (isset($o['Warnings'])) $this->Warnings = JsonConverters::fromArray('string', $o['Warnings']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->SourceRfpDocumentID)) $o['SourceRfpDocumentID'] = $this->SourceRfpDocumentID;
if (isset($this->SourceFileName)) $o['SourceFileName'] = $this->SourceFileName;
if (isset($this->WdNumber)) $o['WdNumber'] = $this->WdNumber;
if (isset($this->ExtractedAtUtc)) $o['ExtractedAtUtc'] = JsonConverters::to('DateTime', $this->ExtractedAtUtc);
if (isset($this->Classifications)) $o['Classifications'] = JsonConverters::toArray('WageClassification', $this->Classifications);
if (isset($this->Source)) $o['Source'] = $this->Source;
if (isset($this->IsTrustworthy)) $o['IsTrustworthy'] = $this->IsTrustworthy;
if (isset($this->ExecutiveOrderFloor)) $o['ExecutiveOrderFloor'] = $this->ExecutiveOrderFloor;
if (isset($this->PublishedDate)) $o['PublishedDate'] = $this->PublishedDate;
if (isset($this->ProjectParish)) $o['ProjectParish'] = $this->ProjectParish;
if (isset($this->Warnings)) $o['Warnings'] = JsonConverters::toArray('string', $this->Warnings);
return empty($o) ? new class(){} : $o;
}
}
class RfpAddendaResponse implements JsonSerializable
{
public function __construct(
/** @var ResponseStatus|null */
public ?ResponseStatus $ResponseStatus=null,
/** @var int */
public int $RfpDocumentID=0,
/** @var array<AddendaChangeSet>|null */
public ?array $Diffs=null,
/** @var array<WageDeterminationResult>|null */
public ?array $WageDeterminations=null,
/** @var string|null */
public ?string $Message=null,
/** @var bool|null */
public ?bool $Reflowed=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ResponseStatus'])) $this->ResponseStatus = JsonConverters::from('ResponseStatus', $o['ResponseStatus']);
if (isset($o['RfpDocumentID'])) $this->RfpDocumentID = $o['RfpDocumentID'];
if (isset($o['Diffs'])) $this->Diffs = JsonConverters::fromArray('AddendaChangeSet', $o['Diffs']);
if (isset($o['WageDeterminations'])) $this->WageDeterminations = JsonConverters::fromArray('WageDeterminationResult', $o['WageDeterminations']);
if (isset($o['Message'])) $this->Message = $o['Message'];
if (isset($o['Reflowed'])) $this->Reflowed = $o['Reflowed'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ResponseStatus)) $o['ResponseStatus'] = JsonConverters::to('ResponseStatus', $this->ResponseStatus);
if (isset($this->RfpDocumentID)) $o['RfpDocumentID'] = $this->RfpDocumentID;
if (isset($this->Diffs)) $o['Diffs'] = JsonConverters::toArray('AddendaChangeSet', $this->Diffs);
if (isset($this->WageDeterminations)) $o['WageDeterminations'] = JsonConverters::toArray('WageDeterminationResult', $this->WageDeterminations);
if (isset($this->Message)) $o['Message'] = $this->Message;
if (isset($this->Reflowed)) $o['Reflowed'] = $this->Reflowed;
return empty($o) ? new class(){} : $o;
}
}
class RfpAddendaRejectRequest implements JsonSerializable
{
public function __construct(
/** @var string */
public string $RfpDocumentUID='',
/** @var string|null */
public ?string $ChangeId=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['RfpDocumentUID'])) $this->RfpDocumentUID = $o['RfpDocumentUID'];
if (isset($o['ChangeId'])) $this->ChangeId = $o['ChangeId'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->RfpDocumentUID)) $o['RfpDocumentUID'] = $this->RfpDocumentUID;
if (isset($this->ChangeId)) $o['ChangeId'] = $this->ChangeId;
return empty($o) ? new class(){} : $o;
}
}
PHP RfpAddendaRejectRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Rfp/{RfpDocumentUID}/Addenda/{ChangeId}/Reject HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<RfpAddendaRejectRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<ChangeId>String</ChangeId>
<RfpDocumentUID>00000000-0000-0000-0000-000000000000</RfpDocumentUID>
</RfpAddendaRejectRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<RfpAddendaResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Diffs>
<AddendaChangeSet>
<ChangeSetId>String</ChangeSetId>
<Changes>
<AddendaChange>
<ChangeId>String</ChangeId>
<ChangeType>String</ChangeType>
<Description>String</Description>
<Field>String</Field>
<ItemName>String</ItemName>
<ItemNumber>String</ItemNumber>
<NewValue>String</NewValue>
<OldValue>String</OldValue>
<Status>String</Status>
<TargetSeq>0</TargetSeq>
</AddendaChange>
</Changes>
<DocumentType>String</DocumentType>
<ExtractedAtUtc>0001-01-01T00:00:00</ExtractedAtUtc>
<SourceFileName>String</SourceFileName>
<SourceRfpDocumentID>0</SourceRfpDocumentID>
<Summary>String</Summary>
</AddendaChangeSet>
</Diffs>
<Message>String</Message>
<Reflowed>false</Reflowed>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<RfpDocumentID>0</RfpDocumentID>
<WageDeterminations>
<WageDeterminationResult>
<Classifications>
<WageClassification>
<BaseRate>0</BaseRate>
<BenchmarkFringeRate>0</BenchmarkFringeRate>
<FringeCompareNote>String</FringeCompareNote>
<FringeRate>0</FringeRate>
<ParishNote>String</ParishNote>
<SourceLine>String</SourceLine>
<Title>String</Title>
</WageClassification>
</Classifications>
<ExecutiveOrderFloor>0</ExecutiveOrderFloor>
<ExtractedAtUtc>0001-01-01T00:00:00</ExtractedAtUtc>
<IsTrustworthy>false</IsTrustworthy>
<ProjectParish>String</ProjectParish>
<PublishedDate>String</PublishedDate>
<Source>String</Source>
<SourceFileName>String</SourceFileName>
<SourceRfpDocumentID>0</SourceRfpDocumentID>
<Warnings xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</Warnings>
<WdNumber>String</WdNumber>
</WageDeterminationResult>
</WageDeterminations>
</RfpAddendaResponse>