| Requires any of the roles: | Agent, Administrator |
| 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; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
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/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}
}