ServiceStack Home (Live)

<back to all web services

GetQuote

The following routes are available for this service:
All Verbs/quote/{Id}/{Quantity}
All Verbs/quote/{Id}/{Quantity}/{Coupon}
GET/GetQuote
GET/GetQuote/{Id}
import 'package:servicestack/servicestack.dart';

class QuoteResponse implements IConvertible
{
    int? skuId;
    String? code;
    int? customerId;
    bool? modifyingExistingSubscription;
    bool? changingSubscriptions;
    bool? switchingLicensingModels;
    bool? replacesExistingQuantity;
    int? existingSubscriptionQuantity;
    int? newSubscriptionQuantity;
    String? unusedAmount;
    bool? manualProrating;
    int? unusedDays;
    int? quantity;
    int? minQuantity;
    int? maxQuantity;
    String? subtotal;
    String? discountDescription;
    String? discountReceived;
    String? discount;
    String? total;
    String? expiryDate;
    String? renewalDate;
    bool? isReferrer;
    ResponseStatus? responseStatus;

    QuoteResponse({this.skuId,this.code,this.customerId,this.modifyingExistingSubscription,this.changingSubscriptions,this.switchingLicensingModels,this.replacesExistingQuantity,this.existingSubscriptionQuantity,this.newSubscriptionQuantity,this.unusedAmount,this.manualProrating,this.unusedDays,this.quantity,this.minQuantity,this.maxQuantity,this.subtotal,this.discountDescription,this.discountReceived,this.discount,this.total,this.expiryDate,this.renewalDate,this.isReferrer,this.responseStatus});
    QuoteResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        skuId = json['skuId'];
        code = json['code'];
        customerId = json['customerId'];
        modifyingExistingSubscription = json['modifyingExistingSubscription'];
        changingSubscriptions = json['changingSubscriptions'];
        switchingLicensingModels = json['switchingLicensingModels'];
        replacesExistingQuantity = json['replacesExistingQuantity'];
        existingSubscriptionQuantity = json['existingSubscriptionQuantity'];
        newSubscriptionQuantity = json['newSubscriptionQuantity'];
        unusedAmount = json['unusedAmount'];
        manualProrating = json['manualProrating'];
        unusedDays = json['unusedDays'];
        quantity = json['quantity'];
        minQuantity = json['minQuantity'];
        maxQuantity = json['maxQuantity'];
        subtotal = json['subtotal'];
        discountDescription = json['discountDescription'];
        discountReceived = json['discountReceived'];
        discount = json['discount'];
        total = json['total'];
        expiryDate = json['expiryDate'];
        renewalDate = json['renewalDate'];
        isReferrer = json['isReferrer'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'skuId': skuId,
        'code': code,
        'customerId': customerId,
        'modifyingExistingSubscription': modifyingExistingSubscription,
        'changingSubscriptions': changingSubscriptions,
        'switchingLicensingModels': switchingLicensingModels,
        'replacesExistingQuantity': replacesExistingQuantity,
        'existingSubscriptionQuantity': existingSubscriptionQuantity,
        'newSubscriptionQuantity': newSubscriptionQuantity,
        'unusedAmount': unusedAmount,
        'manualProrating': manualProrating,
        'unusedDays': unusedDays,
        'quantity': quantity,
        'minQuantity': minQuantity,
        'maxQuantity': maxQuantity,
        'subtotal': subtotal,
        'discountDescription': discountDescription,
        'discountReceived': discountReceived,
        'discount': discount,
        'total': total,
        'expiryDate': expiryDate,
        'renewalDate': renewalDate,
        'isReferrer': isReferrer,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

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

class GetQuote implements IGet, IConvertible
{
    int? id;
    int? quantity;
    String? coupon;
    String? renewalRef;
    String? upgradeRef;

    GetQuote({this.id,this.quantity,this.coupon,this.renewalRef,this.upgradeRef});
    GetQuote.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        quantity = json['quantity'];
        coupon = json['coupon'];
        renewalRef = json['renewalRef'];
        upgradeRef = json['upgradeRef'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'quantity': quantity,
        'coupon': coupon,
        'renewalRef': renewalRef,
        'upgradeRef': upgradeRef
    };

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

TypeContext _ctx = TypeContext(library: 'account.servicestack.net', types: <String, TypeInfo> {
    'QuoteResponse': TypeInfo(TypeOf.Class, create:() => QuoteResponse()),
    'GetQuote': TypeInfo(TypeOf.Class, create:() => GetQuote()),
});

Dart GetQuote DTOs

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

HTTP + JSON

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

POST /quote/{Id}/{Quantity} HTTP/1.1 
Host: account.servicestack.net 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"id":0,"quantity":0,"coupon":"String","renewalRef":"String","upgradeRef":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"skuId":0,"code":"String","customerId":0,"modifyingExistingSubscription":false,"changingSubscriptions":false,"switchingLicensingModels":false,"replacesExistingQuantity":false,"existingSubscriptionQuantity":0,"newSubscriptionQuantity":0,"unusedAmount":"String","manualProrating":false,"unusedDays":0,"quantity":0,"minQuantity":0,"maxQuantity":0,"subtotal":"String","discountDescription":"String","discountReceived":"String","discount":"String","total":"String","expiryDate":"String","renewalDate":"String","isReferrer":false,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}