BokaMera.API.Host

<back to all web services

GetPricesAfterRebateCode

Requires Authentication
The following routes are available for this service:
POST/rebatecodes/pricesGet the new pricesGet the new prices after applying RebateCodes
import 'package:servicestack/servicestack.dart';

class RebateCodeTypeResponse implements IConvertible
{
    int? Id;
    String? Name;
    String? Description;

    RebateCodeTypeResponse({this.Id,this.Name,this.Description});
    RebateCodeTypeResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Description = json['Description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Description': Description
    };

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

class AppliedRebateCodesResponse implements IConvertible
{
    String? RebateCodeSign;
    int? RebateCodeValue;
    RebateCodeTypeResponse? RebateCodeType;
    int? RebateCodeId;
    double? RebateAmount;

    AppliedRebateCodesResponse({this.RebateCodeSign,this.RebateCodeValue,this.RebateCodeType,this.RebateCodeId,this.RebateAmount});
    AppliedRebateCodesResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        RebateCodeSign = json['RebateCodeSign'];
        RebateCodeValue = json['RebateCodeValue'];
        RebateCodeType = JsonConverters.fromJson(json['RebateCodeType'],'RebateCodeTypeResponse',context!);
        RebateCodeId = json['RebateCodeId'];
        RebateAmount = JsonConverters.toDouble(json['RebateAmount']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'RebateCodeSign': RebateCodeSign,
        'RebateCodeValue': RebateCodeValue,
        'RebateCodeType': JsonConverters.toJson(RebateCodeType,'RebateCodeTypeResponse',context!),
        'RebateCodeId': RebateCodeId,
        'RebateAmount': RebateAmount
    };

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

class RebateCodePrice implements IConvertible
{
    /**
    * Price Id
    */
    // @ApiMember(Description="Price Id")
    int? PriceId;

    String? PriceText;
    double? PriceBeforeRebate;
    double? Price;
    double? VAT;
    List<AppliedRebateCodesResponse>? AppliedCodes;

    RebateCodePrice({this.PriceId,this.PriceText,this.PriceBeforeRebate,this.Price,this.VAT,this.AppliedCodes});
    RebateCodePrice.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PriceId = json['PriceId'];
        PriceText = json['PriceText'];
        PriceBeforeRebate = JsonConverters.toDouble(json['PriceBeforeRebate']);
        Price = JsonConverters.toDouble(json['Price']);
        VAT = JsonConverters.toDouble(json['VAT']);
        AppliedCodes = JsonConverters.fromJson(json['AppliedCodes'],'List<AppliedRebateCodesResponse>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PriceId': PriceId,
        'PriceText': PriceText,
        'PriceBeforeRebate': PriceBeforeRebate,
        'Price': Price,
        'VAT': VAT,
        'AppliedCodes': JsonConverters.toJson(AppliedCodes,'List<AppliedRebateCodesResponse>',context!)
    };

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

class RebateCodePriceResponse implements IConvertible
{
    List<RebateCodePrice>? RebateCodePrices;
    ResponseStatus? ResponseStatus;

    RebateCodePriceResponse({this.RebateCodePrices,this.ResponseStatus});
    RebateCodePriceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        RebateCodePrices = JsonConverters.fromJson(json['RebateCodePrices'],'List<RebateCodePrice>',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'RebateCodePrices': JsonConverters.toJson(RebateCodePrices,'List<RebateCodePrice>',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
class GetPricesAfterRebateCode implements IConvertible
{
    /**
    * 
    */
    // @ApiMember(Description="", IsRequired=true)
    String? CompanyId;

    /**
    * The service you want to get the prices with rebates on
    */
    // @ApiMember(Description="The service you want to get the prices with rebates on")
    int? ServiceId;

    /**
    * Provide this if you like to the prices with rebate code ids
    */
    // @ApiMember(Description="Provide this if you like to the prices with rebate code ids")
    List<int>? RebateCodeIds;

    /**
    * Provide this if you like to the prices with rebate code signs instead of ids
    */
    // @ApiMember(Description="Provide this if you like to the prices with rebate code signs instead of ids")
    List<String>? RebateCodeSigns;

    /**
    * Provide this if you like to calculate the prices with the provided datetime
    */
    // @ApiMember(Description="Provide this if you like to calculate the prices with the provided datetime", IsRequired=true)
    DateTime? DateFrom;

    GetPricesAfterRebateCode({this.CompanyId,this.ServiceId,this.RebateCodeIds,this.RebateCodeSigns,this.DateFrom});
    GetPricesAfterRebateCode.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CompanyId = json['CompanyId'];
        ServiceId = json['ServiceId'];
        RebateCodeIds = JsonConverters.fromJson(json['RebateCodeIds'],'List<int>',context!);
        RebateCodeSigns = JsonConverters.fromJson(json['RebateCodeSigns'],'List<String>',context!);
        DateFrom = JsonConverters.fromJson(json['DateFrom'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CompanyId': CompanyId,
        'ServiceId': ServiceId,
        'RebateCodeIds': JsonConverters.toJson(RebateCodeIds,'List<int>',context!),
        'RebateCodeSigns': JsonConverters.toJson(RebateCodeSigns,'List<String>',context!),
        'DateFrom': JsonConverters.toJson(DateFrom,'DateTime',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
    'RebateCodeTypeResponse': TypeInfo(TypeOf.Class, create:() => RebateCodeTypeResponse()),
    'AppliedRebateCodesResponse': TypeInfo(TypeOf.Class, create:() => AppliedRebateCodesResponse()),
    'RebateCodePrice': TypeInfo(TypeOf.Class, create:() => RebateCodePrice()),
    'List<AppliedRebateCodesResponse>': TypeInfo(TypeOf.Class, create:() => <AppliedRebateCodesResponse>[]),
    'RebateCodePriceResponse': TypeInfo(TypeOf.Class, create:() => RebateCodePriceResponse()),
    'List<RebateCodePrice>': TypeInfo(TypeOf.Class, create:() => <RebateCodePrice>[]),
    'GetPricesAfterRebateCode': TypeInfo(TypeOf.Class, create:() => GetPricesAfterRebateCode()),
});

Dart GetPricesAfterRebateCode 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 /rebatecodes/prices HTTP/1.1 
Host: api.bokamera.se 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetPricesAfterRebateCode xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <DateFrom>0001-01-01T00:00:00</DateFrom>
  <RebateCodeIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:int>0</d2p1:int>
  </RebateCodeIds>
  <RebateCodeSigns xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </RebateCodeSigns>
  <ServiceId>0</ServiceId>
</GetPricesAfterRebateCode>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<RebateCodePriceResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <RebateCodePrices>
    <RebateCodePrice>
      <AppliedCodes>
        <AppliedRebateCodesResponse>
          <RebateAmount>0</RebateAmount>
          <RebateCodeId>0</RebateCodeId>
          <RebateCodeSign>String</RebateCodeSign>
          <RebateCodeType>
            <Description>String</Description>
            <Id>0</Id>
            <Name>String</Name>
          </RebateCodeType>
          <RebateCodeValue>0</RebateCodeValue>
        </AppliedRebateCodesResponse>
      </AppliedCodes>
      <Price>0</Price>
      <PriceBeforeRebate>0</PriceBeforeRebate>
      <PriceId>0</PriceId>
      <PriceText>String</PriceText>
      <VAT>0</VAT>
    </RebateCodePrice>
  </RebateCodePrices>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</RebateCodePriceResponse>