AIM Web Services

<back to all web services

History360Request

History360
Requires active-e Customer Service.

The following routes are available for this service:
GET/api/History360
import 'package:servicestack/servicestack.dart';

// @DataContract
class BaseRequest implements IConvertible
{
    /**
    * This is your AIM API Key provided by Tri-Tech
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
    String? ApiKey;

    // @DataMember
    // @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
    String? OAuthToken;

    BaseRequest({this.ApiKey,this.OAuthToken});
    BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'ApiKey': ApiKey,
        'OAuthToken': OAuthToken
    };

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

// @DataContract
class BaseSecureRequest extends BaseRequest implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
    String? Token;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
    String? DeviceId;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
    String? AppId;

    BaseSecureRequest({this.Token,this.DeviceId,this.AppId});
    BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Token = json['Token'];
        DeviceId = json['DeviceId'];
        AppId = json['AppId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Token': Token,
        'DeviceId': DeviceId,
        'AppId': AppId
    });

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

// @DataContract
class BaseResponseResult implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
    String? StatusCode;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
    String? Login;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
    String? ErrorCode;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
    String? ErrorDisplayText;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
    String? ErrorMessage;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
    String? DomainName;

    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
    String? IpAddress;

    BaseResponseResult({this.StatusCode,this.Login,this.ErrorCode,this.ErrorDisplayText,this.ErrorMessage,this.DomainName,this.IpAddress});
    BaseResponseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        StatusCode = json['StatusCode'];
        Login = json['Login'];
        ErrorCode = json['ErrorCode'];
        ErrorDisplayText = json['ErrorDisplayText'];
        ErrorMessage = json['ErrorMessage'];
        DomainName = json['DomainName'];
        IpAddress = json['IpAddress'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'StatusCode': StatusCode,
        'Login': Login,
        'ErrorCode': ErrorCode,
        'ErrorDisplayText': ErrorDisplayText,
        'ErrorMessage': ErrorMessage,
        'DomainName': DomainName,
        'IpAddress': IpAddress
    };

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

// @DataContract
class BaseResponse implements IConvertible
{
    /**
    * 
    */
    // @DataMember
    // @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
    BaseResponseResult? Status;

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

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

    Map<String, dynamic> toJson() => {
        'Status': JsonConverters.toJson(Status,'BaseResponseResult',context!)
    };

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

// @DataContract
class Item360 implements IConvertible
{
    // @DataMember
    int? PslrId;

    // @DataMember
    double? Quantity;

    // @DataMember
    double? Price;

    // @DataMember
    double? TotalDiscountAmount;

    // @DataMember
    String? SerialNumber;

    // @DataMember
    String? Condition;

    Item360({this.PslrId,this.Quantity,this.Price,this.TotalDiscountAmount,this.SerialNumber,this.Condition});
    Item360.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PslrId = json['PslrId'];
        Quantity = JsonConverters.toDouble(json['Quantity']);
        Price = JsonConverters.toDouble(json['Price']);
        TotalDiscountAmount = JsonConverters.toDouble(json['TotalDiscountAmount']);
        SerialNumber = json['SerialNumber'];
        Condition = json['Condition'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PslrId': PslrId,
        'Quantity': Quantity,
        'Price': Price,
        'TotalDiscountAmount': TotalDiscountAmount,
        'SerialNumber': SerialNumber,
        'Condition': Condition
    };

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

// @DataContract
class Invoice360 implements IConvertible
{
    // @DataMember
    String? Id;

    // @DataMember
    DateTime? DueDate;

    // @DataMember
    double? Total;

    // @DataMember
    String? Status;

    // @DataMember
    double? AmountPaid;

    // @DataMember
    double? LateFeeAmount;

    // @DataMember
    DateTime? PurchaseDate;

    // @DataMember
    int? StoreLocationId;

    // @DataMember
    List<Item360>? Items;

