AIM Web Services

<back to all web services

C2BGetInstrumentDetailRequest

C2BGetInstrumentDetail
Requires active-e Contracts Service.

The following routes are available for this service:
POST, GET/api/C2BGetInstrumentDetail
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 C2BPlanCodeGeneric implements IConvertible
{
    // @DataMember
    String? Code;

    // @DataMember
    String? Name;

    // @DataMember
    int? Months;

    // @DataMember
    String? Topic;

    // @DataMember
    String? Url;

    // @DataMember
    String? FinalTopic;

    C2BPlanCodeGeneric({this.Code,this.Name,this.Months,this.Topic,this.Url,this.FinalTopic});
    C2BPlanCodeGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Code = json['Code'];
        Name = json['Name'];
        Months = json['Months'];
        Topic = json['Topic'];
        Url = json['Url'];
        FinalTopic = json['FinalTopic'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Code': Code,
        'Name': Name,
        'Months': Months,
        'Topic': Topic,
        'Url': Url,
        'FinalTopic': FinalTopic
    };

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

// @DataContract
class C2BDeliveryInfo implements IConvertible
{
    // @DataMember
    DateTime? FirstDelivery;

    // @DataMember
    DateTime? DeliveryTime;

    // @DataMember
    int? DeliveryThreshold;

    // @DataMember
    bool? SundayDelivery;

    // @DataMember
    bool? MondayDelivery;

    // @DataMember
    bool? TuesdayDelivery;

    // @DataMember
    bool? WednesdayDelivery;

    // @DataMember
    bool? ThursdayDelivery;

    // @DataMember
    bool? FridayDelivery;

    // @DataMember
    bool? SaturdayDelivery;

    C2BDeliveryInfo({this.FirstDelivery,this.DeliveryTime,this.DeliveryThreshold,this.SundayDelivery,this.MondayDelivery,this.TuesdayDelivery,this.WednesdayDelivery,this.ThursdayDelivery,this.FridayDelivery,this.SaturdayDelivery});
    C2BDeliveryInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        FirstDelivery = JsonConverters.fromJson(json['FirstDelivery'],'DateTime',context!);
        DeliveryTime = JsonConverters.fromJson(json['DeliveryTime'],'DateTime',context!);
        DeliveryThreshold = json['DeliveryThreshold'];
        SundayDelivery = json['SundayDelivery'];
        MondayDelivery = json['MondayDelivery'];
        TuesdayDelivery = json['TuesdayDelivery'];
        WednesdayDelivery = json['WednesdayDelivery'];
        ThursdayDelivery = json['ThursdayDelivery'];
        FridayDelivery = json['FridayDelivery'];
        SaturdayDelivery = json['SaturdayDelivery'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'FirstDelivery': JsonConverters.toJson(FirstDelivery,'DateTime',context!),
        'DeliveryTime': JsonConverters.toJson(DeliveryTime,'DateTime',context!),
        'DeliveryThreshold': DeliveryThreshold,
        'SundayDelivery': SundayDelivery,
        'MondayDelivery': MondayDelivery,
        'TuesdayDelivery': TuesdayDelivery,
        'WednesdayDelivery': WednesdayDelivery,
        'ThursdayDelivery': ThursdayDelivery,
        'FridayDelivery': FridayDelivery,
        'SaturdayDelivery': SaturdayDelivery
    };

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

// @DataContract
class C2BTeacherGeneric implements IConvertible
{
    // @DataMember
    String? TeacherName;

    // @DataMember
    String? SchoolName;

    // @DataMember
    String? DistrictName;

    // @DataMember
    String? Topic;

    // @DataMember
    int? Id;

    // @DataMember
    C2BDeliveryInfo? DeliveryInfo;

    // @DataMember
    int? AIMSchoolId;

    C2BTeacherGeneric({this.TeacherName,this.SchoolName,this.DistrictName,this.Topic,this.Id,this.DeliveryInfo,this.AIMSchoolId});
    C2BTeacherGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        TeacherName = json['TeacherName'];
        SchoolName = json['SchoolName'];
        DistrictName = json['DistrictName'];
        Topic = json['Topic'];
        Id = json['Id'];
        DeliveryInfo = JsonConverters.fromJson(json['DeliveryInfo'],'C2BDeliveryInfo',context!);
        AIMSchoolId = json['AIMSchoolId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'TeacherName': TeacherName,
        'SchoolName': SchoolName,
        'DistrictName': DistrictName,
        'Topic': Topic,
        'Id': Id,
        'DeliveryInfo': JsonConverters.toJson(DeliveryInfo,'C2BDeliveryInfo',context!),
        'AIMSchoolId': AIMSchoolId
    };

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

// @DataContract
class C2BSchoolGeneric implements IConvertible
{
    // @DataMember
    String? SchoolName;

    // @DataMember
    String? DistrictName;

    // @DataMember
    int? TeacherCount;

    // @DataMember
    String? Topic;

    // @DataMember
    int? Id;

    // @DataMember
    C2BDeliveryInfo? DeliveryInfo;

    // @DataMember
    int? AIMSchoolId;

    C2BSchoolGeneric({this.SchoolName,this.DistrictName,this.TeacherCount,this.Topic,this.Id,this.DeliveryInfo,this.AIMSchoolId});
    C2BSchoolGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SchoolName = json['SchoolName'];
        DistrictName = json['DistrictName'];
        TeacherCount = json['TeacherCount'];
        Topic = json['Topic'];
        Id = json['Id'];
        DeliveryInfo = JsonConverters.fromJson(json['DeliveryInfo'],'C2BDeliveryInfo',context!);
        AIMSchoolId = json['AIMSchoolId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SchoolName': SchoolName,
        'DistrictName': DistrictName,
        'TeacherCount': TeacherCount,
        'Topic': Topic,
        'Id': Id,
        'DeliveryInfo': JsonConverters.toJson(DeliveryInfo,'C2BDeliveryInfo',context!),
        'AIMSchoolId': AIMSchoolId
    };

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

// @DataContract
class C2BDistrictGeneric implements IConvertible
{
    // @DataMember
    String? DistrictName;

    // @DataMember
    int? SchoolCount;

    // @DataMember
    int? TeacherCount;

    // @DataMember
    String? Topic;

    // @DataMember
    int? Id;

    C2BDistrictGeneric({this.DistrictName,this.SchoolCount,this.TeacherCount,this.Topic,this.Id});
    C2BDistrictGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DistrictName = json['DistrictName'];
        SchoolCount = json['SchoolCount'];
        TeacherCount = json['TeacherCount'];
        Topic = json['Topic'];
        Id = json['Id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DistrictName': DistrictName,
        'SchoolCount': SchoolCount,
        'TeacherCount': TeacherCount,
        'Topic': Topic,
        'Id': Id
    };

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

// @DataContract
class C2BGradeGeneric implements IConvertible
{
    // @DataMember
    int? Level;

    // @DataMember
    String? Grade;

    // @DataMember
    double? DownPay;

    // @DataMember
    double? DownMaint;

    // @DataMember
    double? MoPay;

    // @DataMember
    double? MoMaint;

    // @DataMember
    int? Id;

    // @DataMember
    bool? OutOfStock;

    // @DataMember
    double? RentPrice;

    // @DataMember
    double? CashPrice;

    // @DataMember
    double? DownPayTax;

    // @DataMember
    double? DownMaintTax;

    // @DataMember
    double? MoPayTax;

    // @DataMember
    double? MoMaintTax;

    // @DataMember
    double? RentPricePlusTax;

    // @DataMember
    double? RentPricePlusTaxLessDownpay;

    // @DataMember
    int? Months;

    C2BGradeGeneric({this.Level,this.Grade,this.DownPay,this.DownMaint,this.MoPay,this.MoMaint,this.Id,this.OutOfStock,this.RentPrice,this.CashPrice,this.DownPayTax,this.DownMaintTax,this.MoPayTax,this.MoMaintTax,this.RentPricePlusTax,this.RentPricePlusTaxLessDownpay,this.Months});
    C2BGradeGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Level = json['Level'];
        Grade = json['Grade'];
        DownPay = JsonConverters.toDouble(json['DownPay']);
        DownMaint = JsonConverters.toDouble(json['DownMaint']);
        MoPay = JsonConverters.toDouble(json['MoPay']);
        MoMaint = JsonConverters.toDouble(json['MoMaint']);
        Id = json['Id'];
        OutOfStock = json['OutOfStock'];
        RentPrice = JsonConverters.toDouble(json['RentPrice']);
        CashPrice = JsonConverters.toDouble(json['CashPrice']);
        DownPayTax = JsonConverters.toDouble(json['DownPayTax']);
        DownMaintTax = JsonConverters.toDouble(json['DownMaintTax']);
        MoPayTax = JsonConverters.toDouble(json['MoPayTax']);
        MoMaintTax = JsonConverters.toDouble(json['MoMaintTax']);
        RentPricePlusTax = JsonConverters.toDouble(json['RentPricePlusTax']);
        RentPricePlusTaxLessDownpay = JsonConverters.toDouble(json['RentPricePlusTaxLessDownpay']);
        Months = json['Months'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Level': Level,
        'Grade': Grade,
        'DownPay': DownPay,
        'DownMaint': DownMaint,
        'MoPay': MoPay,
        'MoMaint': MoMaint,
        'Id': Id,
        'OutOfStock': OutOfStock,
        'RentPrice': RentPrice,
        'CashPrice': CashPrice,
        'DownPayTax': DownPayTax,
        'DownMaintTax': DownMaintTax,
        'MoPayTax': MoPayTax,
        'MoMaintTax': MoMaintTax,
        'RentPricePlusTax': RentPricePlusTax,
        'RentPricePlusTaxLessDownpay': RentPricePlusTaxLessDownpay,
        'Months': Months
    };

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

// @DataContract
class C2BAccessoryGeneric implements IConvertible
{
    // @DataMember
    String? AccessoryDesc;

    // @DataMember
    double? Price;

    // @DataMember
    bool? Required;

    // @DataMember
    bool? Default;

    // @DataMember
    bool? RequiresLocation;

    // @DataMember
    String? Type;

    // @DataMember
    String? Topic;

    // @DataMember
    int? Id;

    // @DataMember
    int? DisplayOrder;

    // @DataMember
    String? Sku;

    // @DataMember
    double? TaxAmount;

    // @DataMember
    int? CatNum;

    C2BAccessoryGeneric({this.AccessoryDesc,this.Price,this.Required,this.Default,this.RequiresLocation,this.Type,this.Topic,this.Id,this.DisplayOrder,this.Sku,this.TaxAmount,this.CatNum});
    C2BAccessoryGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AccessoryDesc = json['AccessoryDesc'];
        Price = JsonConverters.toDouble(json['Price']);
        Required = json['Required'];
        Default = json['Default'];
        RequiresLocation = json['RequiresLocation'];
        Type = json['Type'];
        Topic = json['Topic'];
        Id = json['Id'];
        DisplayOrder = json['DisplayOrder'];
        Sku = json['Sku'];
        TaxAmount = JsonConverters.toDouble(json['TaxAmount']);
        CatNum = json['CatNum'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AccessoryDesc': AccessoryDesc,
        'Price': Price,
        'Required': Required,
        'Default': Default,
        'RequiresLocation': RequiresLocation,
        'Type': Type,
        'Topic': Topic,
        'Id': Id,
        'DisplayOrder': DisplayOrder,
        'Sku': Sku,
        'TaxAmount': TaxAmount,
        'CatNum': CatNum
    };

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

// @DataContract
class C2BInstrumentGeneric implements IConvertible
{
    // @DataMember
    String? InstrumentName;

    // @DataMember
    String? Sku;

    // @DataMember
    String? Topic;

    // @DataMember
    String? Image;

    // @DataMember
    int? Level;

    // @DataMember
    double? RentPrice;

    // @DataMember
    double? CashPrice;

    // @DataMember
    String? Token;

    // @DataMember
    int? InstrumentId;

    // @DataMember
    int? InstrumentTeacherId;

    // @DataMember
    List<C2BGradeGeneric>? GradeList;

    // @DataMember
    bool? HasGrades;

    // @DataMember
    int? DisplayOrder;

    // @DataMember
    List<C2BAccessoryGeneric>? AccessoryList;

    // @DataMember
    List<C2BAccessoryGeneric>? DeliveryList;

    // @DataMember
    List<C2BAccessoryGeneric>? MaintenanceList;

    C2BInstrumentGeneric({this.InstrumentName,this.Sku,this.Topic,this.Image,this.Level,this.RentPrice,this.CashPrice,this.Token,this.InstrumentId,this.InstrumentTeacherId,this.GradeList,this.HasGrades,this.DisplayOrder,this.AccessoryList,this.DeliveryList,this.MaintenanceList});
    C2BInstrumentGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        InstrumentName = json['InstrumentName'];
        Sku = json['Sku'];
        Topic = json['Topic'];
        Image = json['Image'];
        Level = json['Level'];
        RentPrice = JsonConverters.toDouble(json['RentPrice']);
        CashPrice = JsonConverters.toDouble(json['CashPrice']);
        Token = json['Token'];
        InstrumentId = json['InstrumentId'];
        InstrumentTeacherId = json['InstrumentTeacherId'];
        GradeList = JsonConverters.fromJson(json['GradeList'],'List<C2BGradeGeneric>',context!);
        HasGrades = json['HasGrades'];
        DisplayOrder = json['DisplayOrder'];
        AccessoryList = JsonConverters.fromJson(json['AccessoryList'],'List<C2BAccessoryGeneric>',context!);
        DeliveryList = JsonConverters.fromJson(json['DeliveryList'],'List<C2BAccessoryGeneric>',context!);
        MaintenanceList = JsonConverters.fromJson(json['MaintenanceList'],'List<C2BAccessoryGeneric>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'InstrumentName': InstrumentName,
        'Sku': Sku,
        'Topic': Topic,
        'Image': Image,
        'Level': Level,
        'RentPrice': RentPrice,
        'CashPrice': CashPrice,
        'Token': Token,
        'InstrumentId': InstrumentId,
        'InstrumentTeacherId': InstrumentTeacherId,
        'GradeList': JsonConverters.toJson(GradeList,'List<C2BGradeGeneric>',context!),
        'HasGrades': HasGrades,
        'DisplayOrder': DisplayOrder,
        'AccessoryList': JsonConverters.toJson(AccessoryList,'List<C2BAccessoryGeneric>',context!),
        'DeliveryList': JsonConverters.toJson(DeliveryList,'List<C2BAccessoryGeneric>',context!),
        'MaintenanceList': JsonConverters.toJson(MaintenanceList,'List<C2BAccessoryGeneric>',context!)
    };

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

// @DataContract
class C2BInstrumentDetailGeneric implements IConvertible
{
    // @DataMember
    C2BPlanCodeGeneric? PlanCode;

    // @DataMember
    C2BTeacherGeneric? Teacher;

    // @DataMember
    C2BSchoolGeneric? School;

    // @DataMember
    String? DeliveryDate;

    // @DataMember
    String? SalesPerson;

    // @DataMember
    C2BDistrictGeneric? District;

    // @DataMember
    C2BInstrumentGeneric? Instrument;

    // @DataMember
    C2BGradeGeneric? Grade;

    // @DataMember
    List<C2BAccessoryGeneric>? AccessoryList;

    // @DataMember
    List<C2BAccessoryGeneric>? DeliveryList;

    // @DataMember
    List<C2BAccessoryGeneric>? MaintenanceList;

    C2BInstrumentDetailGeneric({this.PlanCode,this.Teacher,this.School,this.DeliveryDate,this.SalesPerson,this.District,this.Instrument,this.Grade,this.AccessoryList,this.DeliveryList,this.MaintenanceList});
    C2BInstrumentDetailGeneric.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PlanCode = JsonConverters.fromJson(json['PlanCode'],'C2BPlanCodeGeneric',context!);
        Teacher = JsonConverters.fromJson(json['Teacher'],'C2BTeacherGeneric',context!);
        School = JsonConverters.fromJson(json['School'],'C2BSchoolGeneric',context!);
        DeliveryDate = json['DeliveryDate'];
        SalesPerson = json['SalesPerson'];
        District = JsonConverters.fromJson(json['District'],'C2BDistrictGeneric',context!);
        Instrument = JsonConverters.fromJson(json['Instrument'],'C2BInstrumentGeneric',context!);
        Grade = JsonConverters.fromJson(json['Grade'],'C2BGradeGeneric',context!);
        AccessoryList = JsonConverters.fromJson(json['AccessoryList'],'List<C2BAccessoryGeneric>',context!);
        DeliveryList = JsonConverters.fromJson(json['DeliveryList'],'List<C2BAccessoryGeneric>',context!);
        MaintenanceList = JsonConverters.fromJson(json['MaintenanceList'],'List<C2BAccessoryGeneric>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PlanCode': JsonConverters.toJson(PlanCode,'C2BPlanCodeGeneric',context!),
        'Teacher': JsonConverters.toJson(Teacher,'C2BTeacherGeneric',context!),
        'School': JsonConverters.toJson(School,'C2BSchoolGeneric',context!),
        'DeliveryDate': DeliveryDate,
        'SalesPerson': SalesPerson,
        'District': JsonConverters.toJson(District,'C2BDistrictGeneric',context!),
        'Instrument': JsonConverters.toJson(Instrument,'C2BInstrumentGeneric',context!),
        'Grade': JsonConverters.toJson(Grade,'C2BGradeGeneric',context!),
        'AccessoryList': JsonConverters.toJson(AccessoryList,'List<C2BAccessoryGeneric>',context!),
        'DeliveryList': JsonConverters.toJson(DeliveryList,'List<C2BAccessoryGeneric>',context!),
        'MaintenanceList': JsonConverters.toJson(MaintenanceList,'List<C2BAccessoryGeneric>',context!)
    };

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

// @DataContract
class MobileLayout implements IConvertible
{
    // @DataMember
    String? title;

    // @DataMember
    String? returnurl;

    // @DataMember
    List<Section>? sections;

    MobileLayout({this.title,this.returnurl,this.sections});
    MobileLayout.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        title = json['title'];
        returnurl = json['returnurl'];
        sections = JsonConverters.fromJson(json['sections'],'List<Section>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'title': title,
        'returnurl': returnurl,
        'sections': JsonConverters.toJson(sections,'List<Section>',context!)
    };

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

// @DataContract
class C2BGetInstrumentDetailResponse extends BaseResponse implements IConvertible
{
    // @DataMember
    C2BInstrumentDetailGeneric? InstrumentDetails;

    // @DataMember
    MobileLayout? MobileLayout;

    C2BGetInstrumentDetailResponse({this.InstrumentDetails,this.MobileLayout});
    C2BGetInstrumentDetailResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'InstrumentDetails': JsonConverters.toJson(InstrumentDetails,'C2BInstrumentDetailGeneric',context!),
        'MobileLayout': JsonConverters.toJson(MobileLayout,'MobileLayout',context!)
    });

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

/**
* C2BGetInstrumentDetailRequires active-e Contracts Service.
*/
// @DataContract
class C2BGetInstrumentDetailRequest extends BaseSecureRequest implements IConvertible
{
    /**
    * ID of the Teacher/Instrument record. Either this *or* TeacherId + InstrumentId must be sent.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Teacher/Instrument record. Either this *or* TeacherId + InstrumentId must be sent.", Format="int64", Name="RsiPk", ParameterType="query")
    int? RsiPk;

    /**
    * ID of the Teacher record. Either this+InstrumentID *or* RsiPk must be sent.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Teacher record. Either this+InstrumentID *or* RsiPk must be sent.", Format="int64", Name="TeacherId", ParameterType="query")
    int? TeacherId;

    /**
    * ID of the Instrument record. Either this+TeacherID *or* RsiPk must be sent.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Instrument record. Either this+TeacherID *or* RsiPk must be sent.", Format="int64", Name="InstrumentId", ParameterType="query")
    int? InstrumentId;

    /**
    * ID of the Rate to be used. This is required.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Rate to be used. This is required.", Format="int64", IsRequired=true, Name="RateId", ParameterType="query")
    int? RateId;

    /**
    * If 'Y', then Mobile Layout will be returned.
    */
    // @DataMember
    // @ApiMember(DataType="string", Description="If 'Y', then Mobile Layout will be returned.", Name="IncludeMobileLayout", ParameterType="query")
    String? IncludeMobileLayout;

    /**
    * ID of the Delivery option to be used.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Delivery option to be used.", Format="int64", IsRequired=true, Name="DeliveryId", ParameterType="query")
    int? DeliveryId;

    /**
    * ID of the Location. Used for Location required Delivery options.
    */
    // @DataMember
    // @ApiMember(DataType="integer", Description="ID of the Location. Used for Location required Delivery options.", Format="int64", IsRequired=true, Name="LocationId", ParameterType="query")
    int? LocationId;

    C2BGetInstrumentDetailRequest({this.RsiPk,this.TeacherId,this.InstrumentId,this.RateId,this.IncludeMobileLayout,this.DeliveryId,this.LocationId});
    C2BGetInstrumentDetailRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        RsiPk = json['RsiPk'];
        TeacherId = json['TeacherId'];
        InstrumentId = json['InstrumentId'];
        RateId = json['RateId'];
        IncludeMobileLayout = json['IncludeMobileLayout'];
        DeliveryId = json['DeliveryId'];
        LocationId = json['LocationId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'RsiPk': RsiPk,
        'TeacherId': TeacherId,
        'InstrumentId': InstrumentId,
        'RateId': RateId,
        'IncludeMobileLayout': IncludeMobileLayout,
        'DeliveryId': DeliveryId,
        'LocationId': LocationId
    });

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

// @DataContract
class Section implements IConvertible
{
    // @DataMember
    String? header;

    // @DataMember
    String? id;

    // @DataMember
    String? margin;

    // @DataMember
    List<Element>? elements;

    Section({this.header,this.id,this.margin,this.elements});
    Section.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        header = json['header'];
        id = json['id'];
        margin = json['margin'];
        elements = JsonConverters.fromJson(json['elements'],'List<Element>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'header': header,
        'id': id,
        'margin': margin,
        'elements': JsonConverters.toJson(elements,'List<Element>',context!)
    };

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

// @DataContract
class LicenseMap implements IConvertible
{
    // @DataMember
    String? name;

    // @DataMember
    String? value;

    LicenseMap({this.name,this.value});
    LicenseMap.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'name': name,
        'value': value
    };

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

// @DataContract
class Element implements IConvertible
{
    // @DataMember
    String? type;

    // @DataMember
    String? label;

    // @DataMember
    String? id;

    // @DataMember
    String? fontsize;

    // @DataMember
    String? margin;

    // @DataMember
    String? backgroundcolor;

    // @DataMember
    String? textcolor;

    // @DataMember
    String? height;

    // @DataMember
    String? width;

    // @DataMember
    String? value;

    // @DataMember
    bool? addvalue;

    // @DataMember
    List<String>? values;

    // @DataMember
    String? textalign;

    // @DataMember
    bool? Required;

    // @DataMember
    String? placeholder;

    // @DataMember
    bool? fontbold;

    // @DataMember
    bool? selected;

    // @DataMember
    bool? disabled;

    // @DataMember
    bool? totalamount;

    // @DataMember
    List<Element>? elements;

    // @DataMember
    List<LicenseMap>? map;

    Element({this.type,this.label,this.id,this.fontsize,this.margin,this.backgroundcolor,this.textcolor,this.height,this.width,this.value,this.addvalue,this.values,this.textalign,this.Required,this.placeholder,this.fontbold,this.selected,this.disabled,this.totalamount,this.elements,this.map});
    Element.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = json['type'];
        label = json['label'];
        id = json['id'];
        fontsize = json['fontsize'];
        margin = json['margin'];
        backgroundcolor = json['backgroundcolor'];
        textcolor = json['textcolor'];
        height = json['height'];
        width = json['width'];
        value = json['value'];
        addvalue = json['addvalue'];
        values = JsonConverters.fromJson(json['values'],'List<String>',context!);
        textalign = json['textalign'];
        Required = json['required'];
        placeholder = json['placeholder'];
        fontbold = json['fontbold'];
        selected = json['selected'];
        disabled = json['disabled'];
        totalamount = json['totalamount'];
        elements = JsonConverters.fromJson(json['elements'],'List<Element>',context!);
        map = JsonConverters.fromJson(json['map'],'List<LicenseMap>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': type,
        'label': label,
        'id': id,
        'fontsize': fontsize,
        'margin': margin,
        'backgroundcolor': backgroundcolor,
        'textcolor': textcolor,
        'height': height,
        'width': width,
        'value': value,
        'addvalue': addvalue,
        'values': JsonConverters.toJson(values,'List<String>',context!),
        'textalign': textalign,
        'Required': Required,
        'placeholder': placeholder,
        'fontbold': fontbold,
        'selected': selected,
        'disabled': disabled,
        'totalamount': totalamount,
        'elements': JsonConverters.toJson(elements,'List<Element>',context!),
        'map': JsonConverters.toJson(map,'List<LicenseMap>',context!)
    };

    getTypeName() => "Element";
    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()),
    'C2BPlanCodeGeneric': TypeInfo(TypeOf.Class, create:() => C2BPlanCodeGeneric()),
    'C2BDeliveryInfo': TypeInfo(TypeOf.Class, create:() => C2BDeliveryInfo()),
    'C2BTeacherGeneric': TypeInfo(TypeOf.Class, create:() => C2BTeacherGeneric()),
    'C2BSchoolGeneric': TypeInfo(TypeOf.Class, create:() => C2BSchoolGeneric()),
    'C2BDistrictGeneric': TypeInfo(TypeOf.Class, create:() => C2BDistrictGeneric()),
    'C2BGradeGeneric': TypeInfo(TypeOf.Class, create:() => C2BGradeGeneric()),
    'C2BAccessoryGeneric': TypeInfo(TypeOf.Class, create:() => C2BAccessoryGeneric()),
    'C2BInstrumentGeneric': TypeInfo(TypeOf.Class, create:() => C2BInstrumentGeneric()),
    'List<C2BGradeGeneric>': TypeInfo(TypeOf.Class, create:() => <C2BGradeGeneric>[]),
    'List<C2BAccessoryGeneric>': TypeInfo(TypeOf.Class, create:() => <C2BAccessoryGeneric>[]),
    'C2BInstrumentDetailGeneric': TypeInfo(TypeOf.Class, create:() => C2BInstrumentDetailGeneric()),
    'MobileLayout': TypeInfo(TypeOf.Class, create:() => MobileLayout()),
    'List<Section>': TypeInfo(TypeOf.Class, create:() => <Section>[]),
    'Section': TypeInfo(TypeOf.Class, create:() => Section()),
    'C2BGetInstrumentDetailResponse': TypeInfo(TypeOf.Class, create:() => C2BGetInstrumentDetailResponse()),
    'C2BGetInstrumentDetailRequest': TypeInfo(TypeOf.Class, create:() => C2BGetInstrumentDetailRequest()),
    'List<Element>': TypeInfo(TypeOf.Class, create:() => <Element>[]),
    'Element': TypeInfo(TypeOf.Class, create:() => Element()),
    'LicenseMap': TypeInfo(TypeOf.Class, create:() => LicenseMap()),
    'List<LicenseMap>': TypeInfo(TypeOf.Class, create:() => <LicenseMap>[]),
});

Dart C2BGetInstrumentDetailRequest 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 /api/C2BGetInstrumentDetail HTTP/1.1 
Host: active-ewebservice.biz 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"RsiPk":0,"TeacherId":0,"InstrumentId":0,"RateId":0,"IncludeMobileLayout":"String","DeliveryId":0,"LocationId":0,"Token":"String","DeviceId":"String","AppId":"String","ApiKey":"String","OAuthToken":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"MobileLayout":{"title":"String","returnurl":"String","sections":[{"header":"String","id":"String","margin":"String","elements":[{"type":"String","label":"String","id":"String","fontsize":"String","margin":"String","backgroundcolor":"String","textcolor":"String","height":"String","width":"String","value":"String","addvalue":false,"values":["String"],"textalign":"String","required":false,"placeholder":"String","fontbold":false,"selected":false,"disabled":false,"totalamount":false}]}]},"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}