| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/Rfp/{RfpDocumentUID}/Estimate/Jobs/{TaskSeq}/assembly |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class ResourcedPosition implements IConvertible
{
String? PositionTag;
double? Hours;
double? CrewSize;
double? Utilization;
double? FixedDays;
int? Headcount;
String? SourceReference;
String? Notes;
bool? IsInCatalog;
int? ContactID;
ResourcedPosition({this.PositionTag,this.Hours,this.CrewSize,this.Utilization,this.FixedDays,this.Headcount,this.SourceReference,this.Notes,this.IsInCatalog,this.ContactID});
ResourcedPosition.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PositionTag = json['PositionTag'];
Hours = JsonConverters.toDouble(json['Hours']);
CrewSize = JsonConverters.toDouble(json['CrewSize']);
Utilization = JsonConverters.toDouble(json['Utilization']);
FixedDays = JsonConverters.toDouble(json['FixedDays']);
Headcount = json['Headcount'];
SourceReference = json['SourceReference'];
Notes = json['Notes'];
IsInCatalog = json['IsInCatalog'];
ContactID = json['ContactID'];
return this;
}
Map<String, dynamic> toJson() => {
'PositionTag': PositionTag,
'Hours': Hours,
'CrewSize': CrewSize,
'Utilization': Utilization,
'FixedDays': FixedDays,
'Headcount': Headcount,
'SourceReference': SourceReference,
'Notes': Notes,
'IsInCatalog': IsInCatalog,
'ContactID': ContactID
};
getTypeName() => "ResourcedPosition";
TypeContext? context = _ctx;
}
class ResourcedEquipment implements IConvertible
{
int? EquipmentID;
String? EquipmentName;
String? MakeModel;
double? Quantity;
double? DurationDays;
double? Utilization;
double? FixedDays;
String? SourceReference;
String? Notes;
bool? IsInCatalog;
int? SuggestedEquipmentID;
String? SuggestedEquipmentName;
ResourcedEquipment({this.EquipmentID,this.EquipmentName,this.MakeModel,this.Quantity,this.DurationDays,this.Utilization,this.FixedDays,this.SourceReference,this.Notes,this.IsInCatalog,this.SuggestedEquipmentID,this.SuggestedEquipmentName});
ResourcedEquipment.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
EquipmentID = json['EquipmentID'];
EquipmentName = json['EquipmentName'];
MakeModel = json['MakeModel'];
Quantity = JsonConverters.toDouble(json['Quantity']);
DurationDays = JsonConverters.toDouble(json['DurationDays']);
Utilization = JsonConverters.toDouble(json['Utilization']);
FixedDays = JsonConverters.toDouble(json['FixedDays']);
SourceReference = json['SourceReference'];
Notes = json['Notes'];
IsInCatalog = json['IsInCatalog'];
SuggestedEquipmentID = json['SuggestedEquipmentID'];
SuggestedEquipmentName = json['SuggestedEquipmentName'];
return this;
}
Map<String, dynamic> toJson() => {
'EquipmentID': EquipmentID,
'EquipmentName': EquipmentName,
'MakeModel': MakeModel,
'Quantity': Quantity,
'DurationDays': DurationDays,
'Utilization': Utilization,
'FixedDays': FixedDays,
'SourceReference': SourceReference,
'Notes': Notes,
'IsInCatalog': IsInCatalog,
'SuggestedEquipmentID': SuggestedEquipmentID,
'SuggestedEquipmentName': SuggestedEquipmentName
};
getTypeName() => "ResourcedEquipment";
TypeContext? context = _ctx;
}
class ResourcedMaterial implements IConvertible
{
int? MaterialID;
String? MaterialName;
String? MakeModel;
double? Quantity;
double? QuantityPerUnit;
String? Unit;
String? SourceReference;
String? Notes;
bool? IsInCatalog;
int? SuggestedMaterialID;
String? SuggestedMaterialName;
ResourcedMaterial({this.MaterialID,this.MaterialName,this.MakeModel,this.Quantity,this.QuantityPerUnit,this.Unit,this.SourceReference,this.Notes,this.IsInCatalog,this.SuggestedMaterialID,this.SuggestedMaterialName});
ResourcedMaterial.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MaterialID = json['MaterialID'];
MaterialName = json['MaterialName'];
MakeModel = json['MakeModel'];
Quantity = JsonConverters.toDouble(json['Quantity']);
QuantityPerUnit = JsonConverters.toDouble(json['QuantityPerUnit']);
Unit = json['Unit'];
SourceReference = json['SourceReference'];
Notes = json['Notes'];
IsInCatalog = json['IsInCatalog'];
SuggestedMaterialID = json['SuggestedMaterialID'];
SuggestedMaterialName = json['SuggestedMaterialName'];
return this;
}
Map<String, dynamic> toJson() => {
'MaterialID': MaterialID,
'MaterialName': MaterialName,
'MakeModel': MakeModel,
'Quantity': Quantity,
'QuantityPerUnit': QuantityPerUnit,
'Unit': Unit,
'SourceReference': SourceReference,
'Notes': Notes,
'IsInCatalog': IsInCatalog,
'SuggestedMaterialID': SuggestedMaterialID,
'SuggestedMaterialName': SuggestedMaterialName
};
getTypeName() => "ResourcedMaterial";
TypeContext? context = _ctx;
}
class TaskResourcing implements IConvertible
{
List<ResourcedPosition>? Positions = [];
List<ResourcedEquipment>? Equipment = [];
List<ResourcedMaterial>? Materials = [];
double? ResourcedForQuantity;
double? ProductionRatePerDay;
double? FixedDays;
TaskResourcing({this.Positions,this.Equipment,this.Materials,this.ResourcedForQuantity,this.ProductionRatePerDay,this.FixedDays});
TaskResourcing.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Positions = JsonConverters.fromJson(json['Positions'],'List<ResourcedPosition>',context!);
Equipment = JsonConverters.fromJson(json['Equipment'],'List<ResourcedEquipment>',context!);
Materials = JsonConverters.fromJson(json['Materials'],'List<ResourcedMaterial>',context!);
ResourcedForQuantity = JsonConverters.toDouble(json['ResourcedForQuantity']);
ProductionRatePerDay = JsonConverters.toDouble(json['ProductionRatePerDay']);
FixedDays = JsonConverters.toDouble(json['FixedDays']);
return this;
}
Map<String, dynamic> toJson() => {
'Positions': JsonConverters.toJson(Positions,'List<ResourcedPosition>',context!),
'Equipment': JsonConverters.toJson(Equipment,'List<ResourcedEquipment>',context!),
'Materials': JsonConverters.toJson(Materials,'List<ResourcedMaterial>',context!),
'ResourcedForQuantity': ResourcedForQuantity,
'ProductionRatePerDay': ProductionRatePerDay,
'FixedDays': FixedDays
};
getTypeName() => "TaskResourcing";
TypeContext? context = _ctx;
}
class SpecRefView implements IConvertible
{
String? Section;
String? Title;
String? Url;
SpecRefView({this.Section,this.Title,this.Url});
SpecRefView.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Section = json['Section'];
Title = json['Title'];
Url = json['Url'];
return this;
}
Map<String, dynamic> toJson() => {
'Section': Section,
'Title': Title,
'Url': Url
};
getTypeName() => "SpecRefView";
TypeContext? context = _ctx;
}
class DodItemView implements IConvertible
{
String? Key;
String? Text;
bool? Checked;
String? Source;
DodItemView({this.Key,this.Text,this.Checked,this.Source});
DodItemView.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Key = json['Key'];
Text = json['Text'];
Checked = json['Checked'];
Source = json['Source'];
return this;
}
Map<String, dynamic> toJson() => {
'Key': Key,
'Text': Text,
'Checked': Checked,
'Source': Source
};
getTypeName() => "DodItemView";
TypeContext? context = _ctx;
}
class WorkPackageView implements IConvertible
{
bool? HasPackage;
String? Scope;
String? LimitsOfWork;
List<SpecRefView>? SpecRefs = [];
List<String>? Constraints = [];
List<String>? HoldPoints = [];
List<DodItemView>? Dod = [];
String? SafetyNote;
String? Provenance;
String? SpecBook;
bool? UserEdited;
String? RedraftNote;
WorkPackageView({this.HasPackage,this.Scope,this.LimitsOfWork,this.SpecRefs,this.Constraints,this.HoldPoints,this.Dod,this.SafetyNote,this.Provenance,this.SpecBook,this.UserEdited,this.RedraftNote});
WorkPackageView.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
HasPackage = json['HasPackage'];
Scope = json['Scope'];
LimitsOfWork = json['LimitsOfWork'];
SpecRefs = JsonConverters.fromJson(json['SpecRefs'],'List<SpecRefView>',context!);
Constraints = JsonConverters.fromJson(json['Constraints'],'List<String>',context!);
HoldPoints = JsonConverters.fromJson(json['HoldPoints'],'List<String>',context!);
Dod = JsonConverters.fromJson(json['Dod'],'List<DodItemView>',context!);
SafetyNote = json['SafetyNote'];
Provenance = json['Provenance'];
SpecBook = json['SpecBook'];
UserEdited = json['UserEdited'];
RedraftNote = json['RedraftNote'];
return this;
}
Map<String, dynamic> toJson() => {
'HasPackage': HasPackage,
'Scope': Scope,
'LimitsOfWork': LimitsOfWork,
'SpecRefs': JsonConverters.toJson(SpecRefs,'List<SpecRefView>',context!),
'Constraints': JsonConverters.toJson(Constraints,'List<String>',context!),
'HoldPoints': JsonConverters.toJson(HoldPoints,'List<String>',context!),
'Dod': JsonConverters.toJson(Dod,'List<DodItemView>',context!),
'SafetyNote': SafetyNote,
'Provenance': Provenance,
'SpecBook': SpecBook,
'UserEdited': UserEdited,
'RedraftNote': RedraftNote
};
getTypeName() => "WorkPackageView";
TypeContext? context = _ctx;
}
class EstimateCrewLineResult implements IConvertible
{
String? Role;
double? Hours;
double? StHours;
double? OtHours;
double? Rrop;
double? StCost;
double? OtCost;
double? Cost;
double? FringeCost;
bool? PremiumApplied;
bool? HasOt;
bool? NeedsRate;
EstimateCrewLineResult({this.Role,this.Hours,this.StHours,this.OtHours,this.Rrop,this.StCost,this.OtCost,this.Cost,this.FringeCost,this.PremiumApplied,this.HasOt,this.NeedsRate});
EstimateCrewLineResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Role = json['Role'];
Hours = JsonConverters.toDouble(json['Hours']);
StHours = JsonConverters.toDouble(json['StHours']);
OtHours = JsonConverters.toDouble(json['OtHours']);
Rrop = JsonConverters.toDouble(json['Rrop']);
StCost = JsonConverters.toDouble(json['StCost']);
OtCost = JsonConverters.toDouble(json['OtCost']);
Cost = JsonConverters.toDouble(json['Cost']);
FringeCost = JsonConverters.toDouble(json['FringeCost']);
PremiumApplied = json['PremiumApplied'];
HasOt = json['HasOt'];
NeedsRate = json['NeedsRate'];
return this;
}
Map<String, dynamic> toJson() => {
'Role': Role,
'Hours': Hours,
'StHours': StHours,
'OtHours': OtHours,
'Rrop': Rrop,
'StCost': StCost,
'OtCost': OtCost,
'Cost': Cost,
'FringeCost': FringeCost,
'PremiumApplied': PremiumApplied,
'HasOt': HasOt,
'NeedsRate': NeedsRate
};
getTypeName() => "EstimateCrewLineResult";
TypeContext? context = _ctx;
}
class EstimateEquipmentLineResult implements IConvertible
{
String? Name;
double? Quantity;
double? Rate;
bool? NeedsRate;
double? MobCost;
double? Cost;
bool? IsAvailabilityTracked;
bool? IsOwned;
String? AvailabilityLabel;
String? FreedFromProject;
DateTime? AvailableFrom;
String? RateKey;
String? RentalExplain;
double? UsageDays;
double? BilledDays;
EstimateEquipmentLineResult({this.Name,this.Quantity,this.Rate,this.NeedsRate,this.MobCost,this.Cost,this.IsAvailabilityTracked,this.IsOwned,this.AvailabilityLabel,this.FreedFromProject,this.AvailableFrom,this.RateKey,this.RentalExplain,this.UsageDays,this.BilledDays});
EstimateEquipmentLineResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Quantity = JsonConverters.toDouble(json['Quantity']);
Rate = JsonConverters.toDouble(json['Rate']);
NeedsRate = json['NeedsRate'];
MobCost = JsonConverters.toDouble(json['MobCost']);
Cost = JsonConverters.toDouble(json['Cost']);
IsAvailabilityTracked = json['IsAvailabilityTracked'];
IsOwned = json['IsOwned'];
AvailabilityLabel = json['AvailabilityLabel'];
FreedFromProject = json['FreedFromProject'];
AvailableFrom = JsonConverters.fromJson(json['AvailableFrom'],'DateTime',context!);
RateKey = json['RateKey'];
RentalExplain = json['RentalExplain'];
UsageDays = JsonConverters.toDouble(json['UsageDays']);
BilledDays = JsonConverters.toDouble(json['BilledDays']);
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Quantity': Quantity,
'Rate': Rate,
'NeedsRate': NeedsRate,
'MobCost': MobCost,
'Cost': Cost,
'IsAvailabilityTracked': IsAvailabilityTracked,
'IsOwned': IsOwned,
'AvailabilityLabel': AvailabilityLabel,
'FreedFromProject': FreedFromProject,
'AvailableFrom': JsonConverters.toJson(AvailableFrom,'DateTime',context!),
'RateKey': RateKey,
'RentalExplain': RentalExplain,
'UsageDays': UsageDays,
'BilledDays': BilledDays
};
getTypeName() => "EstimateEquipmentLineResult";
TypeContext? context = _ctx;
}
class EstimateMaterialLineResult implements IConvertible
{
String? Name;
double? Quantity;
String? Unit;
double? Rate;
bool? NeedsRate;
double? Cost;
String? RateKey;
EstimateMaterialLineResult({this.Name,this.Quantity,this.Unit,this.Rate,this.NeedsRate,this.Cost,this.RateKey});
EstimateMaterialLineResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Quantity = JsonConverters.toDouble(json['Quantity']);
Unit = json['Unit'];
Rate = JsonConverters.toDouble(json['Rate']);
NeedsRate = json['NeedsRate'];
Cost = JsonConverters.toDouble(json['Cost']);
RateKey = json['RateKey'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Quantity': Quantity,
'Unit': Unit,
'Rate': Rate,
'NeedsRate': NeedsRate,
'Cost': Cost,
'RateKey': RateKey
};
getTypeName() => "EstimateMaterialLineResult";
TypeContext? context = _ctx;
}
class EstimateSubcontractLine implements IConvertible
{
String? Vendor;
double? Amount;
String? Scope;
EstimateSubcontractLine({this.Vendor,this.Amount,this.Scope});
EstimateSubcontractLine.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Vendor = json['Vendor'];
Amount = JsonConverters.toDouble(json['Amount']);
Scope = json['Scope'];
return this;
}
Map<String, dynamic> toJson() => {
'Vendor': Vendor,
'Amount': Amount,
'Scope': Scope
};
getTypeName() => "EstimateSubcontractLine";
TypeContext? context = _ctx;
}
class EstimateJobResult implements IConvertible
{
int? Seq;
List<int>? DependsOn = [];
String? ItemNo;
String? Name;
String? Category;
String? SourceRef;
String? Unit;
double? Quantity;
String? PatternCode;
int? Workdays;
double? HoursPerDay;
bool? IsNight;
double? WeeklyHours;
double? OtFraction;
double? Days;
double? EffectiveProdPerDay;
bool? CrewPremiumApplied;
WorkPackageView? WorkPackage;
List<EstimateCrewLineResult>? Crew = [];
List<EstimateEquipmentLineResult>? Equipment = [];
List<EstimateMaterialLineResult>? Materials = [];
List<EstimateSubcontractLine>? Subcontracts = [];
double? CrewCost;
double? FringeCost;
double? EquipmentCost;
double? MaterialCost;
double? SubcontractCost;
double? Direct;
String? PricingBasis;
String? PricingRuleId;
double? PricingBandP25;
double? PricingBandP75;
int? PricingBandN;
String? PricingBandLabel;
double? BenchmarkUnitPrice;
double? BenchmarkRateMin;
double? BenchmarkRateMax;
int? BenchmarkSampleSize;
double? BenchmarkP25;
double? BenchmarkP75;
String? BenchmarkBasis;
double? UnitPriceOverride;
String? OverrideBasis;
double? ReferencePrice;
double? ReferenceRangeMin;
double? ReferenceRangeMax;
int? ReferenceN;
DateTime? ReferenceDate;
String? ReferenceBasis;
String? ReferenceUrl;
EstimateJobResult({this.Seq,this.DependsOn,this.ItemNo,this.Name,this.Category,this.SourceRef,this.Unit,this.Quantity,this.PatternCode,this.Workdays,this.HoursPerDay,this.IsNight,this.WeeklyHours,this.OtFraction,this.Days,this.EffectiveProdPerDay,this.CrewPremiumApplied,this.WorkPackage,this.Crew,this.Equipment,this.Materials,this.Subcontracts,this.CrewCost,this.FringeCost,this.EquipmentCost,this.MaterialCost,this.SubcontractCost,this.Direct,this.PricingBasis,this.PricingRuleId,this.PricingBandP25,this.PricingBandP75,this.PricingBandN,this.PricingBandLabel,this.BenchmarkUnitPrice,this.BenchmarkRateMin,this.BenchmarkRateMax,this.BenchmarkSampleSize,this.BenchmarkP25,this.BenchmarkP75,this.BenchmarkBasis,this.UnitPriceOverride,this.OverrideBasis,this.ReferencePrice,this.ReferenceRangeMin,this.ReferenceRangeMax,this.ReferenceN,this.ReferenceDate,this.ReferenceBasis,this.ReferenceUrl});
EstimateJobResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Seq = json['Seq'];
DependsOn = JsonConverters.fromJson(json['DependsOn'],'List<int>',context!);
ItemNo = json['ItemNo'];
Name = json['Name'];
Category = json['Category'];
SourceRef = json['SourceRef'];
Unit = json['Unit'];
Quantity = JsonConverters.toDouble(json['Quantity']);
PatternCode = json['PatternCode'];
Workdays = json['Workdays'];
HoursPerDay = JsonConverters.toDouble(json['HoursPerDay']);
IsNight = json['IsNight'];
WeeklyHours = JsonConverters.toDouble(json['WeeklyHours']);
OtFraction = JsonConverters.toDouble(json['OtFraction']);
Days = JsonConverters.toDouble(json['Days']);
EffectiveProdPerDay = JsonConverters.toDouble(json['EffectiveProdPerDay']);
CrewPremiumApplied = json['CrewPremiumApplied'];
WorkPackage = JsonConverters.fromJson(json['WorkPackage'],'WorkPackageView',context!);
Crew = JsonConverters.fromJson(json['Crew'],'List<EstimateCrewLineResult>',context!);
Equipment = JsonConverters.fromJson(json['Equipment'],'List<EstimateEquipmentLineResult>',context!);
Materials = JsonConverters.fromJson(json['Materials'],'List<EstimateMaterialLineResult>',context!);
Subcontracts = JsonConverters.fromJson(json['Subcontracts'],'List<EstimateSubcontractLine>',context!);
CrewCost = JsonConverters.toDouble(json['CrewCost']);
FringeCost = JsonConverters.toDouble(json['FringeCost']);
EquipmentCost = JsonConverters.toDouble(json['EquipmentCost']);
MaterialCost = JsonConverters.toDouble(json['MaterialCost']);
SubcontractCost = JsonConverters.toDouble(json['SubcontractCost']);
Direct = JsonConverters.toDouble(json['Direct']);
PricingBasis = json['PricingBasis'];
PricingRuleId = json['PricingRuleId'];
PricingBandP25 = JsonConverters.toDouble(json['PricingBandP25']);
PricingBandP75 = JsonConverters.toDouble(json['PricingBandP75']);
PricingBandN = json['PricingBandN'];
PricingBandLabel = json['PricingBandLabel'];
BenchmarkUnitPrice = JsonConverters.toDouble(json['BenchmarkUnitPrice']);
BenchmarkRateMin = JsonConverters.toDouble(json['BenchmarkRateMin']);
BenchmarkRateMax = JsonConverters.toDouble(json['BenchmarkRateMax']);
BenchmarkSampleSize = json['BenchmarkSampleSize'];
BenchmarkP25 = JsonConverters.toDouble(json['BenchmarkP25']);
BenchmarkP75 = JsonConverters.toDouble(json['BenchmarkP75']);
BenchmarkBasis = json['BenchmarkBasis'];
UnitPriceOverride = JsonConverters.toDouble(json['UnitPriceOverride']);
OverrideBasis = json['OverrideBasis'];
ReferencePrice = JsonConverters.toDouble(json['ReferencePrice']);
ReferenceRangeMin = JsonConverters.toDouble(json['ReferenceRangeMin']);
ReferenceRangeMax = JsonConverters.toDouble(json['ReferenceRangeMax']);
ReferenceN = json['ReferenceN'];
ReferenceDate = JsonConverters.fromJson(json['ReferenceDate'],'DateTime',context!);
ReferenceBasis = json['ReferenceBasis'];
ReferenceUrl = json['ReferenceUrl'];
return this;
}
Map<String, dynamic> toJson() => {
'Seq': Seq,
'DependsOn': JsonConverters.toJson(DependsOn,'List<int>',context!),
'ItemNo': ItemNo,
'Name': Name,
'Category': Category,
'SourceRef': SourceRef,
'Unit': Unit,
'Quantity': Quantity,
'PatternCode': PatternCode,
'Workdays': Workdays,
'HoursPerDay': HoursPerDay,
'IsNight': IsNight,
'WeeklyHours': WeeklyHours,
'OtFraction': OtFraction,
'Days': Days,
'EffectiveProdPerDay': EffectiveProdPerDay,
'CrewPremiumApplied': CrewPremiumApplied,
'WorkPackage': JsonConverters.toJson(WorkPackage,'WorkPackageView',context!),
'Crew': JsonConverters.toJson(Crew,'List<EstimateCrewLineResult>',context!),
'Equipment': JsonConverters.toJson(Equipment,'List<EstimateEquipmentLineResult>',context!),
'Materials': JsonConverters.toJson(Materials,'List<EstimateMaterialLineResult>',context!),
'Subcontracts': JsonConverters.toJson(Subcontracts,'List<EstimateSubcontractLine>',context!),
'CrewCost': CrewCost,
'FringeCost': FringeCost,
'EquipmentCost': EquipmentCost,
'MaterialCost': MaterialCost,
'SubcontractCost': SubcontractCost,
'Direct': Direct,
'PricingBasis': PricingBasis,
'PricingRuleId': PricingRuleId,
'PricingBandP25': PricingBandP25,
'PricingBandP75': PricingBandP75,
'PricingBandN': PricingBandN,
'PricingBandLabel': PricingBandLabel,
'BenchmarkUnitPrice': BenchmarkUnitPrice,
'BenchmarkRateMin': BenchmarkRateMin,
'BenchmarkRateMax': BenchmarkRateMax,
'BenchmarkSampleSize': BenchmarkSampleSize,
'BenchmarkP25': BenchmarkP25,
'BenchmarkP75': BenchmarkP75,
'BenchmarkBasis': BenchmarkBasis,
'UnitPriceOverride': UnitPriceOverride,
'OverrideBasis': OverrideBasis,
'ReferencePrice': ReferencePrice,
'ReferenceRangeMin': ReferenceRangeMin,
'ReferenceRangeMax': ReferenceRangeMax,
'ReferenceN': ReferenceN,
'ReferenceDate': JsonConverters.toJson(ReferenceDate,'DateTime',context!),
'ReferenceBasis': ReferenceBasis,
'ReferenceUrl': ReferenceUrl
};
getTypeName() => "EstimateJobResult";
TypeContext? context = _ctx;
}
class ApplyAssemblyResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
int? TaskSeq;
String? TemplateUID;
String? TemplateName;
double? Quantity;
String? Unit;
TaskResourcing? Resourcing;
EstimateJobResult? Job;
String? Headline;
ApplyAssemblyResponse({this.ResponseStatus,this.TaskSeq,this.TemplateUID,this.TemplateName,this.Quantity,this.Unit,this.Resourcing,this.Job,this.Headline});
ApplyAssemblyResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
TaskSeq = json['TaskSeq'];
TemplateUID = json['TemplateUID'];
TemplateName = json['TemplateName'];
Quantity = JsonConverters.toDouble(json['Quantity']);
Unit = json['Unit'];
Resourcing = JsonConverters.fromJson(json['Resourcing'],'TaskResourcing',context!);
Job = JsonConverters.fromJson(json['Job'],'EstimateJobResult',context!);
Headline = json['Headline'];
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'TaskSeq': TaskSeq,
'TemplateUID': TemplateUID,
'TemplateName': TemplateName,
'Quantity': Quantity,
'Unit': Unit,
'Resourcing': JsonConverters.toJson(Resourcing,'TaskResourcing',context!),
'Job': JsonConverters.toJson(Job,'EstimateJobResult',context!),
'Headline': Headline
};
getTypeName() => "ApplyAssemblyResponse";
TypeContext? context = _ctx;
}
class ApplyAssemblyRequest implements IConvertible
{
String? RfpDocumentUID;
int? TaskSeq;
String? TemplateUID;
ApplyAssemblyRequest({this.RfpDocumentUID,this.TaskSeq,this.TemplateUID});
ApplyAssemblyRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
RfpDocumentUID = json['RfpDocumentUID'];
TaskSeq = json['TaskSeq'];
TemplateUID = json['TemplateUID'];
return this;
}
Map<String, dynamic> toJson() => {
'RfpDocumentUID': RfpDocumentUID,
'TaskSeq': TaskSeq,
'TemplateUID': TemplateUID
};
getTypeName() => "ApplyAssemblyRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'ResourcedPosition': TypeInfo(TypeOf.Class, create:() => ResourcedPosition()),
'ResourcedEquipment': TypeInfo(TypeOf.Class, create:() => ResourcedEquipment()),
'ResourcedMaterial': TypeInfo(TypeOf.Class, create:() => ResourcedMaterial()),
'TaskResourcing': TypeInfo(TypeOf.Class, create:() => TaskResourcing()),
'List<ResourcedPosition>': TypeInfo(TypeOf.Class, create:() => <ResourcedPosition>[]),
'List<ResourcedEquipment>': TypeInfo(TypeOf.Class, create:() => <ResourcedEquipment>[]),
'List<ResourcedMaterial>': TypeInfo(TypeOf.Class, create:() => <ResourcedMaterial>[]),
'SpecRefView': TypeInfo(TypeOf.Class, create:() => SpecRefView()),
'DodItemView': TypeInfo(TypeOf.Class, create:() => DodItemView()),
'WorkPackageView': TypeInfo(TypeOf.Class, create:() => WorkPackageView()),
'List<SpecRefView>': TypeInfo(TypeOf.Class, create:() => <SpecRefView>[]),
'List<DodItemView>': TypeInfo(TypeOf.Class, create:() => <DodItemView>[]),
'EstimateCrewLineResult': TypeInfo(TypeOf.Class, create:() => EstimateCrewLineResult()),
'EstimateEquipmentLineResult': TypeInfo(TypeOf.Class, create:() => EstimateEquipmentLineResult()),
'EstimateMaterialLineResult': TypeInfo(TypeOf.Class, create:() => EstimateMaterialLineResult()),
'EstimateSubcontractLine': TypeInfo(TypeOf.Class, create:() => EstimateSubcontractLine()),
'EstimateJobResult': TypeInfo(TypeOf.Class, create:() => EstimateJobResult()),
'List<EstimateCrewLineResult>': TypeInfo(TypeOf.Class, create:() => <EstimateCrewLineResult>[]),
'List<EstimateEquipmentLineResult>': TypeInfo(TypeOf.Class, create:() => <EstimateEquipmentLineResult>[]),
'List<EstimateMaterialLineResult>': TypeInfo(TypeOf.Class, create:() => <EstimateMaterialLineResult>[]),
'List<EstimateSubcontractLine>': TypeInfo(TypeOf.Class, create:() => <EstimateSubcontractLine>[]),
'ApplyAssemblyResponse': TypeInfo(TypeOf.Class, create:() => ApplyAssemblyResponse()),
'ApplyAssemblyRequest': TypeInfo(TypeOf.Class, create:() => ApplyAssemblyRequest()),
});
Dart ApplyAssemblyRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Rfp/{RfpDocumentUID}/Estimate/Jobs/{TaskSeq}/assembly HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ApplyAssemblyRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<RfpDocumentUID>00000000-0000-0000-0000-000000000000</RfpDocumentUID>
<TaskSeq>0</TaskSeq>
<TemplateUID>00000000-0000-0000-0000-000000000000</TemplateUID>
</ApplyAssemblyRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ApplyAssemblyResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Headline>String</Headline>
<Job>
<BenchmarkBasis>String</BenchmarkBasis>
<BenchmarkP25>0</BenchmarkP25>
<BenchmarkP75>0</BenchmarkP75>
<BenchmarkRateMax>0</BenchmarkRateMax>
<BenchmarkRateMin>0</BenchmarkRateMin>
<BenchmarkSampleSize>0</BenchmarkSampleSize>
<BenchmarkUnitPrice>0</BenchmarkUnitPrice>
<Category>String</Category>
<Crew>
<EstimateCrewLineResult>
<Cost>0</Cost>
<FringeCost>0</FringeCost>
<HasOt>false</HasOt>
<Hours>0</Hours>
<NeedsRate>false</NeedsRate>
<OtCost>0</OtCost>
<OtHours>0</OtHours>
<PremiumApplied>false</PremiumApplied>
<Role>String</Role>
<Rrop>0</Rrop>
<StCost>0</StCost>
<StHours>0</StHours>
</EstimateCrewLineResult>
</Crew>
<CrewCost>0</CrewCost>
<CrewPremiumApplied>false</CrewPremiumApplied>
<Days>0</Days>
<DependsOn xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:int>0</d3p1:int>
</DependsOn>
<Direct>0</Direct>
<EffectiveProdPerDay>0</EffectiveProdPerDay>
<Equipment>
<EstimateEquipmentLineResult>
<AvailabilityLabel>String</AvailabilityLabel>
<AvailableFrom>0001-01-01T00:00:00</AvailableFrom>
<BilledDays>0</BilledDays>
<Cost>0</Cost>
<FreedFromProject>String</FreedFromProject>
<IsAvailabilityTracked>false</IsAvailabilityTracked>
<IsOwned>false</IsOwned>
<MobCost>0</MobCost>
<Name>String</Name>
<NeedsRate>false</NeedsRate>
<Quantity>0</Quantity>
<Rate>0</Rate>
<RateKey>String</RateKey>
<RentalExplain>String</RentalExplain>
<UsageDays>0</UsageDays>
</EstimateEquipmentLineResult>
</Equipment>
<EquipmentCost>0</EquipmentCost>
<FringeCost>0</FringeCost>
<HoursPerDay>0</HoursPerDay>
<IsNight>false</IsNight>
<ItemNo>String</ItemNo>
<MaterialCost>0</MaterialCost>
<Materials>
<EstimateMaterialLineResult>
<Cost>0</Cost>
<Name>String</Name>
<NeedsRate>false</NeedsRate>
<Quantity>0</Quantity>
<Rate>0</Rate>
<RateKey>String</RateKey>
<Unit>String</Unit>
</EstimateMaterialLineResult>
</Materials>
<Name>String</Name>
<OtFraction>0</OtFraction>
<OverrideBasis>String</OverrideBasis>
<PatternCode>String</PatternCode>
<PricingBandLabel>String</PricingBandLabel>
<PricingBandN>0</PricingBandN>
<PricingBandP25>0</PricingBandP25>
<PricingBandP75>0</PricingBandP75>
<PricingBasis>String</PricingBasis>
<PricingRuleId>String</PricingRuleId>
<Quantity>0</Quantity>
<ReferenceBasis>String</ReferenceBasis>
<ReferenceDate>0001-01-01T00:00:00</ReferenceDate>
<ReferenceN>0</ReferenceN>
<ReferencePrice>0</ReferencePrice>
<ReferenceRangeMax>0</ReferenceRangeMax>
<ReferenceRangeMin>0</ReferenceRangeMin>
<ReferenceUrl>String</ReferenceUrl>
<Seq>0</Seq>
<SourceRef>String</SourceRef>
<SubcontractCost>0</SubcontractCost>
<Subcontracts>
<EstimateSubcontractLine>
<Amount>0</Amount>
<Scope>String</Scope>
<Vendor>String</Vendor>
</EstimateSubcontractLine>
</Subcontracts>
<Unit>String</Unit>
<UnitPriceOverride>0</UnitPriceOverride>
<WeeklyHours>0</WeeklyHours>
<WorkPackage>
<Constraints xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</Constraints>
<Dod>
<RfpWorkPackageService.DodItemView>
<Checked>false</Checked>
<Key>String</Key>
<Source>String</Source>
<Text>String</Text>
</RfpWorkPackageService.DodItemView>
</Dod>
<HasPackage>false</HasPackage>
<HoldPoints xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</HoldPoints>
<LimitsOfWork>String</LimitsOfWork>
<Provenance>String</Provenance>
<RedraftNote>String</RedraftNote>
<SafetyNote>String</SafetyNote>
<Scope>String</Scope>
<SpecBook>String</SpecBook>
<SpecRefs>
<RfpWorkPackageService.SpecRefView>
<Section>String</Section>
<Title>String</Title>
<Url>String</Url>
</RfpWorkPackageService.SpecRefView>
</SpecRefs>
<UserEdited>false</UserEdited>
</WorkPackage>
<Workdays>0</Workdays>
</Job>
<Quantity>0</Quantity>
<Resourcing>
<Equipment>
<ResourcedEquipment>
<DurationDays>0</DurationDays>
<EquipmentID>0</EquipmentID>
<EquipmentName>String</EquipmentName>
<FixedDays>0</FixedDays>
<IsInCatalog>false</IsInCatalog>
<MakeModel>String</MakeModel>
<Notes>String</Notes>
<Quantity>0</Quantity>
<SourceReference>String</SourceReference>
<SuggestedEquipmentID>0</SuggestedEquipmentID>
<SuggestedEquipmentName>String</SuggestedEquipmentName>
<Utilization>0</Utilization>
</ResourcedEquipment>
</Equipment>
<FixedDays>0</FixedDays>
<Materials>
<ResourcedMaterial>
<IsInCatalog>false</IsInCatalog>
<MakeModel>String</MakeModel>
<MaterialID>0</MaterialID>
<MaterialName>String</MaterialName>
<Notes>String</Notes>
<Quantity>0</Quantity>
<QuantityPerUnit>0</QuantityPerUnit>
<SourceReference>String</SourceReference>
<SuggestedMaterialID>0</SuggestedMaterialID>
<SuggestedMaterialName>String</SuggestedMaterialName>
<Unit>String</Unit>
</ResourcedMaterial>
</Materials>
<Positions>
<ResourcedPosition>
<ContactID>0</ContactID>
<CrewSize>0</CrewSize>
<FixedDays>0</FixedDays>
<Headcount>0</Headcount>
<Hours>0</Hours>
<IsInCatalog>false</IsInCatalog>
<Notes>String</Notes>
<PositionTag>String</PositionTag>
<SourceReference>String</SourceReference>
<Utilization>0</Utilization>
</ResourcedPosition>
</Positions>
<ProductionRatePerDay>0</ProductionRatePerDay>
<ResourcedForQuantity>0</ResourcedForQuantity>
</Resourcing>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<TaskSeq>0</TaskSeq>
<TemplateName>String</TemplateName>
<TemplateUID>00000000-0000-0000-0000-000000000000</TemplateUID>
<Unit>String</Unit>
</ApplyAssemblyResponse>