    Invoice360({this.Id,this.DueDate,this.Total,this.Status,this.AmountPaid,this.LateFeeAmount,this.PurchaseDate,this.StoreLocationId,this.Items});
    Invoice360.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        DueDate = JsonConverters.fromJson(json['DueDate'],'DateTime',context!);
        Total = JsonConverters.toDouble(json['Total']);
        Status = json['Status'];
        AmountPaid = JsonConverters.toDouble(json['AmountPaid']);
        LateFeeAmount = JsonConverters.toDouble(json['LateFeeAmount']);
        PurchaseDate = JsonConverters.fromJson(json['PurchaseDate'],'DateTime',context!);
        StoreLocationId = json['StoreLocationId'];
        Items = JsonConverters.fromJson(json['Items'],'List<Item360>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'DueDate': JsonConverters.toJson(DueDate,'DateTime',context!),
        'Total': Total,
        'Status': Status,
        'AmountPaid': AmountPaid,
        'LateFeeAmount': LateFeeAmount,
        'PurchaseDate': JsonConverters.toJson(PurchaseDate,'DateTime',context!),
        'StoreLocationId': StoreLocationId,
        'Items': JsonConverters.toJson(Items,'List<Item360>',context!)
    };

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

// @DataContract
class Order360 implements IConvertible
{
    // @DataMember
    int? Id;

    // @DataMember
    DateTime? Date;

    // @DataMember
    double? Discount;

    // @DataMember
    String? PaymentType;

    // @DataMember
    double? SubTotal;

    // @DataMember
    double? Tax;

    // @DataMember
    double? ShippingAmount;

    // @DataMember
    double? Total;

    Order360({this.Id,this.Date,this.Discount,this.PaymentType,this.SubTotal,this.Tax,this.ShippingAmount,this.Total});
    Order360.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Date = JsonConverters.fromJson(json['Date'],'DateTime',context!);
        Discount = JsonConverters.toDouble(json['Discount']);
        PaymentType = json['PaymentType'];
        SubTotal = JsonConverters.toDouble(json['SubTotal']);
        Tax = JsonConverters.toDouble(json['Tax']);
        ShippingAmount = JsonConverters.toDouble(json['ShippingAmount']);
        Total = JsonConverters.toDouble(json['Total']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Date': JsonConverters.toJson(Date,'DateTime',context!),
        'Discount': Discount,
        'PaymentType': PaymentType,
        'SubTotal': SubTotal,
        'Tax': Tax,
        'ShippingAmount': ShippingAmount,
        'Total': Total
    };

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

// @DataContract
class Job360 implements IConvertible
{
    // @DataMember
    String? ItemId;

    // @DataMember
    String? ItemType;

    // @DataMember
    String? Title;

    // @DataMember
    double? Quantity;

    // @DataMember
    double? Price;

    // @DataMember
    double? TotalDiscountAmount;

    // @DataMember
    String? SerialNumber;

    // @DataMember
    String? Condition;

    Job360({this.ItemId,this.ItemType,this.Title,this.Quantity,this.Price,this.TotalDiscountAmount,this.SerialNumber,this.Condition});
    Job360.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ItemId = json['ItemId'];
        ItemType = json['ItemType'];
        Title = json['Title'];
        Quantity = JsonConverters.toDouble(json['Quantity']);
        Price = JsonConverters.toDouble(json['Price']);
        TotalDiscountAmount = JsonConverters.toDouble(json['TotalDiscountAmount']);
        SerialNumber = json['SerialNumber'];
        Condition = json['Condition'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ItemId': ItemId,
        'ItemType': ItemType,
        'Title': Title,
        'Quantity': Quantity,
        'Price': Price,
        'TotalDiscountAmount': TotalDiscountAmount,
        'SerialNumber': SerialNumber,
        'Condition': Condition
    };

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

// @DataContract
class WorkOrder360 implements IConvertible
{
    // @DataMember
    String? Id;

    // @DataMember
    String? Status;

    // @DataMember
    double? Deposit;

    // @DataMember
    int? StoreLocationId;

    // @DataMember
    DateTime? CreationDate;

    // @DataMember
    DateTime? CompletedDate;

    // @DataMember
    double? Price;

    // @DataMember
    List<Job360>? Jobs;

