| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/Rfp/{RfpDocumentUID}/Approve |
|---|
namespace CRM.AgencyPlatform.API.Internal
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type TaskDiff() =
member val TaskName:String = null with get,set
member val PositionsAdded:ResizeArray<String> = new ResizeArray<String>() with get,set
member val PositionsRemoved:ResizeArray<String> = new ResizeArray<String>() with get,set
member val PositionsStaffed:ResizeArray<String> = new ResizeArray<String>() with get,set
member val EquipmentAdded:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val EquipmentRemoved:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val MaterialsAdded:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val MaterialsRemoved:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val HasChanges:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type ProposalDiff() =
member val TasksAdded:ResizeArray<String> = new ResizeArray<String>() with get,set
member val TasksRemoved:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Tasks:ResizeArray<TaskDiff> = new ResizeArray<TaskDiff>() with get,set
member val HasChanges:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type RfpApproveResponse() =
member val ResponseStatus:ResponseStatus = null with get,set
member val RfpDocumentID:Int32 = new Int32() with get,set
member val ProjectID:Int32 = new Int32() with get,set
member val ProjectUID:Guid = new Guid() with get,set
member val RfpApprovalID:Int32 = new Int32() with get,set
member val JobIDs:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val OpenPositionCount:Int32 = new Int32() with get,set
member val Diff:ProposalDiff = null with get,set
[<AllowNullLiteral>]
type ResourcedPosition() =
member val PositionTag:String = null with get,set
member val Hours:Nullable<Double> = new Nullable<Double>() with get,set
member val CrewSize:Nullable<Double> = new Nullable<Double>() with get,set
member val Utilization:Nullable<Double> = new Nullable<Double>() with get,set
member val FixedDays:Nullable<Double> = new Nullable<Double>() with get,set
member val Headcount:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SourceReference:String = null with get,set
member val Notes:String = null with get,set
member val IsInCatalog:Boolean = new Boolean() with get,set
member val ContactID:Nullable<Int32> = new Nullable<Int32>() with get,set
[<AllowNullLiteral>]
type ResourcedEquipment() =
member val EquipmentID:Int32 = new Int32() with get,set
member val EquipmentName:String = null with get,set
member val MakeModel:String = null with get,set
member val Quantity:Nullable<Double> = new Nullable<Double>() with get,set
member val DurationDays:Nullable<Double> = new Nullable<Double>() with get,set
member val Utilization:Nullable<Double> = new Nullable<Double>() with get,set
member val FixedDays:Nullable<Double> = new Nullable<Double>() with get,set
member val SourceReference:String = null with get,set
member val Notes:String = null with get,set
member val IsInCatalog:Boolean = new Boolean() with get,set
member val SuggestedEquipmentID:Int32 = new Int32() with get,set
member val SuggestedEquipmentName:String = null with get,set
[<AllowNullLiteral>]
type ResourcedMaterial() =
member val MaterialID:Int32 = new Int32() with get,set
member val MaterialName:String = null with get,set
member val MakeModel:String = null with get,set
member val Quantity:Nullable<Double> = new Nullable<Double>() with get,set
member val QuantityPerUnit:Nullable<Double> = new Nullable<Double>() with get,set
member val Unit:String = null with get,set
member val SourceReference:String = null with get,set
member val Notes:String = null with get,set
member val IsInCatalog:Boolean = new Boolean() with get,set
member val SuggestedMaterialID:Int32 = new Int32() with get,set
member val SuggestedMaterialName:String = null with get,set
[<AllowNullLiteral>]
type TaskResourcing() =
member val Positions:ResizeArray<ResourcedPosition> = new ResizeArray<ResourcedPosition>() with get,set
member val Equipment:ResizeArray<ResourcedEquipment> = new ResizeArray<ResourcedEquipment>() with get,set
member val Materials:ResizeArray<ResourcedMaterial> = new ResizeArray<ResourcedMaterial>() with get,set
member val ResourcedForQuantity:Nullable<Double> = new Nullable<Double>() with get,set
member val ProductionRatePerDay:Nullable<Double> = new Nullable<Double>() with get,set
member val FixedDays:Nullable<Double> = new Nullable<Double>() with get,set
[<AllowNullLiteral>]
type WorkPackageSpecRef() =
member val Section:String = null with get,set
member val Title:String = null with get,set
[<AllowNullLiteral>]
type TaskWorkPackage() =
member val Scope:String = null with get,set
member val LimitsOfWork:String = null with get,set
member val SpecRefs:ResizeArray<WorkPackageSpecRef> = new ResizeArray<WorkPackageSpecRef>() with get,set
member val Constraints:ResizeArray<String> = new ResizeArray<String>() with get,set
member val HoldPoints:ResizeArray<String> = new ResizeArray<String>() with get,set
member val DefinitionOfDone:ResizeArray<String> = new ResizeArray<String>() with get,set
member val SafetyNote:String = null with get,set
member val RfpRef:String = null with get,set
member val Confidence:Nullable<Int32> = new Nullable<Int32>() with get,set
member val SpecBook:String = null with get,set
member val UserScope:String = null with get,set
member val DodRemoved:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val DodExtra:ResizeArray<String> = new ResizeArray<String>() with get,set
member val UserEdited:Boolean = new Boolean() with get,set
member val DodChecked:ResizeArray<String> = new ResizeArray<String>() with get,set
member val RedraftNote:String = null with get,set
[<AllowNullLiteral>]
type ProposedTask() =
member val Seq:Int32 = new Int32() with get,set
member val Name:String = null with get,set
member val Category:String = null with get,set
member val Quantity:Nullable<Double> = new Nullable<Double>() with get,set
member val Unit:String = null with get,set
member val SourceItemNumber:String = null with get,set
member val SourceReference:String = null with get,set
member val Notes:String = null with get,set
member val Resourcing:TaskResourcing = null with get,set
member val DurationDays:Nullable<Double> = new Nullable<Double>() with get,set
member val DependsOn:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
member val EstimatedStartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val EstimatedEndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val WorkPackage:TaskWorkPackage = null with get,set
member val CreatedJobID:Nullable<Int32> = new Nullable<Int32>() with get,set
[<AllowNullLiteral>]
type AddendaChange() =
member val ChangeId:String = null with get,set
member val ChangeType:String = null with get,set
member val TargetSeq:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ItemNumber:String = null with get,set
member val ItemName:String = null with get,set
member val Field:String = null with get,set
member val OldValue:String = null with get,set
member val NewValue:String = null with get,set
member val Description:String = null with get,set
member val Status:String = null with get,set
[<AllowNullLiteral>]
type AddendaChangeSet() =
member val ChangeSetId:String = null with get,set
member val SourceRfpDocumentID:Int32 = new Int32() with get,set
member val SourceFileName:String = null with get,set
member val DocumentType:String = null with get,set
member val ExtractedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val Summary:String = null with get,set
member val Changes:ResizeArray<AddendaChange> = new ResizeArray<AddendaChange>() with get,set
[<AllowNullLiteral>]
type WageClassification() =
member val Title:String = null with get,set
member val BaseRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val FringeRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val ParishNote:String = null with get,set
member val SourceLine:String = null with get,set
member val BenchmarkFringeRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val FringeCompareNote:String = null with get,set
[<AllowNullLiteral>]
type WageDeterminationResult() =
member val SourceRfpDocumentID:Int32 = new Int32() with get,set
member val SourceFileName:String = null with get,set
member val WdNumber:String = null with get,set
member val ExtractedAtUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val Classifications:ResizeArray<WageClassification> = new ResizeArray<WageClassification>() with get,set
member val Source:String = null with get,set
member val IsTrustworthy:Boolean = new Boolean() with get,set
member val ExecutiveOrderFloor:Nullable<Decimal> = new Nullable<Decimal>() with get,set
member val PublishedDate:String = null with get,set
member val ProjectParish:String = null with get,set
member val Warnings:ResizeArray<String> = new ResizeArray<String>() with get,set
[<AllowNullLiteral>]
type ProjectProposal() =
member val RfpDocumentID:Int32 = new Int32() with get,set
member val Mode:String = null with get,set
member val ProjectID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ChangeOrderID:Nullable<Int32> = new Nullable<Int32>() with get,set
member val ProjectName:String = null with get,set
member val ClientName:String = null with get,set
member val ProjectType:String = null with get,set
member val ProjectLocation:String = null with get,set
member val Scope:String = null with get,set
member val ProjectDescription:String = null with get,set
member val ContractDurationDays:Nullable<Int32> = new Nullable<Int32>() with get,set
member val BidDueDate:String = null with get,set
member val EstimatedStartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val EstimatedEndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val Tasks:ResizeArray<ProposedTask> = new ResizeArray<ProposedTask>() with get,set
member val PendingAddendaDiffs:ResizeArray<AddendaChangeSet> = new ResizeArray<AddendaChangeSet>() with get,set
member val WageDeterminations:ResizeArray<WageDeterminationResult> = new ResizeArray<WageDeterminationResult>() with get,set
[<AllowNullLiteral>]
type RfpApproveRequest() =
member val RfpDocumentUID:Guid = new Guid() with get,set
member val Proposal:ProjectProposal = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Rfp/{RfpDocumentUID}/Approve HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"RfpDocumentUID":"00000000000000000000000000000000","Proposal":{"RfpDocumentID":0,"Mode":"String","ProjectID":0,"ChangeOrderID":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,"CrewSize":0,"Utilization":0,"FixedDays":0,"Headcount":0,"SourceReference":"String","Notes":"String","IsInCatalog":false,"ContactID":0}],"Equipment":[{"EquipmentID":0,"EquipmentName":"String","MakeModel":"String","Quantity":0,"DurationDays":0,"Utilization":0,"FixedDays":0,"SourceReference":"String","Notes":"String","IsInCatalog":false,"SuggestedEquipmentID":0,"SuggestedEquipmentName":"String"}],"Materials":[{"MaterialID":0,"MaterialName":"String","MakeModel":"String","Quantity":0,"QuantityPerUnit":0,"Unit":"String","SourceReference":"String","Notes":"String","IsInCatalog":false,"SuggestedMaterialID":0,"SuggestedMaterialName":"String"}],"ResourcedForQuantity":0,"ProductionRatePerDay":0,"FixedDays":0},"DurationDays":0,"DependsOn":[0],"EstimatedStartDate":"0001-01-01T00:00:00.0000000","EstimatedEndDate":"0001-01-01T00:00:00.0000000","WorkPackage":{"Scope":"String","LimitsOfWork":"String","SpecRefs":[{"Section":"String","Title":"String"}],"Constraints":["String"],"HoldPoints":["String"],"DefinitionOfDone":["String"],"SafetyNote":"String","RfpRef":"String","Confidence":0,"SpecBook":"String","UserScope":"String","DodRemoved":[0],"DodExtra":["String"],"UserEdited":false,"DodChecked":["String"],"RedraftNote":"String"},"CreatedJobID":0}],"PendingAddendaDiffs":[{"ChangeSetId":"String","SourceRfpDocumentID":0,"SourceFileName":"String","DocumentType":"String","ExtractedAtUtc":"0001-01-01T00:00:00.0000000","Summary":"String","Changes":[{"ChangeId":"String","ChangeType":"String","TargetSeq":0,"ItemNumber":"String","ItemName":"String","Field":"String","OldValue":"String","NewValue":"String","Description":"String","Status":"String"}]}],"WageDeterminations":[{"SourceRfpDocumentID":0,"SourceFileName":"String","WdNumber":"String","ExtractedAtUtc":"0001-01-01T00:00:00.0000000","Classifications":[{"Title":"String","BaseRate":0,"FringeRate":0,"ParishNote":"String","SourceLine":"String","BenchmarkFringeRate":0,"FringeCompareNote":"String"}],"Source":"String","IsTrustworthy":false,"ExecutiveOrderFloor":0,"PublishedDate":"String","ProjectParish":"String","Warnings":["String"]}]}}
HTTP/1.1 200 OK
Content-Type: application/json
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,"ProjectID":0,"ProjectUID":"00000000000000000000000000000000","RfpApprovalID":0,"JobIDs":[0],"OpenPositionCount":0,"Diff":{"TasksAdded":["String"],"TasksRemoved":["String"],"Tasks":[{"TaskName":"String","PositionsAdded":["String"],"PositionsRemoved":["String"],"PositionsStaffed":["String"],"EquipmentAdded":[0],"EquipmentRemoved":[0],"MaterialsAdded":[0],"MaterialsRemoved":[0],"HasChanges":true}],"HasChanges":true}}