AIM Web Services

<back to all web services

ServiceTicketFullDetailsRequest

ServiceTicketFullDetails
Requires active-e Service Tickets Service

The following routes are available for this service:
GET/api/ServiceTicketFullDetails
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;
}

class PartInfo implements IConvertible
{
    // @DataMember
    String? Description;

    // @DataMember
    double? Quantity;

    // @DataMember
    double? Price;

    // @DataMember
    double? Discount;

    // @DataMember
    double? Total;

    // @DataMember
    String? Notes;

    // @DataMember
    int? Category;

    // @DataMember
    String? CategoryDescription;

    // @DataMember
    String? Sku;

    PartInfo({this.Description,this.Quantity,this.Price,this.Discount,this.Total,this.Notes,this.Category,this.CategoryDescription,this.Sku});
    PartInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Description = json['Description'];
        Quantity = JsonConverters.toDouble(json['Quantity']);
        Price = JsonConverters.toDouble(json['Price']);
        Discount = JsonConverters.toDouble(json['Discount']);
        Total = JsonConverters.toDouble(json['Total']);
        Notes = json['Notes'];
        Category = json['Category'];
        CategoryDescription = json['CategoryDescription'];
        Sku = json['Sku'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Description': Description,
        'Quantity': Quantity,
        'Price': Price,
        'Discount': Discount,
        'Total': Total,
        'Notes': Notes,
        'Category': Category,
        'CategoryDescription': CategoryDescription,
        'Sku': Sku
    };

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

class ServiceInfo implements IConvertible
{
    // @DataMember
    int? Id;

    // @DataMember
    List<PartInfo>? Parts;

    // @DataMember
    String? Description;

    // @DataMember
    double? Quantity;

    // @DataMember
    double? Rate;

    // @DataMember
    double? Discount;

    // @DataMember
    double? Total;

    // @DataMember
    double? Time;

    // @DataMember
    bool? Completed;

    // @DataMember
    DateTime? CompletedDate;

    // @DataMember
    String? Technician;

    // @DataMember
    String? Notes;

    // @DataMember
    int? Category;

    // @DataMember
    String? CategoryDescription;

    // @DataMember
    bool? TimerActive;

    // @DataMember
    DateTime? TimerStartTime;

