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 .other suffix or ?format=other

HTTP + OTHER

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: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"siteId":0,"force":false,"ref":"String","serial":"String","invoiceNumber":"String","activationDate":"\/Date(-62135596800000-0000)\/","note":"String","promoterTypeId":"String","issuedBy":"String","nfcCardUID":"String","appVersion":"String","searchMethod":"String","deviceOS":"String","sid":"String","app":"String","_os":"String","_appVersion":"String","_searchMethod":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"_xmlns":"String","_type":"String","_source":"String","_tstamp":"String","_user":"String","_env":"String","_uri":"String","_query":"String"}