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
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class RfpPricePreviewRequest
    {
        public ProjectProposal Proposal = null;
        
        public ProjectProposal getProposal() { return Proposal; }
        public RfpPricePreviewRequest 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 RfpPricingResponse
    {
        public ResponseStatus ResponseStatus = null;
        public Integer RfpDocumentID = null;
        public PricedProposal Pricing = null;
        
        public ResponseStatus getResponseStatus() { return ResponseStatus; }
        public RfpPricingResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
        public Integer getRfpDocumentID() { return RfpDocumentID; }
        public RfpPricingResponse setRfpDocumentID(Integer value) { this.RfpDocumentID = value; return this; }
        public PricedProposal getPricing() { return Pricing; }
        public RfpPricingResponse setPricing(PricedProposal value) { this.Pricing = value; return this; }
    }

    public static class PricedProposal
    {
        public Integer RfpDocumentID = null;
        public String ProjectName = null;
        public String Currency = null;
        public ArrayList<PricedTask> Tasks = new ArrayList<PricedTask>();
        public CostRange Total = null;
        public Integer PositionsNeedingRate = null;
        public Integer EquipmentNotInCatalog = null;
        public Integer MaterialsNotInCatalog = null;
        public Integer PositionsNotInCatalog = null;
        public Double EquipmentMargin = null;
        
        public Integer getRfpDocumentID() { return RfpDocumentID; }
        public PricedProposal setRfpDocumentID(Integer value) { this.RfpDocumentID = value; return this; }
        public String getProjectName() { return ProjectName; }
        public PricedProposal setProjectName(String value) { this.ProjectName = value; return this; }
        public String getCurrency() { return Currency; }
        public PricedProposal setCurrency(String value) { this.Currency = value; return this; }
        public ArrayList<PricedTask> getTasks() { return Tasks; }
        public PricedProposal setTasks(ArrayList<PricedTask> value) { this.Tasks = value; return this; }
        public CostRange getTotal() { return Total; }
        public PricedProposal setTotal(CostRange value) { this.Total = value; return this; }
        public Integer getPositionsNeedingRate() { return PositionsNeedingRate; }
        public PricedProposal setPositionsNeedingRate(Integer value) { this.PositionsNeedingRate = value; return this; }
        public Integer getEquipmentNotInCatalog() { return EquipmentNotInCatalog; }
        public PricedProposal setEquipmentNotInCatalog(Integer value) { this.EquipmentNotInCatalog = value; return this; }
        public Integer getMaterialsNotInCatalog() { return MaterialsNotInCatalog; }
        public PricedProposal setMaterialsNotInCatalog(Integer value) { this.MaterialsNotInCatalog = value; return this; }
        public Integer getPositionsNotInCatalog() { return PositionsNotInCatalog; }
        public PricedProposal setPositionsNotInCatalog(Integer value) { this.PositionsNotInCatalog = value; return this; }
        public Double getEquipmentMargin() { return EquipmentMargin; }
        public PricedProposal setEquipmentMargin(Double value) { this.EquipmentMargin = value; return this; }
    }

    public static class PricedTask
    {
        public String Name = null;
        public String Category = null;
        public ArrayList<PricedPosition> Positions = new ArrayList<PricedPosition>();
        public ArrayList<PricedEquipment> Equipment = new ArrayList<PricedEquipment>();
        public ArrayList<PricedMaterial> Materials = new ArrayList<PricedMaterial>();
        public CostRange Subtotal = null;
        
        public String getName() { return Name; }
        public PricedTask setName(String value) { this.Name = value; return this; }
        public String getCategory() { return Category; }
        public PricedTask setCategory(String value) { this.Category = value; return this; }
        public ArrayList<PricedPosition> getPositions() { return Positions; }
        public PricedTask setPositions(ArrayList<PricedPosition> value) { this.Positions = value; return this; }
        public ArrayList<PricedEquipment> getEquipment() { return Equipment; }
        public PricedTask setEquipment(ArrayList<PricedEquipment> value) { this.Equipment = value; return this; }
        public ArrayList<PricedMaterial> getMaterials() { return Materials; }
        public PricedTask setMaterials(ArrayList<PricedMaterial> value) { this.Materials = value; return this; }
        public CostRange getSubtotal() { return Subtotal; }
        public PricedTask setSubtotal(CostRange value) { this.Subtotal = value; return this; }
    }

    public static class PricedPosition
    {
        public String PositionTag = null;
        public Double Hours = null;
        public Boolean HasInternalRate = null;
        public Double RateMin = null;
        public Double RateMax = null;
        public Double RateAvg = null;
        public Integer ContactCount = null;
        public CostRange Cost = null;
        public Double MarketRateReference = null;
        
        public String getPositionTag() { return PositionTag; }
        public PricedPosition setPositionTag(String value) { this.PositionTag = value; return this; }
        public Double getHours() { return Hours; }
        public PricedPosition setHours(Double value) { this.Hours = value; return this; }
        public Boolean isHasInternalRate() { return HasInternalRate; }
        public PricedPosition setHasInternalRate(Boolean value) { this.HasInternalRate = value; return this; }
        public Double getRateMin() { return RateMin; }
        public PricedPosition setRateMin(Double value) { this.RateMin = value; return this; }
        public Double getRateMax() { return RateMax; }
        public PricedPosition setRateMax(Double value) { this.RateMax = value; return this; }
        public Double getRateAvg() { return RateAvg; }
        public PricedPosition setRateAvg(Double value) { this.RateAvg = value; return this; }
        public Integer getContactCount() { return ContactCount; }
        public PricedPosition setContactCount(Integer value) { this.ContactCount = value; return this; }
        public CostRange getCost() { return Cost; }
        public PricedPosition setCost(CostRange value) { this.Cost = value; return this; }
        public Double getMarketRateReference() { return MarketRateReference; }
        public PricedPosition setMarketRateReference(Double value) { this.MarketRateReference = value; return this; }
    }

    public static class CostRange
    {
        public Double Min = null;
        public Double Max = null;
        public Double Mid = null;
        
        public Double getMin() { return Min; }
        public CostRange setMin(Double value) { this.Min = value; return this; }
        public Double getMax() { return Max; }
        public CostRange setMax(Double value) { this.Max = value; return this; }
        public Double getMid() { return Mid; }
        public CostRange setMid(Double value) { this.Mid = value; return this; }
    }

    public static class PricedEquipment
    {
        public Integer EquipmentID = null;
        public String EquipmentName = null;
        public Double Quantity = null;
        public Double DurationDays = null;
        public String RateType = null;
        public Double BilledRate = null;
        public Double CostRate = null;
        public Boolean HasRate = null;
        public Boolean IsInCatalog = null;
        public Double Cost = null;
        public Double CompanyCost = null;
        public Double Margin = null;
        
        public Integer getEquipmentID() { return EquipmentID; }
        public PricedEquipment setEquipmentID(Integer value) { this.EquipmentID = value; return this; }
        public String getEquipmentName() { return EquipmentName; }
        public PricedEquipment setEquipmentName(String value) { this.EquipmentName = value; return this; }
        public Double getQuantity() { return Quantity; }
        public PricedEquipment setQuantity(Double value) { this.Quantity = value; return this; }
        public Double getDurationDays() { return DurationDays; }
        public PricedEquipment setDurationDays(Double value) { this.DurationDays = value; return this; }
        public String getRateType() { return RateType; }
        public PricedEquipment setRateType(String value) { this.RateType = value; return this; }
        public Double getBilledRate() { return BilledRate; }
        public PricedEquipment setBilledRate(Double value) { this.BilledRate = value; return this; }
        public Double getCostRate() { return CostRate; }
        public PricedEquipment setCostRate(Double value) { this.CostRate = value; return this; }
        public Boolean isHasRate() { return HasRate; }
        public PricedEquipment setHasRate(Boolean value) { this.HasRate = value; return this; }
        public Boolean getIsInCatalog() { return IsInCatalog; }
        public PricedEquipment setIsInCatalog(Boolean value) { this.IsInCatalog = value; return this; }
        public Double getCost() { return Cost; }
        public PricedEquipment setCost(Double value) { this.Cost = value; return this; }
        public Double getCompanyCost() { return CompanyCost; }
        public PricedEquipment setCompanyCost(Double value) { this.CompanyCost = value; return this; }
        public Double getMargin() { return Margin; }
        public PricedEquipment setMargin(Double value) { this.Margin = value; return this; }
    }

    public static class PricedMaterial
    {
        public Integer MaterialID = null;
        public String MaterialName = null;
        public Double Quantity = null;
        public Double UnitCost = null;
        public Boolean HasRate = null;
        public Boolean IsInCatalog = null;
        public Double Cost = null;
        
        public Integer getMaterialID() { return MaterialID; }
        public PricedMaterial setMaterialID(Integer value) { this.MaterialID = value; return this; }
        public String getMaterialName() { return MaterialName; }
        public PricedMaterial setMaterialName(String value) { this.MaterialName = value; return this; }
        public Double getQuantity() { return Quantity; }
        public PricedMaterial setQuantity(Double value) { this.Quantity = value; return this; }
        public Double getUnitCost() { return UnitCost; }
        public PricedMaterial setUnitCost(Double value) { this.UnitCost = value; return this; }
        public Boolean isHasRate() { return HasRate; }
        public PricedMaterial setHasRate(Boolean value) { this.HasRate = value; return this; }
        public Boolean getIsInCatalog() { return IsInCatalog; }
        public PricedMaterial setIsInCatalog(Boolean value) { this.IsInCatalog = value; return this; }
        public Double getCost() { return Cost; }
        public PricedMaterial setCost(Double value) { this.Cost = value; return this; }
    }

}

Java 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}}