    ServiceInfo({this.Id,this.Parts,this.Description,this.Quantity,this.Rate,this.Discount,this.Total,this.Time,this.Completed,this.CompletedDate,this.Technician,this.Notes,this.Category,this.CategoryDescription,this.TimerActive,this.TimerStartTime});
    ServiceInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Parts = JsonConverters.fromJson(json['Parts'],'List<PartInfo>',context!);
        Description = json['Description'];
        Quantity = JsonConverters.toDouble(json['Quantity']);
        Rate = JsonConverters.toDouble(json['Rate']);
        Discount = JsonConverters.toDouble(json['Discount']);
        Total = JsonConverters.toDouble(json['Total']);
        Time = JsonConverters.toDouble(json['Time']);
        Completed = json['Completed'];
        CompletedDate = JsonConverters.fromJson(json['CompletedDate'],'DateTime',context!);
        Technician = json['Technician'];
        Notes = json['Notes'];
        Category = json['Category'];
        CategoryDescription = json['CategoryDescription'];
        TimerActive = json['TimerActive'];
        TimerStartTime = JsonConverters.fromJson(json['TimerStartTime'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Parts': JsonConverters.toJson(Parts,'List<PartInfo>',context!),
        'Description': Description,
        'Quantity': Quantity,
        'Rate': Rate,
        'Discount': Discount,
        'Total': Total,
        'Time': Time,
        'Completed': Completed,
        'CompletedDate': JsonConverters.toJson(CompletedDate,'DateTime',context!),
        'Technician': Technician,
        'Notes': Notes,
        'Category': Category,
        'CategoryDescription': CategoryDescription,
        'TimerActive': TimerActive,
        'TimerStartTime': JsonConverters.toJson(TimerStartTime,'DateTime',context!)
    };

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

class DepositInfo implements IConvertible
{
    // @DataMember
    double? OriginalAmount;

    // @DataMember
    double? Amount;

    // @DataMember
    String? RefNumber;

    DepositInfo({this.OriginalAmount,this.Amount,this.RefNumber});
    DepositInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        OriginalAmount = JsonConverters.toDouble(json['OriginalAmount']);
        Amount = JsonConverters.toDouble(json['Amount']);
        RefNumber = json['RefNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'OriginalAmount': OriginalAmount,
        'Amount': Amount,
        'RefNumber': RefNumber
    };

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

// @DataContract
class TicketInfo implements IConvertible
{
    // @DataMember
    int? Terms;

    // @DataMember
    String? PoNumber;

    // @DataMember
    String? ReturnAuthorizationNumber;

    // @DataMember
    String? Status;

    // @DataMember
    double? ApprovedAmount;

    // @DataMember
    double? TotalDue;

    // @DataMember
    double? Subtotal;

    // @DataMember
    double? Tax1;

    // @DataMember
    double? Tax2;

    // @DataMember
    DateTime? ApprovedDate;

    // @DataMember
    DateTime? BilledDate;

    // @DataMember
    String? Contact;

    // @DataMember
    int? Category;

    // @DataMember
    List<ServiceInfo>? Services;

    // @DataMember
    String? CategoryDescription;

    // @DataMember
    int? SubCategory;

    // @DataMember
    String? SubCategoryDescription;

    // @DataMember
    String? Item;

    // @DataMember
    String? ItemDescription;

    // @DataMember
    String? Manufacturer;

    // @DataMember
    String? Notes;

    // @DataMember
    DateTime? Timestamp;

    // @DataMember
    int? SoldToCustomerAcct;

    // @DataMember
    int? BillToCustomerAcct;

    // @DataMember
    String? Model;

    // @DataMember
    String? StLoc;

    // @DataMember
    String? TaxLoc;

    // @DataMember
    String? RefNumber;

    // @DataMember
    String? MasterNumber;

    // @DataMember
    bool? Invoiced;

    // @DataMember
    List<DepositInfo>? Deposits;

    // @DataMember
    String? SoldToCustomerName;

    // @DataMember
    String? BillToCustomerName;

    // @DataMember
    String? ShipToName;

    // @DataMember
    int? ShipToId;

    TicketInfo({this.Terms,this.PoNumber,this.ReturnAuthorizationNumber,this.Status,this.ApprovedAmount,this.TotalDue,this.Subtotal,this.Tax1,this.Tax2,this.ApprovedDate,this.BilledDate,this.Contact,this.Category,this.Services,this.CategoryDescription,this.SubCategory,this.SubCategoryDescription,this.Item,this.ItemDescription,this.Manufacturer,this.Notes,this.Timestamp,this.SoldToCustomerAcct,this.BillToCustomerAcct,this.Model,this.StLoc,this.TaxLoc,this.RefNumber,this.MasterNumber,this.Invoiced,this.Deposits,this.SoldToCustomerName,this.BillToCustomerName,this.ShipToName,this.ShipToId});
    TicketInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Terms = json['Terms'];
        PoNumber = json['PoNumber'];
        ReturnAuthorizationNumber = json['ReturnAuthorizationNumber'];
        Status = json['Status'];
        ApprovedAmount = JsonConverters.toDouble(json['ApprovedAmount']);
        TotalDue = JsonConverters.toDouble(json['TotalDue']);
        Subtotal = JsonConverters.toDouble(json['Subtotal']);
        Tax1 = JsonConverters.toDouble(json['Tax1']);
        Tax2 = JsonConverters.toDouble(json['Tax2']);
        ApprovedDate = JsonConverters.fromJson(json['ApprovedDate'],'DateTime',context!);
        BilledDate = JsonConverters.fromJson(json['BilledDate'],'DateTime',context!);
        Contact = json['Contact'];
        Category = json['Category'];
        Services = JsonConverters.fromJson(json['Services'],'List<ServiceInfo>',context!);
        CategoryDescription = json['CategoryDescription'];
        SubCategory = json['SubCategory'];
        SubCategoryDescription = json['SubCategoryDescription'];
        Item = json['Item'];
        ItemDescription = json['ItemDescription'];
        Manufacturer = json['Manufacturer'];
        Notes = json['Notes'];
        Timestamp = JsonConverters.fromJson(json['Timestamp'],'DateTime',context!);
        SoldToCustomerAcct = json['SoldToCustomerAcct'];
        BillToCustomerAcct = json['BillToCustomerAcct'];
        Model = json['Model'];
        StLoc = json['StLoc'];
        TaxLoc = json['TaxLoc'];
        RefNumber = json['RefNumber'];
        MasterNumber = json['MasterNumber'];
        Invoiced = json['Invoiced'];
        Deposits = JsonConverters.fromJson(json['Deposits'],'List<DepositInfo>',context!);
        SoldToCustomerName = json['SoldToCustomerName'];
        BillToCustomerName = json['BillToCustomerName'];
        ShipToName = json['ShipToName'];
        ShipToId = json['ShipToId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Terms': Terms,
        'PoNumber': PoNumber,
        'ReturnAuthorizationNumber': ReturnAuthorizationNumber,
        'Status': Status,
        'ApprovedAmount': ApprovedAmount,
        'TotalDue': TotalDue,
        'Subtotal': Subtotal,
        'Tax1': Tax1,
        'Tax2': Tax2,
        'ApprovedDate': JsonConverters.toJson(ApprovedDate,'DateTime',context!),
        'BilledDate': JsonConverters.toJson(BilledDate,'DateTime',context!),
        'Contact': Contact,
        'Category': Category,
        'Services': JsonConverters.toJson(Services,'List<ServiceInfo>',context!),
        'CategoryDescription': CategoryDescription,
        'SubCategory': SubCategory,
        'SubCategoryDescription': SubCategoryDescription,
        'Item': Item,
        'ItemDescription': ItemDescription,
        'Manufacturer': Manufacturer,
        'Notes': Notes,
        'Timestamp': JsonConverters.toJson(Timestamp,'DateTime',context!),
        'SoldToCustomerAcct': SoldToCustomerAcct,
        'BillToCustomerAcct': BillToCustomerAcct,
        'Model': Model,
        'StLoc': StLoc,
        'TaxLoc': TaxLoc,
        'RefNumber': RefNumber,
        'MasterNumber': MasterNumber,
        'Invoiced': Invoiced,
        'Deposits': JsonConverters.toJson(Deposits,'List<DepositInfo>',context!),
        'SoldToCustomerName': SoldToCustomerName,
        'BillToCustomerName': BillToCustomerName,
        'ShipToName': ShipToName,
        'ShipToId': ShipToId
    };

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

// @DataContract
class ServiceTicketFullDetailsResponse extends BaseResponse implements IConvertible
{
    // @DataMember
    List<TicketInfo>? Tickets;

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

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

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Tickets': JsonConverters.toJson(Tickets,'List<TicketInfo>',context!)
    });

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

/**
* ServiceTicketFullDetailsRequires active-e Service Tickets Service
*/
// @DataContract
class ServiceTicketFullDetailsRequest extends BaseSecureRequest implements IConvertible
{
    // @DataMember
    int? Acct;

    // @DataMember
    String? RefNumber;

    // @DataMember
    DateTime? ChangedDate;

    ServiceTicketFullDetailsRequest({this.Acct,this.RefNumber,this.ChangedDate});
    ServiceTicketFullDetailsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Acct = json['Acct'];
        RefNumber = json['RefNumber'];
        ChangedDate = JsonConverters.fromJson(json['ChangedDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Acct': Acct,
        'RefNumber': RefNumber,
        'ChangedDate': JsonConverters.toJson(ChangedDate,'DateTime',context!)
    });

    getTypeName() => "ServiceTicketFullDetailsRequest";
    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()),
    'PartInfo': TypeInfo(TypeOf.Class, create:() => PartInfo()),
    'ServiceInfo': TypeInfo(TypeOf.Class, create:() => ServiceInfo()),
    'List<PartInfo>': TypeInfo(TypeOf.Class, create:() => <PartInfo>[]),
    'DepositInfo': TypeInfo(TypeOf.Class, create:() => DepositInfo()),
    'TicketInfo': TypeInfo(TypeOf.Class, create:() => TicketInfo()),
    'List<ServiceInfo>': TypeInfo(TypeOf.Class, create:() => <ServiceInfo>[]),
    'List<DepositInfo>': TypeInfo(TypeOf.Class, create:() => <DepositInfo>[]),
    'ServiceTicketFullDetailsResponse': TypeInfo(TypeOf.Class, create:() => ServiceTicketFullDetailsResponse()),
    'List<TicketInfo>': TypeInfo(TypeOf.Class, create:() => <TicketInfo>[]),
    'ServiceTicketFullDetailsRequest': TypeInfo(TypeOf.Class, create:() => ServiceTicketFullDetailsRequest()),
});

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

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

{"Tickets":[{"Terms":0,"PoNumber":"String","ReturnAuthorizationNumber":"String","Status":"String","ApprovedAmount":0,"TotalDue":0,"Subtotal":0,"Tax1":0,"Tax2":0,"Contact":"String","Category":0,"Services":[{"Id":0,"Parts":[{"Description":"String","Quantity":0,"Price":0,"Discount":0,"Total":0,"Notes":"String","Category":0,"CategoryDescription":"String","Sku":"String"}],"Description":"String","Quantity":0,"Rate":0,"Discount":0,"Total":0,"Time":0,"Completed":false,"Technician":"String","Notes":"String","Category":0,"CategoryDescription":"String","TimerActive":false,"TimerStartTime":"0001-01-01T00:00:00.0000000"}],"CategoryDescription":"String","SubCategory":0,"SubCategoryDescription":"String","Item":"String","ItemDescription":"String","Manufacturer":"String","Notes":"String","SoldToCustomerAcct":0,"BillToCustomerAcct":0,"Model":"String","StLoc":"String","TaxLoc":"String","RefNumber":"String","MasterNumber":"String","Invoiced":false,"Deposits":[{"OriginalAmount":0,"Amount":0,"RefNumber":"String"}],"SoldToCustomerName":"String","BillToCustomerName":"String","ShipToName":"String","ShipToId":0}],"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}