Trendsic Platform Service

<back to all web services

RfpPricingRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/Rfp/{RfpDocumentUID}/Pricing
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;

namespace CRM.AgencyPlatform.API.Internal
{
    public partial class CostRange
    {
        public virtual double Min { get; set; }
        public virtual double Max { get; set; }
        public virtual double Mid { get; set; }
    }

    public partial class PricedEquipment
    {
        public virtual int EquipmentID { get; set; }
        public virtual string EquipmentName { get; set; }
        public virtual double Quantity { get; set; }
        public virtual double? DurationDays { get; set; }
        public virtual string RateType { get; set; }
        public virtual double? BilledRate { get; set; }
        public virtual double? CostRate { get; set; }
        public virtual bool HasRate { get; set; }
        public virtual bool IsInCatalog { get; set; }
        public virtual double Cost { get; set; }
        public virtual double CompanyCost { get; set; }
        public virtual double Margin { get; set; }
    }

    public partial class PricedMaterial
    {
        public virtual int MaterialID { get; set; }
        public virtual string MaterialName { get; set; }
        public virtual double Quantity { get; set; }
        public virtual double? UnitCost { get; set; }
        public virtual bool HasRate { get; set; }
        public virtual bool IsInCatalog { get; set; }
        public virtual double Cost { get; set; }
    }

    public partial class PricedPosition
    {
        public virtual string PositionTag { get; set; }
        public virtual double Hours { get; set; }
        public virtual bool HasInternalRate { get; set; }
        public virtual double? RateMin { get; set; }
        public virtual double? RateMax { get; set; }
        public virtual double? RateAvg { get; set; }
        public virtual int ContactCount { get; set; }
        public virtual CostRange Cost { get; set; }
        public virtual double? MarketRateReference { get; set; }
    }

    public partial class PricedProposal
    {
        public virtual int RfpDocumentID { get; set; }
        public virtual string ProjectName { get; set; }
        public virtual string Currency { get; set; }
        public virtual List<PricedTask> Tasks { get; set; } = [];
        public virtual CostRange Total { get; set; }
        public virtual int PositionsNeedingRate { get; set; }
        public virtual int EquipmentNotInCatalog { get; set; }
        public virtual int MaterialsNotInCatalog { get; set; }
        public virtual int PositionsNotInCatalog { get; set; }
        public virtual double EquipmentMargin { get; set; }
    }

    public partial class PricedTask
    {
        public virtual string Name { get; set; }
        public virtual string Category { get; set; }
        public virtual List<PricedPosition> Positions { get; set; } = [];
        public virtual List<PricedEquipment> Equipment { get; set; } = [];
        public virtual List<PricedMaterial> Materials { get; set; } = [];
        public virtual CostRange Subtotal { get; set; }
    }

    public partial class RfpPricingRequest
    {
        public virtual Guid RfpDocumentUID { get; set; }
    }

    public partial class RfpPricingResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual int RfpDocumentID { get; set; }
        public virtual PricedProposal Pricing { get; set; }
    }

}

C# RfpPricingRequest 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.

GET /v1/Rfp/{RfpDocumentUID}/Pricing HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
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,"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}}