    WorkOrder360({this.Id,this.Status,this.Deposit,this.StoreLocationId,this.CreationDate,this.CompletedDate,this.Price,this.Jobs});
    WorkOrder360.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Status = json['Status'];
        Deposit = JsonConverters.toDouble(json['Deposit']);
        StoreLocationId = json['StoreLocationId'];
        CreationDate = JsonConverters.fromJson(json['CreationDate'],'DateTime',context!);
        CompletedDate = JsonConverters.fromJson(json['CompletedDate'],'DateTime',context!);
        Price = JsonConverters.toDouble(json['Price']);
        Jobs = JsonConverters.fromJson(json['Jobs'],'List<Job360>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Status': Status,
        'Deposit': Deposit,
        'StoreLocationId': StoreLocationId,
        'CreationDate': JsonConverters.toJson(CreationDate,'DateTime',context!),
        'CompletedDate': JsonConverters.toJson(CompletedDate,'DateTime',context!),
        'Price': Price,
        'Jobs': JsonConverters.toJson(Jobs,'List<Job360>',context!)
    };

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

// @DataContract
class Contract360 implements IConvertible
{
    // @DataMember
    String? Id;

    // @DataMember
    DateTime? PaymentDate;

    // @DataMember
    int? StoreLocationId;

    // @DataMember
    double? AmountDue;

    // @DataMember
    double? LateFee;

    // @DataMember
    String? ContractStatus;

    // @DataMember
    double? Amount;

    // @DataMember
    List<Item360>? ContractItems;

    Contract360({this.Id,this.PaymentDate,this.StoreLocationId,this.AmountDue,this.LateFee,this.ContractStatus,this.Amount,this.ContractItems});
    Contract360.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        PaymentDate = JsonConverters.fromJson(json['PaymentDate'],'DateTime',context!);
        StoreLocationId = json['StoreLocationId'];
        AmountDue = JsonConverters.toDouble(json['AmountDue']);
        LateFee = JsonConverters.toDouble(json['LateFee']);
        ContractStatus = json['ContractStatus'];
        Amount = JsonConverters.toDouble(json['Amount']);
        ContractItems = JsonConverters.fromJson(json['ContractItems'],'List<Item360>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'PaymentDate': JsonConverters.toJson(PaymentDate,'DateTime',context!),
        'StoreLocationId': StoreLocationId,
        'AmountDue': AmountDue,
        'LateFee': LateFee,
        'ContractStatus': ContractStatus,
        'Amount': Amount,
        'ContractItems': JsonConverters.toJson(ContractItems,'List<Item360>',context!)
    };

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

// @DataContract
class History360Response extends BaseResponse implements IConvertible
{
    // @DataMember
    List<Invoice360>? Invoices;

    // @DataMember
    List<Order360>? Orders;

    // @DataMember
    List<WorkOrder360>? WorkOrders;

    // @DataMember
    List<Contract360>? Contracts;

    History360Response({this.Invoices,this.Orders,this.WorkOrders,this.Contracts});
    History360Response.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Invoices = JsonConverters.fromJson(json['Invoices'],'List<Invoice360>',context!);
        Orders = JsonConverters.fromJson(json['Orders'],'List<Order360>',context!);
        WorkOrders = JsonConverters.fromJson(json['WorkOrders'],'List<WorkOrder360>',context!);
        Contracts = JsonConverters.fromJson(json['Contracts'],'List<Contract360>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Invoices': JsonConverters.toJson(Invoices,'List<Invoice360>',context!),
        'Orders': JsonConverters.toJson(Orders,'List<Order360>',context!),
        'WorkOrders': JsonConverters.toJson(WorkOrders,'List<WorkOrder360>',context!),
        'Contracts': JsonConverters.toJson(Contracts,'List<Contract360>',context!)
    });

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

/**
* History360Requires active-e Customer Service.
*/
// @DataContract
class History360Request extends BaseSecureRequest implements IConvertible
{
    // @DataMember
    int? CustomerAccount;

    // @DataMember
    bool? IncludeInvoices;

    // @DataMember
    bool? IncludeOrders;

    // @DataMember
    bool? IncludeWorkOrders;

