Trendsic Platform Service

<back to all web services

ListingsRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,POST,PUT,DELETE,OPTIONS/v1/Listings/{ID}
GET,POST,PUT,DELETE,OPTIONS/v1/Listings
GET,POST,PUT,DELETE,OPTIONS/v1/Listings/DateRange/{ParamStartDate}/{ParamEndDate}/{AgentID}
GET,POST,PUT,DELETE,OPTIONS/v1/Listings/DateRange/{ParamStartDate}/{ParamEndDate}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class Listing implements IConvertible
{
    int? ID;
    DateTime? LISTINGDATE;
    DateTime? LISTINGTDATE;
    String? POLICY;
    String? OAGENT;
    String? INSURED;
    String? PREMIUM;
    String? PART;
    double? AMOUNT;
    String? AGENTNM;
    String? LISTINGCTYPE;
    String? COMPANY;
    String? APPROVED;
    String? CARDCREDIT;
    String? REGION;
    String? FPAYOUT;
    String? PROMOPTS;
    String? APPCNT;
    String? PARTPERCENT;
    double? GROSS;
    String? CITY;
    String? STATE;
    String? AGENTNO;
    String? TYPE;
    String? COMMRATE;
    int? AgentID;
    int? OAgentID;
    double? FIELDPAYOUT;

    Listing({this.ID,this.LISTINGDATE,this.LISTINGTDATE,this.POLICY,this.OAGENT,this.INSURED,this.PREMIUM,this.PART,this.AMOUNT,this.AGENTNM,this.LISTINGCTYPE,this.COMPANY,this.APPROVED,this.CARDCREDIT,this.REGION,this.FPAYOUT,this.PROMOPTS,this.APPCNT,this.PARTPERCENT,this.GROSS,this.CITY,this.STATE,this.AGENTNO,this.TYPE,this.COMMRATE,this.AgentID,this.OAgentID,this.FIELDPAYOUT});
    Listing.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ID = json['ID'];
        LISTINGDATE = JsonConverters.fromJson(json['LISTINGDATE'],'DateTime',context!);
        LISTINGTDATE = JsonConverters.fromJson(json['LISTINGTDATE'],'DateTime',context!);
        POLICY = json['POLICY'];
        OAGENT = json['OAGENT'];
        INSURED = json['INSURED'];
        PREMIUM = json['PREMIUM'];
        PART = json['PART'];
        AMOUNT = JsonConverters.toDouble(json['AMOUNT']);
        AGENTNM = json['AGENTNM'];
        LISTINGCTYPE = json['LISTINGCTYPE'];
        COMPANY = json['COMPANY'];
        APPROVED = json['APPROVED'];
        CARDCREDIT = json['CARDCREDIT'];
        REGION = json['REGION'];
        FPAYOUT = json['FPAYOUT'];
        PROMOPTS = json['PROMOPTS'];
        APPCNT = json['APPCNT'];
        PARTPERCENT = json['PARTPERCENT'];
        GROSS = JsonConverters.toDouble(json['GROSS']);
        CITY = json['CITY'];
        STATE = json['STATE'];
        AGENTNO = json['AGENTNO'];
        TYPE = json['TYPE'];
        COMMRATE = json['COMMRATE'];
        AgentID = json['AgentID'];
        OAgentID = json['OAgentID'];
        FIELDPAYOUT = JsonConverters.toDouble(json['FIELDPAYOUT']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ID': ID,
        'LISTINGDATE': JsonConverters.toJson(LISTINGDATE,'DateTime',context!),
        'LISTINGTDATE': JsonConverters.toJson(LISTINGTDATE,'DateTime',context!),
        'POLICY': POLICY,
        'OAGENT': OAGENT,
        'INSURED': INSURED,
        'PREMIUM': PREMIUM,
        'PART': PART,
        'AMOUNT': AMOUNT,
        'AGENTNM': AGENTNM,
        'LISTINGCTYPE': LISTINGCTYPE,
        'COMPANY': COMPANY,
        'APPROVED': APPROVED,
        'CARDCREDIT': CARDCREDIT,
        'REGION': REGION,
        'FPAYOUT': FPAYOUT,
        'PROMOPTS': PROMOPTS,
        'APPCNT': APPCNT,
        'PARTPERCENT': PARTPERCENT,
        'GROSS': GROSS,
        'CITY': CITY,
        'STATE': STATE,
        'AGENTNO': AGENTNO,
        'TYPE': TYPE,
        'COMMRATE': COMMRATE,
        'AgentID': AgentID,
        'OAgentID': OAgentID,
        'FIELDPAYOUT': FIELDPAYOUT
    };

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

class ListingsResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<Listing>? Listings = [];

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

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

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

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

class ListingsRequest implements IConvertible
{
    List<Listing>? Listings = [];
    int? AgentID;
    DateTime? ParamStartDate;
    DateTime? ParamEndDate;

    ListingsRequest({this.Listings,this.AgentID,this.ParamStartDate,this.ParamEndDate});
    ListingsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Listings = JsonConverters.fromJson(json['Listings'],'List<Listing>',context!);
        AgentID = json['AgentID'];
        ParamStartDate = JsonConverters.fromJson(json['ParamStartDate'],'DateTime',context!);
        ParamEndDate = JsonConverters.fromJson(json['ParamEndDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Listings': JsonConverters.toJson(Listings,'List<Listing>',context!),
        'AgentID': AgentID,
        'ParamStartDate': JsonConverters.toJson(ParamStartDate,'DateTime',context!),
        'ParamEndDate': JsonConverters.toJson(ParamEndDate,'DateTime',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'Listing': TypeInfo(TypeOf.Class, create:() => Listing()),
    'ListingsResponse': TypeInfo(TypeOf.Class, create:() => ListingsResponse()),
    'List<Listing>': TypeInfo(TypeOf.Class, create:() => <Listing>[]),
    'ListingsRequest': TypeInfo(TypeOf.Class, create:() => ListingsRequest()),
});

Dart ListingsRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/Listings/{ID} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Listings: 
	[
		{
			ID: 0,
			LISTINGDATE: 0001-01-01,
			LISTINGTDATE: 0001-01-01,
			POLICY: String,
			OAGENT: String,
			INSURED: String,
			PREMIUM: String,
			PART: String,
			AMOUNT: 0,
			AGENTNM: String,
			LISTINGCTYPE: String,
			COMPANY: String,
			APPROVED: String,
			CARDCREDIT: String,
			REGION: String,
			FPAYOUT: String,
			PROMOPTS: String,
			APPCNT: String,
			PARTPERCENT: String,
			GROSS: 0,
			CITY: String,
			STATE: String,
			AGENTNO: String,
			TYPE: String,
			COMMRATE: String,
			AgentID: 0,
			OAgentID: 0,
			FIELDPAYOUT: 0
		}
	],
	AgentID: 0,
	ParamStartDate: 0001-01-01,
	ParamEndDate: 0001-01-01
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	Listings: 
	[
		{
			ID: 0,
			LISTINGDATE: 0001-01-01,
			LISTINGTDATE: 0001-01-01,
			POLICY: String,
			OAGENT: String,
			INSURED: String,
			PREMIUM: String,
			PART: String,
			AMOUNT: 0,
			AGENTNM: String,
			LISTINGCTYPE: String,
			COMPANY: String,
			APPROVED: String,
			CARDCREDIT: String,
			REGION: String,
			FPAYOUT: String,
			PROMOPTS: String,
			APPCNT: String,
			PARTPERCENT: String,
			GROSS: 0,
			CITY: String,
			STATE: String,
			AGENTNO: String,
			TYPE: String,
			COMMRATE: String,
			AgentID: 0,
			OAgentID: 0,
			FIELDPAYOUT: 0
		}
	]
}