Trendsic Platform Service

<back to all web services

RfpBriefRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/Rfp/{RfpDocumentUID}/Brief
import 'package:servicestack/servicestack.dart';

class RfpLocation implements IConvertible
{
    String? Description;
    String? City;
    String? State;
    String? Identifier;

    RfpLocation({this.Description,this.City,this.State,this.Identifier});
    RfpLocation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Description = json['Description'];
        City = json['City'];
        State = json['State'];
        Identifier = json['Identifier'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Description': Description,
        'City': City,
        'State': State,
        'Identifier': Identifier
    };

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

class RfpSchedule implements IConvertible
{
    String? BidDueDate;
    String? EstimatedStartDate;
    String? QuestionsDueDate;
    int? ContractDurationDays;
    String? Notes;

    RfpSchedule({this.BidDueDate,this.EstimatedStartDate,this.QuestionsDueDate,this.ContractDurationDays,this.Notes});
    RfpSchedule.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BidDueDate = json['BidDueDate'];
        EstimatedStartDate = json['EstimatedStartDate'];
        QuestionsDueDate = json['QuestionsDueDate'];
        ContractDurationDays = json['ContractDurationDays'];
        Notes = json['Notes'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BidDueDate': BidDueDate,
        'EstimatedStartDate': EstimatedStartDate,
        'QuestionsDueDate': QuestionsDueDate,
        'ContractDurationDays': ContractDurationDays,
        'Notes': Notes
    };

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

class RfpLineItem implements IConvertible
{
    String? ItemNumber;
    String? Description;
    double? Quantity;
    String? Unit;
    String? Category;
    String? SourceReference;

    RfpLineItem({this.ItemNumber,this.Description,this.Quantity,this.Unit,this.Category,this.SourceReference});
    RfpLineItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ItemNumber = json['ItemNumber'];
        Description = json['Description'];
        Quantity = JsonConverters.toDouble(json['Quantity']);
        Unit = json['Unit'];
        Category = json['Category'];
        SourceReference = json['SourceReference'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ItemNumber': ItemNumber,
        'Description': Description,
        'Quantity': Quantity,
        'Unit': Unit,
        'Category': Category,
        'SourceReference': SourceReference
    };

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

class RfpBidConstraint implements IConvertible
{
    String? Constraint;
    String? Detail;

    RfpBidConstraint({this.Constraint,this.Detail});
    RfpBidConstraint.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'Constraint': Constraint,
        'Detail': Detail
    };

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

class RfpBrief implements IConvertible
{
    String? ProjectTitle;
    String? SolicitationNumber;
    String? IssuingOrganization;
    String? ProjectType;
    String? Summary;
    List<RfpLocation>? Locations = [];
    RfpSchedule? Schedule;
    List<RfpLineItem>? LineItems = [];
    List<RfpBidConstraint>? BidConstraints = [];
    List<String>? SpecialRequirements = [];

    RfpBrief({this.ProjectTitle,this.SolicitationNumber,this.IssuingOrganization,this.ProjectType,this.Summary,this.Locations,this.Schedule,this.LineItems,this.BidConstraints,this.SpecialRequirements});
    RfpBrief.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ProjectTitle = json['ProjectTitle'];
        SolicitationNumber = json['SolicitationNumber'];
        IssuingOrganization = json['IssuingOrganization'];
        ProjectType = json['ProjectType'];
        Summary = json['Summary'];
        Locations = JsonConverters.fromJson(json['Locations'],'List<RfpLocation>',context!);
        Schedule = JsonConverters.fromJson(json['Schedule'],'RfpSchedule',context!);
        LineItems = JsonConverters.fromJson(json['LineItems'],'List<RfpLineItem>',context!);
        BidConstraints = JsonConverters.fromJson(json['BidConstraints'],'List<RfpBidConstraint>',context!);
        SpecialRequirements = JsonConverters.fromJson(json['SpecialRequirements'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ProjectTitle': ProjectTitle,
        'SolicitationNumber': SolicitationNumber,
        'IssuingOrganization': IssuingOrganization,
        'ProjectType': ProjectType,
        'Summary': Summary,
        'Locations': JsonConverters.toJson(Locations,'List<RfpLocation>',context!),
        'Schedule': JsonConverters.toJson(Schedule,'RfpSchedule',context!),
        'LineItems': JsonConverters.toJson(LineItems,'List<RfpLineItem>',context!),
        'BidConstraints': JsonConverters.toJson(BidConstraints,'List<RfpBidConstraint>',context!),
        'SpecialRequirements': JsonConverters.toJson(SpecialRequirements,'List<String>',context!)
    };

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

class RfpBriefResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    int? RfpDocumentID;
    RfpBrief? Brief;

    RfpBriefResponse({this.ResponseStatus,this.RfpDocumentID,this.Brief});
    RfpBriefResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'RfpDocumentID': RfpDocumentID,
        'Brief': JsonConverters.toJson(Brief,'RfpBrief',context!)
    };

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

class RfpBriefRequest implements IConvertible
{
    String? RfpDocumentUID;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'RfpLocation': TypeInfo(TypeOf.Class, create:() => RfpLocation()),
    'RfpSchedule': TypeInfo(TypeOf.Class, create:() => RfpSchedule()),
    'RfpLineItem': TypeInfo(TypeOf.Class, create:() => RfpLineItem()),
    'RfpBidConstraint': TypeInfo(TypeOf.Class, create:() => RfpBidConstraint()),
    'RfpBrief': TypeInfo(TypeOf.Class, create:() => RfpBrief()),
    'List<RfpLocation>': TypeInfo(TypeOf.Class, create:() => <RfpLocation>[]),
    'List<RfpLineItem>': TypeInfo(TypeOf.Class, create:() => <RfpLineItem>[]),
    'List<RfpBidConstraint>': TypeInfo(TypeOf.Class, create:() => <RfpBidConstraint>[]),
    'RfpBriefResponse': TypeInfo(TypeOf.Class, create:() => RfpBriefResponse()),
    'RfpBriefRequest': TypeInfo(TypeOf.Class, create:() => RfpBriefRequest()),
});

Dart RfpBriefRequest DTOs

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

HTTP + OTHER

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

GET /v1/Rfp/{RfpDocumentUID}/Brief HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"RfpDocumentID":0,"Brief":{"ProjectTitle":"String","SolicitationNumber":"String","IssuingOrganization":"String","ProjectType":"String","Summary":"String","Locations":[{"Description":"String","City":"String","State":"String","Identifier":"String"}],"Schedule":{"BidDueDate":"String","EstimatedStartDate":"String","QuestionsDueDate":"String","ContractDurationDays":0,"Notes":"String"},"LineItems":[{"ItemNumber":"String","Description":"String","Quantity":0,"Unit":"String","Category":"String","SourceReference":"String"}],"BidConstraints":[{"Constraint":"String","Detail":"String"}],"SpecialRequirements":["String"]}}