    // @DataMember
    bool? IncludeContracts;

    // @DataMember
    bool? IncludeClosed;

    // @DataMember
    DateTime? ClosedStartDate;

    History360Request({this.CustomerAccount,this.IncludeInvoices,this.IncludeOrders,this.IncludeWorkOrders,this.IncludeContracts,this.IncludeClosed,this.ClosedStartDate});
    History360Request.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        CustomerAccount = json['CustomerAccount'];
        IncludeInvoices = json['IncludeInvoices'];
        IncludeOrders = json['IncludeOrders'];
        IncludeWorkOrders = json['IncludeWorkOrders'];
        IncludeContracts = json['IncludeContracts'];
        IncludeClosed = json['IncludeClosed'];
        ClosedStartDate = JsonConverters.fromJson(json['ClosedStartDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'CustomerAccount': CustomerAccount,
        'IncludeInvoices': IncludeInvoices,
        'IncludeOrders': IncludeOrders,
        'IncludeWorkOrders': IncludeWorkOrders,
        'IncludeContracts': IncludeContracts,
        'IncludeClosed': IncludeClosed,
        'ClosedStartDate': JsonConverters.toJson(ClosedStartDate,'DateTime',context!)
    });

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

TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: <String, TypeInfo> {
    'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
    'BaseSecureRequest': TypeInfo(TypeOf.Class, create:() => BaseSecureRequest()),
    'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()),
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'Item360': TypeInfo(TypeOf.Class, create:() => Item360()),
    'Invoice360': TypeInfo(TypeOf.Class, create:() => Invoice360()),
    'List<Item360>': TypeInfo(TypeOf.Class, create:() => <Item360>[]),
    'Order360': TypeInfo(TypeOf.Class, create:() => Order360()),
    'Job360': TypeInfo(TypeOf.Class, create:() => Job360()),
    'WorkOrder360': TypeInfo(TypeOf.Class, create:() => WorkOrder360()),
    'List<Job360>': TypeInfo(TypeOf.Class, create:() => <Job360>[]),
    'Contract360': TypeInfo(TypeOf.Class, create:() => Contract360()),
    'History360Response': TypeInfo(TypeOf.Class, create:() => History360Response()),
    'List<Invoice360>': TypeInfo(TypeOf.Class, create:() => <Invoice360>[]),
    'List<Order360>': TypeInfo(TypeOf.Class, create:() => <Order360>[]),
    'List<WorkOrder360>': TypeInfo(TypeOf.Class, create:() => <WorkOrder360>[]),
    'List<Contract360>': TypeInfo(TypeOf.Class, create:() => <Contract360>[]),
    'History360Request': TypeInfo(TypeOf.Class, create:() => History360Request()),
});

Dart History360Request 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.

GET /api/History360 HTTP/1.1 
Host: active-ewebservice.biz 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Invoices":[{"Id":"String","DueDate":"0001-01-01T00:00:00.0000000","Total":0,"Status":"String","AmountPaid":0,"LateFeeAmount":0,"StoreLocationId":0,"Items":[{"PslrId":0,"Quantity":0,"Price":0,"TotalDiscountAmount":0,"SerialNumber":"String","Condition":"String"}]}],"Orders":[{"Id":0,"Discount":0,"PaymentType":"String","SubTotal":0,"Tax":0,"ShippingAmount":0,"Total":0}],"WorkOrders":[{"Id":"String","Status":"String","Deposit":0,"StoreLocationId":0,"CompletedDate":"0001-01-01T00:00:00.0000000","Price":0,"Jobs":[{"ItemId":"String","ItemType":"String","Title":"String","Quantity":0,"Price":0,"TotalDiscountAmount":0,"SerialNumber":"String","Condition":"String"}]}],"Contracts":[{"Id":"String","StoreLocationId":0,"AmountDue":0,"LateFee":0,"ContractStatus":"String","Amount":0,"ContractItems":[{"PslrId":0,"Quantity":0,"Price":0,"TotalDiscountAmount":0,"SerialNumber":"String","Condition":"String"}]}],"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}