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

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

<History360Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
  <Status>
    <DomainName>String</DomainName>
    <ErrorCode>String</ErrorCode>
    <ErrorDisplayText>String</ErrorDisplayText>
    <ErrorMessage>String</ErrorMessage>
    <IpAddress>String</IpAddress>
    <Login>String</Login>
    <StatusCode>String</StatusCode>
  </Status>
  <Contracts>
    <Contract360>
      <Amount>0</Amount>
      <AmountDue>0</AmountDue>
      <ContractItems>
        <Item360>
          <Condition>String</Condition>
          <Price>0</Price>
          <PslrId>0</PslrId>
          <Quantity>0</Quantity>
          <SerialNumber>String</SerialNumber>
          <TotalDiscountAmount>0</TotalDiscountAmount>
        </Item360>
      </ContractItems>
      <ContractStatus>String</ContractStatus>
      <Id>String</Id>
      <LateFee>0</LateFee>
      <PaymentDate>0001-01-01T00:00:00</PaymentDate>
      <StoreLocationId>0</StoreLocationId>
    </Contract360>
  </Contracts>
  <Invoices>
    <Invoice360>
      <AmountPaid>0</AmountPaid>
      <DueDate>0001-01-01T00:00:00</DueDate>
      <Id>String</Id>
      <Items>
        <Item360>
          <Condition>String</Condition>
          <Price>0</Price>
          <PslrId>0</PslrId>
          <Quantity>0</Quantity>
          <SerialNumber>String</SerialNumber>
          <TotalDiscountAmount>0</TotalDiscountAmount>
        </Item360>
      </Items>
      <LateFeeAmount>0</LateFeeAmount>
      <PurchaseDate>0001-01-01T00:00:00</PurchaseDate>
      <Status>String</Status>
      <StoreLocationId>0</StoreLocationId>
      <Total>0</Total>
    </Invoice360>
  </Invoices>
  <Orders>
    <Order360>
      <Date>0001-01-01T00:00:00</Date>
      <Discount>0</Discount>
      <Id>0</Id>
      <PaymentType>String</PaymentType>
      <ShippingAmount>0</ShippingAmount>
      <SubTotal>0</SubTotal>
      <Tax>0</Tax>
      <Total>0</Total>
    </Order360>
  </Orders>
  <WorkOrders>
    <WorkOrder360>
      <CompletedDate>0001-01-01T00:00:00</CompletedDate>
      <CreationDate>0001-01-01T00:00:00</CreationDate>
      <Deposit>0</Deposit>
      <Id>String</Id>
      <Jobs>
        <Job360>
          <Condition>String</Condition>
          <ItemId>String</ItemId>
          <ItemType>String</ItemType>
          <Price>0</Price>
          <Quantity>0</Quantity>
          <SerialNumber>String</SerialNumber>
          <Title>String</Title>
          <TotalDiscountAmount>0</TotalDiscountAmount>
        </Job360>
      </Jobs>
      <Price>0</Price>
      <Status>String</Status>
      <StoreLocationId>0</StoreLocationId>
    </WorkOrder360>
  </WorkOrders>
</History360Response>