RAPP.Mercedes.VanCustomerAccount.Api

<back to all web services

FinanceDetails

The following routes are available for this service:
POST/financedetails/
import 'package:servicestack/servicestack.dart';

class ReturnStatus implements IConvertible
{
    String? ReturnCode;
    String? Message;

    ReturnStatus({this.ReturnCode,this.Message});
    ReturnStatus.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ReturnCode = json['ReturnCode'];
        Message = json['Message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ReturnCode': ReturnCode,
        'Message': Message
    };

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

class FinanceDetail implements IConvertible
{
    String? ContractNumber;
    DateTime? StartDate;
    DateTime? EndDate;
    String? Status;
    DateTime? TerminationDate;
    int? Term;
    String? Product;
    double? FinanceCharge;
    double? AdvanceRental;
    double? MonthlyInstalments;
    double? ResidualValue;
    double? Balloon;
    double? APR;

    FinanceDetail({this.ContractNumber,this.StartDate,this.EndDate,this.Status,this.TerminationDate,this.Term,this.Product,this.FinanceCharge,this.AdvanceRental,this.MonthlyInstalments,this.ResidualValue,this.Balloon,this.APR});
    FinanceDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContractNumber = json['ContractNumber'];
        StartDate = JsonConverters.fromJson(json['StartDate'],'DateTime',context!);
        EndDate = JsonConverters.fromJson(json['EndDate'],'DateTime',context!);
        Status = json['Status'];
        TerminationDate = JsonConverters.fromJson(json['TerminationDate'],'DateTime',context!);
        Term = json['Term'];
        Product = json['Product'];
        FinanceCharge = JsonConverters.toDouble(json['FinanceCharge']);
        AdvanceRental = JsonConverters.toDouble(json['AdvanceRental']);
        MonthlyInstalments = JsonConverters.toDouble(json['MonthlyInstalments']);
        ResidualValue = JsonConverters.toDouble(json['ResidualValue']);
        Balloon = JsonConverters.toDouble(json['Balloon']);
        APR = JsonConverters.toDouble(json['APR']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContractNumber': ContractNumber,
        'StartDate': JsonConverters.toJson(StartDate,'DateTime',context!),
        'EndDate': JsonConverters.toJson(EndDate,'DateTime',context!),
        'Status': Status,
        'TerminationDate': JsonConverters.toJson(TerminationDate,'DateTime',context!),
        'Term': Term,
        'Product': Product,
        'FinanceCharge': FinanceCharge,
        'AdvanceRental': AdvanceRental,
        'MonthlyInstalments': MonthlyInstalments,
        'ResidualValue': ResidualValue,
        'Balloon': Balloon,
        'APR': APR
    };

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

class FinanceDetailsResponse implements IConvertible
{
    ReturnStatus? Status;
    int? NumberOfPages;
    List<FinanceDetail>? FinanceDetails;

    FinanceDetailsResponse({this.Status,this.NumberOfPages,this.FinanceDetails});
    FinanceDetailsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Status = JsonConverters.fromJson(json['Status'],'ReturnStatus',context!);
        NumberOfPages = json['NumberOfPages'];
        FinanceDetails = JsonConverters.fromJson(json['FinanceDetails'],'List<FinanceDetail>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Status': JsonConverters.toJson(Status,'ReturnStatus',context!),
        'NumberOfPages': NumberOfPages,
        'FinanceDetails': JsonConverters.toJson(FinanceDetails,'List<FinanceDetail>',context!)
    };

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

class FinanceDetails implements IConvertible
{
    String? CIAMId;
    String? ChassisNumber;
    int? ItemsPerPage;
    int? PageNumber;

    FinanceDetails({this.CIAMId,this.ChassisNumber,this.ItemsPerPage,this.PageNumber});
    FinanceDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CIAMId = json['CIAMId'];
        ChassisNumber = json['ChassisNumber'];
        ItemsPerPage = json['ItemsPerPage'];
        PageNumber = json['PageNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CIAMId': CIAMId,
        'ChassisNumber': ChassisNumber,
        'ItemsPerPage': ItemsPerPage,
        'PageNumber': PageNumber
    };

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

TypeContext _ctx = TypeContext(library: 'webservices.mbukdatabase.co.uk', types: <String, TypeInfo> {
    'ReturnStatus': TypeInfo(TypeOf.Class, create:() => ReturnStatus()),
    'FinanceDetail': TypeInfo(TypeOf.Class, create:() => FinanceDetail()),
    'FinanceDetailsResponse': TypeInfo(TypeOf.Class, create:() => FinanceDetailsResponse()),
    'List<FinanceDetail>': TypeInfo(TypeOf.Class, create:() => <FinanceDetail>[]),
    'FinanceDetails': TypeInfo(TypeOf.Class, create:() => FinanceDetails()),
});

Dart FinanceDetails DTOs

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

HTTP + JSV

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

POST /financedetails/ HTTP/1.1 
Host: webservices.mbukdatabase.co.uk 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CIAMId: String,
	ChassisNumber: String,
	ItemsPerPage: 0,
	PageNumber: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Status: 
	{
		ReturnCode: String,
		Message: String
	},
	NumberOfPages: 0,
	FinanceDetails: 
	[
		{
			ContractNumber: String,
			StartDate: 0001-01-01,
			EndDate: 0001-01-01,
			Status: String,
			TerminationDate: 0001-01-01,
			Term: 0,
			Product: String,
			FinanceCharge: 0,
			AdvanceRental: 0,
			MonthlyInstalments: 0,
			ResidualValue: 0,
			Balloon: 0,
			APR: 0
		}
	]
}