Trendsic Platform Service

<back to all web services

RfpPricePreviewRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
POST,OPTIONS/v1/Rfp/PricePreview
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports CRM.AgencyPlatform.API.Internal

Namespace Global

    Namespace CRM.AgencyPlatform.API.Internal

        Public Partial Class CostRange
            Public Overridable Property Min As Double
            Public Overridable Property Max As Double
            Public Overridable Property Mid As Double
        End Class

        Public Partial Class PricedEquipment
            Public Overridable Property EquipmentID As Integer
            Public Overridable Property EquipmentName As String
            Public Overridable Property Quantity As Double
            Public Overridable Property DurationDays As Double?
            Public Overridable Property RateType As String
            Public Overridable Property BilledRate As Double?
            Public Overridable Property CostRate As Double?
            Public Overridable Property HasRate As Boolean
            Public Overridable Property IsInCatalog As Boolean
            Public Overridable Property Cost As Double
            Public Overridable Property CompanyCost As Double
            Public Overridable Property Margin As Double
        End Class

        Public Partial Class PricedMaterial
            Public Overridable Property MaterialID As Integer
            Public Overridable Property MaterialName As String
            Public Overridable Property Quantity As Double
            Public Overridable Property UnitCost As Double?
            Public Overridable Property HasRate As Boolean
            Public Overridable Property IsInCatalog As Boolean
            Public Overridable Property Cost As Double
        End Class

        Public Partial Class PricedPosition
            Public Overridable Property PositionTag As String
            Public Overridable Property Hours As Double
            Public Overridable Property HasInternalRate As Boolean
            Public Overridable Property RateMin As Double?
            Public Overridable Property RateMax As Double?
            Public Overridable Property RateAvg As Double?
            Public Overridable Property ContactCount As Integer
            Public Overridable Property Cost As CostRange
            Public Overridable Property MarketRateReference As Double?
        End Class

        Public Partial Class PricedProposal
            Public Overridable Property RfpDocumentID As Integer
            Public Overridable Property ProjectName As String
            Public Overridable Property Currency As String
            Public Overridable Property Tasks As List(Of PricedTask) = New List(Of PricedTask)
            Public Overridable Property Total As CostRange
            Public Overridable Property PositionsNeedingRate As Integer
            Public Overridable Property EquipmentNotInCatalog As Integer
            Public Overridable Property MaterialsNotInCatalog As Integer
            Public Overridable Property PositionsNotInCatalog As Integer
            Public Overridable Property EquipmentMargin As Double
        End Class

        Public Partial Class PricedTask
            Public Overridable Property Name As String
            Public Overridable Property Category As String
            Public Overridable Property Positions As List(Of PricedPosition) = New List(Of PricedPosition)
            Public Overridable Property Equipment As List(Of PricedEquipment) = New List(Of PricedEquipment)
            Public Overridable Property Materials As List(Of PricedMaterial) = New List(Of PricedMaterial)
            Public Overridable Property Subtotal As CostRange
        End Class

        Public Partial Class ProjectProposal
            Public Overridable Property RfpDocumentID As Integer
            Public Overridable Property ProjectName As String
            Public Overridable Property ClientName As String
            Public Overridable Property ProjectType As String
            Public Overridable Property ProjectLocation As String
            Public Overridable Property Scope As String
            Public Overridable Property ProjectDescription As String
            Public Overridable Property ContractDurationDays As Integer?
            Public Overridable Property BidDueDate As String
            Public Overridable Property EstimatedStartDate As Date?
            Public Overridable Property EstimatedEndDate As Date?
            Public Overridable Property Tasks As List(Of ProposedTask) = New List(Of ProposedTask)
        End Class

        Public Partial Class ProposedTask
            Public Overridable Property Seq As Integer
            Public Overridable Property Name As String
            Public Overridable Property Category As String
            Public Overridable Property Quantity As Double?
            Public Overridable Property Unit As String
            Public Overridable Property SourceItemNumber As String
            Public Overridable Property SourceReference As String
            Public Overridable Property Notes As String
            Public Overridable Property Resourcing As TaskResourcing
            Public Overridable Property DurationDays As Double?
            Public Overridable Property DependsOn As List(Of Integer) = New List(Of Integer)
            Public Overridable Property EstimatedStartDate As Date?
            Public Overridable Property EstimatedEndDate As Date?
        End Class

        Public Partial Class ResourcedEquipment
            Public Overridable Property EquipmentID As Integer
            Public Overridable Property EquipmentName As String
            Public Overridable Property MakeModel As String
            Public Overridable Property Quantity As Double?
            Public Overridable Property DurationDays As Double?
            Public Overridable Property SourceReference As String
            Public Overridable Property Notes As String
            Public Overridable Property IsInCatalog As Boolean
            Public Overridable Property SuggestedEquipmentID As Integer
            Public Overridable Property SuggestedEquipmentName As String
        End Class

        Public Partial Class ResourcedMaterial
            Public Overridable Property MaterialID As Integer
            Public Overridable Property MaterialName As String
            Public Overridable Property MakeModel As String
            Public Overridable Property Quantity As Double?
            Public Overridable Property Unit As String
            Public Overridable Property SourceReference As String
            Public Overridable Property Notes As String
            Public Overridable Property IsInCatalog As Boolean
            Public Overridable Property SuggestedMaterialID As Integer
            Public Overridable Property SuggestedMaterialName As String
        End Class

        Public Partial Class ResourcedPosition
            Public Overridable Property PositionTag As String
            Public Overridable Property Hours As Double?
            Public Overridable Property Headcount As Integer?
            Public Overridable Property SourceReference As String
            Public Overridable Property Notes As String
            Public Overridable Property IsInCatalog As Boolean
            Public Overridable Property ContactID As Integer?
        End Class

        Public Partial Class RfpPricePreviewRequest
            Public Overridable Property Proposal As ProjectProposal
        End Class

        Public Partial Class RfpPricingResponse
            Public Overridable Property ResponseStatus As ResponseStatus
            Public Overridable Property RfpDocumentID As Integer
            Public Overridable Property Pricing As PricedProposal
        End Class

        Public Partial Class TaskResourcing
            Public Overridable Property Positions As List(Of ResourcedPosition) = New List(Of ResourcedPosition)
            Public Overridable Property Equipment As List(Of ResourcedEquipment) = New List(Of ResourcedEquipment)
            Public Overridable Property Materials As List(Of ResourcedMaterial) = New List(Of ResourcedMaterial)
        End Class
    End Namespace
