| GET,OPTIONS | /v1/serviceagreement/planner |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AgreementPlannerRow:
agreement_i_d: int = 0
name: Optional[str] = None
project_name: Optional[str] = None
service_type: Optional[str] = None
area: Optional[str] = None
zip: Optional[str] = None
frequency: Optional[str] = None
next_due_iso: Optional[str] = None
next_due_label: Optional[str] = None
overdue: bool = False
duration_min: int = 0
eligible_dow: List[int] = field(default_factory=list)
scheduled_dow: int = 0
weekly_all: bool = False
due_this_week: bool = False
assigned_crew_i_d: Optional[int] = None
assigned_crew_name: Optional[str] = None
this_week_job_i_d: Optional[int] = None
this_week_backing_job_i_d: Optional[int] = None
this_week_occ_iso: Optional[str] = None
this_week_standing_iso: Optional[str] = None
standing_dow: Optional[int] = None
moved: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AgreementPlannerCrew:
crew_i_d: int = 0
crew_name: Optional[str] = None
crew_color: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AgreementPlannerResponse:
response_status: Optional[ResponseStatus] = None
from_iso: Optional[str] = None
to_iso: Optional[str] = None
weekday_capacity: int = 0
rows: List[AgreementPlannerRow] = field(default_factory=list)
crews: List[AgreementPlannerCrew] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AgreementPlannerRequest:
from_: Optional[str] = field(metadata=config(field_name='from'), default=None)
scope: Optional[str] = None
Python AgreementPlannerRequest 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.
GET /v1/serviceagreement/planner HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/jsv
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
}
},
FromIso: String,
ToIso: String,
WeekdayCapacity: 0,
Rows:
[
{
AgreementID: 0,
Name: String,
ProjectName: String,
ServiceType: String,
Area: String,
Zip: String,
Frequency: String,
NextDueIso: String,
NextDueLabel: String,
Overdue: False,
DurationMin: 0,
EligibleDow:
[
0
],
ScheduledDow: 0,
WeeklyAll: False,
DueThisWeek: False,
AssignedCrewID: 0,
AssignedCrewName: String,
ThisWeekJobID: 0,
ThisWeekBackingJobID: 0,
ThisWeekOccIso: String,
ThisWeekStandingIso: String,
StandingDow: 0,
Moved: False
}
],
Crews:
[
{
CrewID: 0,
CrewName: String,
CrewColor: String
}
]
}