Booster.Microservices

<back to all web services

CreateWarrantyCardRequest

Requires Authentication
The following routes are available for this service:
POST/warranty/v1/site/{siteId}/card
import 'package:servicestack/servicestack.dart';

class BaseRequest<TResponse> implements IRequest, IConvertible
{
    String? sid;
    String? app;
    String? _os;
    String? _appVersion;
    String? _searchMethod;

    BaseRequest({this.sid,this.app,this._os,this._appVersion,this._searchMethod});
    BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        sid = json['sid'];
        app = json['app'];
        _os = json['_os'];
        _appVersion = json['_appVersion'];
        _searchMethod = json['_searchMethod'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'sid': sid,
        'app': app,
        '_os': _os,
        '_appVersion': _appVersion,
        '_searchMethod': _searchMethod
    };

    getTypeName() => "BaseRequest<$TResponse>";
    TypeContext? context = _ctx;
}

class BaseResponse implements IRespose, IConvertible
{
    String? _xmlns;
    String? _type;
    String? _source;
    String? _tstamp;
    String? _user;
    String? _env;
    String? _uri;
    String? _query;

    BaseResponse({this._xmlns,this._type,this._source,this._tstamp,this._user,this._env,this._uri,this._query});
    BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        _xmlns = json['_xmlns'];
        _type = json['_type'];
        _source = json['_source'];
        _tstamp = json['_tstamp'];
        _user = json['_user'];
        _env = json['_env'];
        _uri = json['_uri'];
        _query = json['_query'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        '_xmlns': _xmlns,
        '_type': _type,
        '_source': _source,
        '_tstamp': _tstamp,
        '_user': _user,
        '_env': _env,
        '_uri': _uri,
        '_query': _query
    };

    getTypeName() => "BaseResponse";
    TypeContext? context = _ctx;
}

class CreateWarrantyCardResponse extends BaseResponse implements IConvertible
{
    CreateWarrantyCardResponse();
    CreateWarrantyCardResponse.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "CreateWarrantyCardResponse";
    TypeContext? context = _ctx;
}

class CreateWarrantyCardRequest extends BaseRequest<CreateWarrantyCardResponse> implements IConvertible
{
    int? siteId;
    bool? force;
    String? ref;
    String? serial;
    String? invoiceNumber;
    DateTime? activationDate;
    String? note;
    String? promoterTypeId;
    String? issuedBy;
    String? nfcCardUID;
    String? appVersion;
    String? searchMethod;
    String? deviceOS;

    CreateWarrantyCardRequest({this.siteId,this.force,this.ref,this.serial,this.invoiceNumber,this.activationDate,this.note,this.promoterTypeId,this.issuedBy,this.nfcCardUID,this.appVersion,this.searchMethod,this.deviceOS});
    CreateWarrantyCardRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        siteId = json['siteId'];
        force = json['force'];
        ref = json['ref'];
        serial = json['serial'];
        invoiceNumber = json['invoiceNumber'];
        activationDate = JsonConverters.fromJson(json['activationDate'],'DateTime',context!);
        note = json['note'];
        promoterTypeId = json['promoterTypeId'];
        issuedBy = json['issuedBy'];
        nfcCardUID = json['nfcCardUID'];
        appVersion = json['appVersion'];
        searchMethod = json['searchMethod'];
        deviceOS = json['deviceOS'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'siteId': siteId,
        'force': force,
        'ref': ref,
        'serial': serial,
        'invoiceNumber': invoiceNumber,
        'activationDate': JsonConverters.toJson(activationDate,'DateTime',context!),
        'note': note,
        'promoterTypeId': promoterTypeId,
        'issuedBy': issuedBy,
        'nfcCardUID': nfcCardUID,
        'appVersion': appVersion,
        'searchMethod': searchMethod,
        'deviceOS': deviceOS
    });

    getTypeName() => "CreateWarrantyCardRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'qp_microservices_booster.richemont.com', types: <String, TypeInfo> {
    'BaseRequest<TResponse>': TypeInfo(TypeOf.Class, create:() => BaseRequest<TResponse>()),
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'CreateWarrantyCardResponse': TypeInfo(TypeOf.Class, create:() => CreateWarrantyCardResponse()),
    'CreateWarrantyCardRequest': TypeInfo(TypeOf.Class, create:() => CreateWarrantyCardRequest()),
});

Dart CreateWarrantyCardRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /warranty/v1/site/{siteId}/card HTTP/1.1 
Host: qp-microservices-booster.richemont.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CreateWarrantyCardRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Sale">
  <_appVersion xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_appVersion>
  <_os xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_os>
  <_searchMethod xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_searchMethod>
  <app xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</app>
  <sid xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</sid>
  <activationDate>0001-01-01T00:00:00</activationDate>
  <appVersion>String</appVersion>
  <deviceOS>String</deviceOS>
  <force>false</force>
  <invoiceNumber>String</invoiceNumber>
  <issuedBy>String</issuedBy>
  <nfcCardUID>String</nfcCardUID>
  <note>String</note>
  <promoterTypeId>String</promoterTypeId>
  <ref>String</ref>
  <searchMethod>String</searchMethod>
  <serial>String</serial>
  <siteId>0</siteId>
</CreateWarrantyCardRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CreateWarrantyCardResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Sale">
  <_env xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_env>
  <_query xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_query>
  <_source xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_source>
  <_tstamp xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_tstamp>
  <_type xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_type>
  <_uri xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_uri>
  <_user xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_user>
  <_xmlns xmlns="http://schemas.datacontract.org/2004/07/Booster.Microservices.ServiceModel.Common">String</_xmlns>
</CreateWarrantyCardResponse>