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}

export class ServiceAgreement
{
    public AgreementID: number;
    public AgreementUID: string;
    public TenantId: string;
    public BranchId: string;
    public BranchName: string;
    public ProjectID: number;
    public ProjectName: string;
    public Name: string;
    public Status: string;
    public PricingShape: string;
    public MonthlyAmount?: number;
    public PerVisitAmount?: number;
    public SkipPolicy: string;
    public SeasonStartMonth?: number;
    public SeasonStartDay?: number;
    public SeasonEndMonth?: number;
    public SeasonEndDay?: number;
    public RecurrenceFrequency: string;
    public RecurrenceBy: string;
    public RecurrenceByValue: string;
    public EffectiveStartDate?: string;
    public EndDate?: string;
    public PreferredCrewID?: number;
    public PreferredCrewName: string;
    public ExternalRef: string;
    public CreatedBy: string;
    public CreatedAt?: string;
    public UpdatedBy: string;
    public UpdatedAt?: string;
    public NextVisitDate?: string;
    public VisitsThisPeriod: number;

    public constructor(init?: Partial<ServiceAgreement>) { (Object as any).assign(this, init); }
}

export class ServiceAgreementResponse
{
    public ResponseStatus: ResponseStatus;
    public ServiceAgreement: ServiceAgreement[] = [];

    public constructor(init?: Partial<ServiceAgreementResponse>) { (Object as any).assign(this, init); }
}

export class ServiceAgreementRequest
{
    public AgreementID: number;
    public ProjectID: number;
    public ServiceAgreement: ServiceAgreement[] = [];

    public constructor(init?: Partial<ServiceAgreementRequest>) { (Object as any).assign(this, init); }
}

TypeScript ServiceAgreementRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

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/jsonl
Content-Type: text/jsonl
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: text/jsonl
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}]}