| GET,OPTIONS | /v1/project/{ProjectID}/agreements | ||
|---|---|---|---|
| GET,POST,PUT,DELETE,OPTIONS | /v1/serviceagreement | ||
| GET,DELETE,OPTIONS | /v1/serviceagreement/{AgreementID} |
"use strict";
export class ServiceAgreement {
/** @param {{AgreementID?:number,AgreementUID?:string,TenantId?:string,BranchId?:string,BranchName?:string,ProjectID?:number,ProjectName?:string,Name?:string,Status?:string,PricingShape?:string,MonthlyAmount?:number,PerVisitAmount?:number,SkipPolicy?:string,SeasonStartMonth?:number,SeasonStartDay?:number,SeasonEndMonth?:number,SeasonEndDay?:number,RecurrenceFrequency?:string,RecurrenceBy?:string,RecurrenceByValue?:string,EffectiveStartDate?:string,EndDate?:string,PreferredCrewID?:number,PreferredCrewName?:string,ExternalRef?:string,CreatedBy?:string,CreatedAt?:string,UpdatedBy?:string,UpdatedAt?:string,NextVisitDate?:string,VisitsThisPeriod?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
AgreementID;
/** @type {string} */
AgreementUID;
/** @type {string} */
TenantId;
/** @type {string} */
BranchId;
/** @type {string} */
BranchName;
/** @type {number} */
ProjectID;
/** @type {string} */
ProjectName;
/** @type {string} */
Name;
/** @type {string} */
Status;
/** @type {string} */
PricingShape;
/** @type {?number} */
MonthlyAmount;
/** @type {?number} */
PerVisitAmount;
/** @type {string} */
SkipPolicy;
/** @type {?number} */
SeasonStartMonth;
/** @type {?number} */
SeasonStartDay;
/** @type {?number} */
SeasonEndMonth;
/** @type {?number} */
SeasonEndDay;
/** @type {string} */
RecurrenceFrequency;
/** @type {string} */
RecurrenceBy;
/** @type {string} */
RecurrenceByValue;
/** @type {?string} */
EffectiveStartDate;
/** @type {?string} */
EndDate;
/** @type {?number} */
PreferredCrewID;
/** @type {string} */
PreferredCrewName;
/** @type {string} */
ExternalRef;
/** @type {string} */
CreatedBy;
/** @type {?string} */
CreatedAt;
/** @type {string} */
UpdatedBy;
/** @type {?string} */
UpdatedAt;
/** @type {?string} */
NextVisitDate;
/** @type {number} */
VisitsThisPeriod;
}
export class ServiceAgreementResponse {
/** @param {{ResponseStatus?:ResponseStatus,ServiceAgreement?:ServiceAgreement[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {ServiceAgreement[]} */
ServiceAgreement = [];
}
export class ServiceAgreementRequest {
/** @param {{AgreementID?:number,ProjectID?:number,ServiceAgreement?:ServiceAgreement[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
AgreementID;
/** @type {number} */
ProjectID;
/** @type {ServiceAgreement[]} */
ServiceAgreement = [];
}
JavaScript ServiceAgreementRequest 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/serviceagreement HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
AgreementID: 0,
ProjectID: 0,
ServiceAgreement:
[
{
AgreementID: 0,
AgreementUID: 00000000000000000000000000000000,
TenantId: 00000000000000000000000000000000,
BranchId: 00000000000000000000000000000000,
BranchName: String,
ProjectID: 0,
ProjectName: String,
Name: String,
Status: String,
PricingShape: String,
MonthlyAmount: 0,
PerVisitAmount: 0,
SkipPolicy: String,
SeasonStartMonth: 0,
SeasonStartDay: 0,
SeasonEndMonth: 0,
SeasonEndDay: 0,
RecurrenceFrequency: String,
RecurrenceBy: String,
RecurrenceByValue: String,
EffectiveStartDate: 0001-01-01,
EndDate: 0001-01-01,
PreferredCrewID: 0,
PreferredCrewName: String,
ExternalRef: String,
CreatedBy: String,
CreatedAt: 0001-01-01,
UpdatedBy: String,
UpdatedAt: 0001-01-01,
NextVisitDate: 0001-01-01,
VisitsThisPeriod: 0
}
]
}
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
}
},
ServiceAgreement:
[
{
AgreementID: 0,
AgreementUID: 00000000000000000000000000000000,
TenantId: 00000000000000000000000000000000,
BranchId: 00000000000000000000000000000000,
BranchName: String,
ProjectID: 0,
ProjectName: String,
Name: String,
Status: String,
PricingShape: String,
MonthlyAmount: 0,
PerVisitAmount: 0,
SkipPolicy: String,
SeasonStartMonth: 0,
SeasonStartDay: 0,
SeasonEndMonth: 0,
SeasonEndDay: 0,
RecurrenceFrequency: String,
RecurrenceBy: String,
RecurrenceByValue: String,
EffectiveStartDate: 0001-01-01,
EndDate: 0001-01-01,
PreferredCrewID: 0,
PreferredCrewName: String,
ExternalRef: String,
CreatedBy: String,
CreatedAt: 0001-01-01,
UpdatedBy: String,
UpdatedAt: 0001-01-01,
NextVisitDate: 0001-01-01,
VisitsThisPeriod: 0
}
]
}