Trendsic Platform Service

<back to all web services

ServiceAgreementRequest

Requires Authentication
The following routes are available for this service:
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 .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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: application/json
Content-Type: application/json
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-01T00:00:00.0000000","EndDate":"0001-01-01T00:00:00.0000000","PreferredCrewID":0,"PreferredCrewName":"String","ExternalRef":"String","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedBy":"String","UpdatedAt":"0001-01-01T00:00:00.0000000","NextVisitDate":"0001-01-01T00:00:00.0000000","VisitsThisPeriod":0}]}
HTTP/1.1 200 OK
Content-Type: application/json
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-01T00:00:00.0000000","EndDate":"0001-01-01T00:00:00.0000000","PreferredCrewID":0,"PreferredCrewName":"String","ExternalRef":"String","CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedBy":"String","UpdatedAt":"0001-01-01T00:00:00.0000000","NextVisitDate":"0001-01-01T00:00:00.0000000","VisitsThisPeriod":0}]}