| Requires any of the roles: | Agent, Administrator |
| GET,OPTIONS | /v1/Rfp/{RfpDocumentUID}/Brief |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RfpLocation:
description: Optional[str] = None
city: Optional[str] = None
state: Optional[str] = None
identifier: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RfpSchedule:
bid_due_date: Optional[str] = None
estimated_start_date: Optional[str] = None
questions_due_date: Optional[str] = None
contract_duration_days: Optional[int] = None
notes: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RfpLineItem:
item_number: Optional[str] = None
description: Optional[str] = None
quantity: Optional[float] = None
unit: Optional[str] = None
category: Optional[str] = None
source_reference: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RfpBidConstraint:
constraint: Optional[str] = None
detail: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RfpBrief:
project_title: Optional[str] = None
solicitation_number: Optional[str] = None
issuing_organization: Optional[str] = None
project_type: Optional[str] = None
summary: Optional[str] = None
locations: List[RfpLocation] = field(default_factory=list)
schedule: Optional[RfpSchedule] = None
line_items: List[RfpLineItem] = field(default_factory=list)
bid_constraints: List[RfpBidConstraint] = field(default_factory=list)
special_requirements: List[str] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RfpBriefResponse:
response_status: Optional[ResponseStatus] = None
rfp_document_i_d: int = 0
brief: Optional[RfpBrief] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RfpBriefRequest:
rfp_document_u_i_d: Optional[str] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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/jsv
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
}
},
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
]
}
}