Trendsic Platform Service

<back to all web services

CoverageSurgePreviewRequest

Requires Authentication
The following routes are available for this service:
GET/v1/coverage/surge/preview
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class CoverageSurgeGap implements IConvertible
{
    int? CoverageGapId;
    String? Label;
    String? Note;
    String? Track;

    CoverageSurgeGap({this.CoverageGapId,this.Label,this.Note,this.Track});
    CoverageSurgeGap.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        CoverageGapId = json['CoverageGapId'];
        Label = json['Label'];
        Note = json['Note'];
        Track = json['Track'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'CoverageGapId': CoverageGapId,
        'Label': Label,
        'Note': Note,
        'Track': Track
    };

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

class CoverageExplanationSource implements IConvertible
{
    String? PolicyName;
    String? CascadeLevel;

    CoverageExplanationSource({this.PolicyName,this.CascadeLevel});
    CoverageExplanationSource.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'PolicyName': PolicyName,
        'CascadeLevel': CascadeLevel
    };

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

class CoverageExplanationOverride implements IConvertible
{
    String? Who;
    String? Consequence;

    CoverageExplanationOverride({this.Who,this.Consequence});
    CoverageExplanationOverride.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Who': Who,
        'Consequence': Consequence
    };

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

class CoverageExplanation implements IConvertible
{
    String? PlainSentence;
    String? RuleId;
    String? RuleName;
    String? Demand;
    CoverageExplanationSource? Source;
    String? Kind;
    String? WhyItExists;
    String? WhatWouldChangeIt;
    CoverageExplanationOverride? Override;
    String? Drill;

    CoverageExplanation({this.PlainSentence,this.RuleId,this.RuleName,this.Demand,this.Source,this.Kind,this.WhyItExists,this.WhatWouldChangeIt,this.Override,this.Drill});
    CoverageExplanation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        PlainSentence = json['PlainSentence'];
        RuleId = json['RuleId'];
        RuleName = json['RuleName'];
        Demand = json['Demand'];
        Source = JsonConverters.fromJson(json['Source'],'CoverageExplanationSource',context!);
        Kind = json['Kind'];
        WhyItExists = json['WhyItExists'];
        WhatWouldChangeIt = json['WhatWouldChangeIt'];
        Override = JsonConverters.fromJson(json['Override'],'CoverageExplanationOverride',context!);
        Drill = json['Drill'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'PlainSentence': PlainSentence,
        'RuleId': RuleId,
        'RuleName': RuleName,
        'Demand': Demand,
        'Source': JsonConverters.toJson(Source,'CoverageExplanationSource',context!),
        'Kind': Kind,
        'WhyItExists': WhyItExists,
        'WhatWouldChangeIt': WhatWouldChangeIt,
        'Override': JsonConverters.toJson(Override,'CoverageExplanationOverride',context!),
        'Drill': Drill
    };

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

class CoverageEffect implements IConvertible
{
    String? Icon;
    String? Text;
    String? RuleId;
    CoverageExplanation? Expl;

    CoverageEffect({this.Icon,this.Text,this.RuleId,this.Expl});
    CoverageEffect.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Icon = json['Icon'];
        Text = json['Text'];
        RuleId = json['RuleId'];
        Expl = JsonConverters.fromJson(json['Expl'],'CoverageExplanation',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Icon': Icon,
        'Text': Text,
        'RuleId': RuleId,
        'Expl': JsonConverters.toJson(Expl,'CoverageExplanation',context!)
    };

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

class CoverageSurgePreviewResponse implements IConvertible
{
    String? Banner;
    String? Title;
    String? Sub;
    List<CoverageSurgeGap>? Items = [];
    int? PoolCount;
    List<CoverageEffect>? Conseq = [];
    String? GuardLine;
    ResponseStatus? ResponseStatus;

    CoverageSurgePreviewResponse({this.Banner,this.Title,this.Sub,this.Items,this.PoolCount,this.Conseq,this.GuardLine,this.ResponseStatus});
    CoverageSurgePreviewResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Banner = json['Banner'];
        Title = json['Title'];
        Sub = json['Sub'];
        Items = JsonConverters.fromJson(json['Items'],'List<CoverageSurgeGap>',context!);
        PoolCount = json['PoolCount'];
        Conseq = JsonConverters.fromJson(json['Conseq'],'List<CoverageEffect>',context!);
        GuardLine = json['GuardLine'];
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Banner': Banner,
        'Title': Title,
        'Sub': Sub,
        'Items': JsonConverters.toJson(Items,'List<CoverageSurgeGap>',context!),
        'PoolCount': PoolCount,
        'Conseq': JsonConverters.toJson(Conseq,'List<CoverageEffect>',context!),
        'GuardLine': GuardLine,
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

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

class CoverageSurgePreviewRequest implements IConvertible
{
    DateTime? ScopeDate;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'CoverageSurgeGap': TypeInfo(TypeOf.Class, create:() => CoverageSurgeGap()),
    'CoverageExplanationSource': TypeInfo(TypeOf.Class, create:() => CoverageExplanationSource()),
    'CoverageExplanationOverride': TypeInfo(TypeOf.Class, create:() => CoverageExplanationOverride()),
    'CoverageExplanation': TypeInfo(TypeOf.Class, create:() => CoverageExplanation()),
    'CoverageEffect': TypeInfo(TypeOf.Class, create:() => CoverageEffect()),
    'CoverageSurgePreviewResponse': TypeInfo(TypeOf.Class, create:() => CoverageSurgePreviewResponse()),
    'List<CoverageSurgeGap>': TypeInfo(TypeOf.Class, create:() => <CoverageSurgeGap>[]),
    'List<CoverageEffect>': TypeInfo(TypeOf.Class, create:() => <CoverageEffect>[]),
    'CoverageSurgePreviewRequest': TypeInfo(TypeOf.Class, create:() => CoverageSurgePreviewRequest()),
});

Dart CoverageSurgePreviewRequest DTOs

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

HTTP + CSV

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

GET /v1/coverage/surge/preview HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Banner":"String","Title":"String","Sub":"String","Items":[{"CoverageGapId":0,"Label":"String","Note":"String","Track":"String"}],"PoolCount":0,"Conseq":[{"Icon":"String","Text":"String","RuleId":"String","Expl":{"PlainSentence":"String","RuleId":"String","RuleName":"String","Demand":"String","Source":{"PolicyName":"String","CascadeLevel":"String"},"Kind":"String","WhyItExists":"String","WhatWouldChangeIt":"String","Override":{"Who":"String","Consequence":"String"},"Drill":"String"}}],"GuardLine":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}