Trendsic Platform Service

<back to all web services

RfpApproveRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
POST,OPTIONS/v1/Rfp/{RfpDocumentUID}/Approve
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class RfpApproveRequest
    {
        public UUID RfpDocumentUID = null;
        public ProjectProposal Proposal = null;
        
        public UUID getRfpDocumentUID() { return RfpDocumentUID; }
        public RfpApproveRequest setRfpDocumentUID(UUID value) { this.RfpDocumentUID = value; return this; }
        public ProjectProposal getProposal() { return Proposal; }
        public RfpApproveRequest setProposal(ProjectProposal value) { this.Proposal = value; return this; }
    }

    public static class ProjectProposal
    {
        public Integer RfpDocumentID = null;
        public String ProjectName = null;
        public String ClientName = null;
        public String ProjectType = null;
        public String ProjectLocation = null;
        public String Scope = null;
        public String ProjectDescription = null;
        public Integer ContractDurationDays = null;
        public String BidDueDate = null;
        public Date EstimatedStartDate = null;
        public Date EstimatedEndDate = null;
        public ArrayList<ProposedTask> Tasks = new ArrayList<ProposedTask>();
        
        public Integer getRfpDocumentID() { return RfpDocumentID; }
        public ProjectProposal setRfpDocumentID(Integer value) { this.RfpDocumentID = value; return this; }
        public String getProjectName() { return ProjectName; }
        public ProjectProposal setProjectName(String value) { this.ProjectName = value; return this; }
        public String getClientName() { return ClientName; }
        public ProjectProposal setClientName(String value) { this.ClientName = value; return this; }
        public String getProjectType() { return ProjectType; }
        public ProjectProposal setProjectType(String value) { this.ProjectType = value; return this; }
        public String getProjectLocation() { return ProjectLocation; }
        public ProjectProposal setProjectLocation(String value) { this.ProjectLocation = value; return this; }
        public String getScope() { return Scope; }
        public ProjectProposal setScope(String value) { this.Scope = value; return this; }
        public String getProjectDescription() { return ProjectDescription; }
        public ProjectProposal setProjectDescription(String value) { this.ProjectDescription = value; return this; }
        public Integer getContractDurationDays() { return ContractDurationDays; }
        public ProjectProposal setContractDurationDays(Integer value) { this.ContractDurationDays = value; return this; }
        public String getBidDueDate() { return BidDueDate; }
        public ProjectProposal setBidDueDate(String value) { this.BidDueDate = value; return this; }
        public Date getEstimatedStartDate() { return EstimatedStartDate; }
        public ProjectProposal setEstimatedStartDate(Date value) { this.EstimatedStartDate = value; return this; }
        public Date getEstimatedEndDate() { return EstimatedEndDate; }
        public ProjectProposal setEstimatedEndDate(Date value) { this.EstimatedEndDate = value; return this; }
        public ArrayList<ProposedTask> getTasks() { return Tasks; }
        public ProjectProposal setTasks(ArrayList<ProposedTask> value) { this.Tasks = value; return this; }
    }

    public static class ProposedTask
    {
        public Integer Seq = null;
        public String Name = null;
        public String Category = null;
        public Double Quantity = null;
        public String Unit = null;
        public String SourceItemNumber = null;
        public String SourceReference = null;
        public String Notes = null;
        public TaskResourcing Resourcing = null;
        public Double DurationDays = null;
        public ArrayList<Integer> DependsOn = new ArrayList<Integer>();
        public Date EstimatedStartDate = null;
        public Date EstimatedEndDate = null;
        
        public Integer getSeq() { return Seq; }
        public ProposedTask setSeq(Integer value) { this.Seq = value; return this; }
        public String getName() { return Name; }
        public ProposedTask setName(String value) { this.Name = value; return this; }
        public String getCategory() { return Category; }
        public ProposedTask setCategory(String value) { this.Category = value; return this; }
        public Double getQuantity() { return Quantity; }
        public ProposedTask setQuantity(Double value) { this.Quantity = value; return this; }
        public String getUnit() { return Unit; }
        public ProposedTask setUnit(String value) { this.Unit = value; return this; }
        public String getSourceItemNumber() { return SourceItemNumber; }
        public ProposedTask setSourceItemNumber(String value) { this.SourceItemNumber = value; return this; }
        public String getSourceReference() { return SourceReference; }
        public ProposedTask setSourceReference(String value) { this.SourceReference = value; return this; }
        public String getNotes() { return Notes; }
        public ProposedTask setNotes(String value) { this.Notes = value; return this; }
        public TaskResourcing getResourcing() { return Resourcing; }
        public ProposedTask setResourcing(TaskResourcing value) { this.Resourcing = value; return this; }
        public Double getDurationDays() { return DurationDays; }
        public ProposedTask setDurationDays(Double value) { this.DurationDays = value; return this; }
        public ArrayList<Integer> getDependsOn() { return DependsOn; }
        public ProposedTask setDependsOn(ArrayList<Integer> value) { this.DependsOn = value; return this; }
        public Date getEstimatedStartDate() { return EstimatedStartDate; }
        public ProposedTask setEstimatedStartDate(Date value) { this.EstimatedStartDate = value; return this; }
        public Date getEstimatedEndDate() { return EstimatedEndDate; }
        public ProposedTask setEstimatedEndDate(Date value) { this.EstimatedEndDate = value; return this; }
    }

    public static class TaskResourcing
    {
        public ArrayList<ResourcedPosition> Positions = new ArrayList<ResourcedPosition>();
        public ArrayList<ResourcedEquipment> Equipment = new ArrayList<ResourcedEquipment>();
        public ArrayList<ResourcedMaterial> Materials = new ArrayList<ResourcedMaterial>();
        
        public ArrayList<ResourcedPosition> getPositions() { return Positions; }
        public TaskResourcing setPositions(ArrayList<ResourcedPosition> value) { this.Positions = value; return this; }
        public ArrayList<ResourcedEquipment> getEquipment() { return Equipment; }
        public TaskResourcing setEquipment(ArrayList<ResourcedEquipment> value) { this.Equipment = value; return this; }
        public ArrayList<ResourcedMaterial> getMaterials() { return Materials; }
        public TaskResourcing setMaterials(ArrayList<ResourcedMaterial> value) { this.Materials = value; return this; }
    }

    public static class ResourcedPosition
    {
        public String PositionTag = null;
        public Double Hours = null;
        public Integer Headcount = null;
        public String SourceReference = null;
        public String Notes = null;
        public Boolean IsInCatalog = null;
        public Integer ContactID = null;
        
        public String getPositionTag() { return PositionTag; }
        public ResourcedPosition setPositionTag(String value) { this.PositionTag = value; return this; }
        public Double getHours() { return Hours; }
        public ResourcedPosition setHours(Double value) { this.Hours = value; return this; }
        public Integer getHeadcount() { return Headcount; }
        public ResourcedPosition setHeadcount(Integer value) { this.Headcount = value; return this; }
        public String getSourceReference() { return SourceReference; }
        public ResourcedPosition setSourceReference(String value) { this.SourceReference = value; return this; }
        public String getNotes() { return Notes; }
        public ResourcedPosition setNotes(String value) { this.Notes = value; return this; }
        public Boolean getIsInCatalog() { return IsInCatalog; }
        public ResourcedPosition setIsInCatalog(Boolean value) { this.IsInCatalog = value; return this; }
        public Integer getContactID() { return ContactID; }
        public ResourcedPosition setContactID(Integer value) { this.ContactID = value; return this; }
    }

    public static class ResourcedEquipment
    {
        public Integer EquipmentID = null;
        public String EquipmentName = null;
        public String MakeModel = null;
        public Double Quantity = null;
        public Double DurationDays = null;
        public String SourceReference = null;
        public String Notes = null;
        public Boolean IsInCatalog = null;
        public Integer SuggestedEquipmentID = null;
        public String SuggestedEquipmentName = null;
        
        public Integer getEquipmentID() { return EquipmentID; }
        public ResourcedEquipment setEquipmentID(Integer value) { this.EquipmentID = value; return this; }
        public String getEquipmentName() { return EquipmentName; }
        public ResourcedEquipment setEquipmentName(String value) { this.EquipmentName = value; return this; }
        public String getMakeModel() { return MakeModel; }
        public ResourcedEquipment setMakeModel(String value) { this.MakeModel = value; return this; }
        public Double getQuantity() { return Quantity; }
        public ResourcedEquipment setQuantity(Double value) { this.Quantity = value; return this; }
        public Double getDurationDays() { return DurationDays; }
        public ResourcedEquipment setDurationDays(Double value) { this.DurationDays = value; return this; }
        public String getSourceReference() { return SourceReference; }
        public ResourcedEquipment setSourceReference(String value) { this.SourceReference = value; return this; }
        public String getNotes() { return Notes; }
        public ResourcedEquipment setNotes(String value) { this.Notes = value; return this; }
        public Boolean getIsInCatalog() { return IsInCatalog; }
        public ResourcedEquipment setIsInCatalog(Boolean value) { this.IsInCatalog = value; return this; }
        public Integer getSuggestedEquipmentID() { return SuggestedEquipmentID; }
        public ResourcedEquipment setSuggestedEquipmentID(Integer value) { this.SuggestedEquipmentID = value; return this; }
        public String getSuggestedEquipmentName() { return SuggestedEquipmentName; }
        public ResourcedEquipment setSuggestedEquipmentName(String value) { this.SuggestedEquipmentName = value; return this; }
    }

    public static class ResourcedMaterial
    {
        public Integer MaterialID = null;
        public String MaterialName = null;
        public String MakeModel = null;
        public Double Quantity = null;
        public String Unit = null;
        public String SourceReference = null;
        public String Notes = null;
        public Boolean IsInCatalog = null;
        public Integer SuggestedMaterialID = null;
        public String SuggestedMaterialName = null;
        
        public Integer getMaterialID() { return MaterialID; }
        public ResourcedMaterial setMaterialID(Integer value) { this.MaterialID = value; return this; }
        public String getMaterialName() { return MaterialName; }
        public ResourcedMaterial setMaterialName(String value) { this.MaterialName = value; return this; }
        public String getMakeModel() { return MakeModel; }
        public ResourcedMaterial setMakeModel(String value) { this.MakeModel = value; return this; }
        public Double getQuantity() { return Quantity; }
        public ResourcedMaterial setQuantity(Double value) { this.Quantity = value; return this; }
        public String getUnit() { return Unit; }
        public ResourcedMaterial setUnit(String value) { this.Unit = value; return this; }
        public String getSourceReference() { return SourceReference; }
        public ResourcedMaterial setSourceReference(String value) { this.SourceReference = value; return this; }
        public String getNotes() { return Notes; }
        public ResourcedMaterial setNotes(String value) { this.Notes = value; return this; }
        public Boolean getIsInCatalog() { return IsInCatalog; }
        public ResourcedMaterial setIsInCatalog(Boolean value) { this.IsInCatalog = value; return this; }
        public Integer getSuggestedMaterialID() { return SuggestedMaterialID; }
        public ResourcedMaterial setSuggestedMaterialID(Integer value) { this.SuggestedMaterialID = value; return this; }
        public String getSuggestedMaterialName() { return SuggestedMaterialName; }
        public ResourcedMaterial setSuggestedMaterialName(String value) { this.SuggestedMaterialName = value; return this; }
    }

    public static class RfpApproveResponse
    {
        public ResponseStatus ResponseStatus = null;
        public Integer RfpDocumentID = null;
        public Integer ProjectID = null;
        public UUID ProjectUID = null;
        public Integer RfpApprovalID = null;
        public ArrayList<Integer> JobIDs = new ArrayList<Integer>();
        public Integer OpenPositionCount = null;
        public ProposalDiff Diff = null;
        
        public ResponseStatus getResponseStatus() { return ResponseStatus; }
        public RfpApproveResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
        public Integer getRfpDocumentID() { return RfpDocumentID; }
        public RfpApproveResponse setRfpDocumentID(Integer value) { this.RfpDocumentID = value; return this; }
        public Integer getProjectID() { return ProjectID; }
        public RfpApproveResponse setProjectID(Integer value) { this.ProjectID = value; return this; }
        public UUID getProjectUID() { return ProjectUID; }
        public RfpApproveResponse setProjectUID(UUID value) { this.ProjectUID = value; return this; }
        public Integer getRfpApprovalID() { return RfpApprovalID; }
        public RfpApproveResponse setRfpApprovalID(Integer value) { this.RfpApprovalID = value; return this; }
        public ArrayList<Integer> getJobIDs() { return JobIDs; }
        public RfpApproveResponse setJobIDs(ArrayList<Integer> value) { this.JobIDs = value; return this; }
        public Integer getOpenPositionCount() { return OpenPositionCount; }
        public RfpApproveResponse setOpenPositionCount(Integer value) { this.OpenPositionCount = value; return this; }
        public ProposalDiff getDiff() { return Diff; }
        public RfpApproveResponse setDiff(ProposalDiff value) { this.Diff = value; return this; }
    }

    public static class ProposalDiff
    {
        public ArrayList<String> TasksAdded = new ArrayList<String>();
        public ArrayList<String> TasksRemoved = new ArrayList<String>();
        public ArrayList<TaskDiff> Tasks = new ArrayList<TaskDiff>();
        public Boolean HasChanges = null;
        
        public ArrayList<String> getTasksAdded() { return TasksAdded; }
        public ProposalDiff setTasksAdded(ArrayList<String> value) { this.TasksAdded = value; return this; }
        public ArrayList<String> getTasksRemoved() { return TasksRemoved; }
        public ProposalDiff setTasksRemoved(ArrayList<String> value) { this.TasksRemoved = value; return this; }
        public ArrayList<TaskDiff> getTasks() { return Tasks; }
        public ProposalDiff setTasks(ArrayList<TaskDiff> value) { this.Tasks = value; return this; }
        public Boolean isHasChanges() { return HasChanges; }
        public ProposalDiff setHasChanges(Boolean value) { this.HasChanges = value; return this; }
    }

    public static class TaskDiff
    {
        public String TaskName = null;
        public ArrayList<String> PositionsAdded = new ArrayList<String>();
        public ArrayList<String> PositionsRemoved = new ArrayList<String>();
        public ArrayList<String> PositionsStaffed = new ArrayList<String>();
        public ArrayList<Integer> EquipmentAdded = new ArrayList<Integer>();
        public ArrayList<Integer> EquipmentRemoved = new ArrayList<Integer>();
        public ArrayList<Integer> MaterialsAdded = new ArrayList<Integer>();
        public ArrayList<Integer> MaterialsRemoved = new ArrayList<Integer>();
        public Boolean HasChanges = null;
        
        public String getTaskName() { return TaskName; }
        public TaskDiff setTaskName(String value) { this.TaskName = value; return this; }
        public ArrayList<String> getPositionsAdded() { return PositionsAdded; }
        public TaskDiff setPositionsAdded(ArrayList<String> value) { this.PositionsAdded = value; return this; }
        public ArrayList<String> getPositionsRemoved() { return PositionsRemoved; }
        public TaskDiff setPositionsRemoved(ArrayList<String> value) { this.PositionsRemoved = value; return this; }
        public ArrayList<String> getPositionsStaffed() { return PositionsStaffed; }
        public TaskDiff setPositionsStaffed(ArrayList<String> value) { this.PositionsStaffed = value; return this; }
        public ArrayList<Integer> getEquipmentAdded() { return EquipmentAdded; }
        public TaskDiff setEquipmentAdded(ArrayList<Integer> value) { this.EquipmentAdded = value; return this; }
        public ArrayList<Integer> getEquipmentRemoved() { return EquipmentRemoved; }
        public TaskDiff setEquipmentRemoved(ArrayList<Integer> value) { this.EquipmentRemoved = value; return this; }
        public ArrayList<Integer> getMaterialsAdded() { return MaterialsAdded; }
        public TaskDiff setMaterialsAdded(ArrayList<Integer> value) { this.MaterialsAdded = value; return this; }
        public ArrayList<Integer> getMaterialsRemoved() { return MaterialsRemoved; }
        public TaskDiff setMaterialsRemoved(ArrayList<Integer> value) { this.MaterialsRemoved = value; return this; }
        public Boolean isHasChanges() { return HasChanges; }
        public TaskDiff setHasChanges(Boolean value) { this.HasChanges = value; return this; }
    }

}

Java RfpApproveRequest 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.

POST /v1/Rfp/{RfpDocumentUID}/Approve HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"RfpDocumentUID":"00000000000000000000000000000000","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/csv
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}}