| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/Rfp/Availability |
|---|
"use strict";
export class AvailabilityRowView {
/** @param {{ResourceAvailabilityID?:number,ResourceType?:string,Label?:string,EquipmentName?:string,RolesCsv?:string,InternalRate?:number,RentalRate?:number,PremiumPerHour?:number,AvailableFrom?:string,FreedFromProjectLabel?:string,Source?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
ResourceAvailabilityID;
/** @type {string} */
ResourceType;
/** @type {string} */
Label;
/** @type {string} */
EquipmentName;
/** @type {string} */
RolesCsv;
/** @type {?number} */
InternalRate;
/** @type {?number} */
RentalRate;
/** @type {?number} */
PremiumPerHour;
/** @type {string} */
AvailableFrom;
/** @type {string} */
FreedFromProjectLabel;
/** @type {string} */
Source;
}
export class AvailabilityRefreshSummary {
/** @param {{Derived?:number,DeactivatedStale?:number,SkippedManualPrecedence?:number,SkippedNoRentalSource?:number,SkippedNoDayRate?:number,Notes?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
Derived;
/** @type {number} */
DeactivatedStale;
/** @type {number} */
SkippedManualPrecedence;
/** @type {number} */
SkippedNoRentalSource;
/** @type {number} */
SkippedNoDayRate;
/** @type {string[]} */
Notes = [];
}
export class AvailabilityListResponse {
/** @param {{ResponseStatus?:ResponseStatus,Rows?:AvailabilityRowView[],EquipmentNames?:string[],CrewRoles?:string[],Summary?:AvailabilityRefreshSummary}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {AvailabilityRowView[]} */
Rows = [];
/** @type {string[]} */
EquipmentNames = [];
/** @type {string[]} */
CrewRoles = [];
/** @type {AvailabilityRefreshSummary} */
Summary;
}
export class AvailabilityUpsertRequest {
/** @param {{ResourceType?:string,Label?:string,EquipmentName?:string,RolesCsv?:string,InternalRate?:number,RentalRate?:number,PremiumPerHour?:number,AvailableFrom?:string,FreedFromProjectLabel?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
ResourceType;
/** @type {string} */
Label;
/** @type {string} */
EquipmentName;
/** @type {string} */
RolesCsv;
/** @type {?number} */
InternalRate;
/** @type {?number} */
RentalRate;
/** @type {?number} */
PremiumPerHour;
/** @type {?string} */
AvailableFrom;
/** @type {string} */
FreedFromProjectLabel;
}
JavaScript AvailabilityUpsertRequest DTOs
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.
POST /v1/Rfp/Availability HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ResourceType: String,
Label: String,
EquipmentName: String,
RolesCsv: String,
InternalRate: 0,
RentalRate: 0,
PremiumPerHour: 0,
AvailableFrom: 0001-01-01,
FreedFromProjectLabel: String
}
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
}
},
Rows:
[
{
ResourceAvailabilityID: 0,
ResourceType: String,
Label: String,
EquipmentName: String,
RolesCsv: String,
InternalRate: 0,
RentalRate: 0,
PremiumPerHour: 0,
AvailableFrom: 0001-01-01,
FreedFromProjectLabel: String,
Source: String
}
],
EquipmentNames:
[
String
],
CrewRoles:
[
String
],
Summary:
{
Derived: 0,
DeactivatedStale: 0,
SkippedManualPrecedence: 0,
SkippedNoRentalSource: 0,
SkippedNoDayRate: 0,
Notes:
[
String
]
}
}