| POST | /warranty/{saleDetailId}/extend | Extend a Sell-Out | Delete a sell-out you are authorized for |
|---|
<?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 Status implements JsonSerializable
{
public function __construct(
/** @description Unique Identifier of the Sell-out created in Booster */
// @ApiMember(Description="Unique Identifier of the Sell-out created in Booster", IsRequired=true)
/** @var string */
public string $id='',
/** @description Unique Identifier of the Sell-out created in Booster */
// @ApiMember(Description="Unique Identifier of the Sell-out created in Booster", IsRequired=true)
/** @var string */
public string $description=''
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['id'])) $this->id = $o['id'];
if (isset($o['description'])) $this->description = $o['description'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->id)) $o['id'] = $this->id;
if (isset($this->description)) $o['description'] = $this->description;
return empty($o) ? new class(){} : $o;
}
}
class StatusWarrantyExtension extends Status implements JsonSerializable
{
/**
* @param string $id
* @param string $description
*/
public function __construct(
string $id='',
string $description='',
/** @description Information about if a warranty can be retriggered */
// @ApiMember(Description="Information about if a warranty can be retriggered", IsRequired=true)
/** @var bool|null */
public ?bool $retriggerEnabled=null
) {
parent::__construct($id,$description);
}
/** @throws Exception */
public function fromMap($o): void {
parent::fromMap($o);
if (isset($o['retriggerEnabled'])) $this->retriggerEnabled = $o['retriggerEnabled'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = parent::jsonSerialize();
if (isset($this->retriggerEnabled)) $o['retriggerEnabled'] = $this->retriggerEnabled;
return empty($o) ? new class(){} : $o;
}
}
class ExtendSellOutResponse implements JsonSerializable
{
public function __construct(
/** @description ccp substatus information */
// @ApiMember(Description="ccp substatus information", IsRequired=true)
/** @var StatusWarrantyExtension|null */
public ?StatusWarrantyExtension $ccpStatus=null,
/** @description ccp main status information */
// @ApiMember(Description="ccp main status information", IsRequired=true)
/** @var Status|null */
public ?Status $boosterStatus=null
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['ccpStatus'])) $this->ccpStatus = JsonConverters::from('StatusWarrantyExtension', $o['ccpStatus']);
if (isset($o['boosterStatus'])) $this->boosterStatus = JsonConverters::from('Status', $o['boosterStatus']);
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->ccpStatus)) $o['ccpStatus'] = JsonConverters::to('StatusWarrantyExtension', $this->ccpStatus);
if (isset($this->boosterStatus)) $o['boosterStatus'] = JsonConverters::to('Status', $this->boosterStatus);
return empty($o) ? new class(){} : $o;
}
}
class ExtendSellOut implements JsonSerializable
{
public function __construct(
/** @description Unique Identifier of the Sell-out created in Booster */
// @ApiMember(Description="Unique Identifier of the Sell-out created in Booster", IsRequired=true)
/** @var int */
public int $saleDetailId=0
) {
}
/** @throws Exception */
public function fromMap($o): void {
if (isset($o['saleDetailId'])) $this->saleDetailId = $o['saleDetailId'];
}
/** @throws Exception */
public function jsonSerialize(): mixed
{
$o = [];
if (isset($this->saleDetailId)) $o['saleDetailId'] = $this->saleDetailId;
return empty($o) ? new class(){} : $o;
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /warranty/{saleDetailId}/extend HTTP/1.1
Host: dev-api-booster.richemont.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"saleDetailId":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"ccpStatus":{"retriggerEnabled":false,"id":"String","description":"String"},"boosterStatus":{"id":"String","description":"String"}}