End Namespace

VB.NET RfpPricePreviewRequest 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.

POST /v1/Rfp/PricePreview HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Proposal":{"RfpDocumentID":0,"ProjectName":"String","ClientName":"String","ProjectType":"String","ProjectLocation":"String","Scope":"String","ProjectDescription":"String","ContractDurationDays":0,"BidDueDate":"String","EstimatedStartDate":"0001-01-01T00:00:00.0000000","EstimatedEndDate":"0001-01-01T00:00:00.0000000","Tasks":[{"Seq":0,"Name":"String","Category":"String","Quantity":0,"Unit":"String","SourceItemNumber":"String","SourceReference":"String","Notes":"String","Resourcing":{"Positions":[{"PositionTag":"String","Hours":0,"Headcount":0,"SourceReference":"String","Notes":"String","IsInCatalog":false,"ContactID":0}],"Equipment":[{"EquipmentID":0,"EquipmentName":"String","MakeModel":"String","Quantity":0,"DurationDays":0,"SourceReference":"String","Notes":"String","IsInCatalog":false,"SuggestedEquipmentID":0,"SuggestedEquipmentName":"String"}],"Materials":[{"MaterialID":0,"MaterialName":"String","MakeModel":"String","Quantity":0,"Unit":"String","SourceReference":"String","Notes":"String","IsInCatalog":false,"SuggestedMaterialID":0,"SuggestedMaterialName":"String"}]},"DurationDays":0,"DependsOn":[0],"EstimatedStartDate":"0001-01-01T00:00:00.0000000","EstimatedEndDate":"0001-01-01T00:00:00.0000000"}]}}
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,"Pricing":{"RfpDocumentID":0,"ProjectName":"String","Currency":"String","Tasks":[{"Name":"String","Category":"String","Positions":[{"PositionTag":"String","Hours":0,"HasInternalRate":false,"RateMin":0,"RateMax":0,"RateAvg":0,"ContactCount":0,"Cost":{"Min":0,"Max":0,"Mid":0},"MarketRateReference":0}],"Equipment":[{"EquipmentID":0,"EquipmentName":"String","Quantity":0,"DurationDays":0,"RateType":"String","BilledRate":0,"CostRate":0,"HasRate":false,"IsInCatalog":false,"Cost":0,"CompanyCost":0,"Margin":0}],"Materials":[{"MaterialID":0,"MaterialName":"String","Quantity":0,"UnitCost":0,"HasRate":false,"IsInCatalog":false,"Cost":0}],"Subtotal":{"Min":0,"Max":0,"Mid":0}}],"Total":{"Min":0,"Max":0,"Mid":0},"PositionsNeedingRate":0,"EquipmentNotInCatalog":0,"MaterialsNotInCatalog":0,"PositionsNotInCatalog":0,"EquipmentMargin":0}}