| Requires any of the roles: | Agent, Administrator |
| GET,OPTIONS | /v1/project/{ProjectID}/timeline |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
open class ProjectTimelineRequest
{
open var ProjectID:Int? = null
}
open class ProjectTimelineResponse
{
open var ResponseStatus:ResponseStatus? = null
open var Timeline:ProjectTimeline? = null
}
open class ProjectTimeline
{
open var ProjectID:Int? = null
open var Jobs:ArrayList<TimelineJob> = ArrayList<TimelineJob>()
open var Dependencies:ArrayList<JobDependency> = ArrayList<JobDependency>()
}
open class TimelineJob
{
open var JobID:Int? = null
open var JobName:String? = null
open var ExpectedStartDate:Date? = null
open var ExpectedCompletionDate:Date? = null
open var ActualStartDate:Date? = null
open var ActualEndDate:Date? = null
open var PercentComplete:BigDecimal? = null
open var StatusID:Int? = null
open var JobCategory:String? = null
open var IsAgreementVisit:Boolean? = null
open var OccurrenceDate:Date? = null
open var Crew:ArrayList<TimelineCrew> = ArrayList<TimelineCrew>()
open var Equipment:ArrayList<TimelineEquipment> = ArrayList<TimelineEquipment>()
}
open class TimelineCrew
{
open var ProjectJobCrewMemberID:Int? = null
open var ContactID:Int? = null
open var ContactName:String? = null
open var BudgetedHours:BigDecimal? = null
}
open class TimelineEquipment
{
open var ProjectJobEquipmentID:Int? = null
open var EquipmentID:Int? = null
open var EquipmentName:String? = null
}
open class JobDependency
{
open var JobDependencyID:Int? = null
open var TenantId:UUID? = null
open var ProjectID:Int? = null
open var PredecessorJobID:Int? = null
open var SuccessorJobID:Int? = null
open var DependencyType:String? = null
open var LagDays:Int? = null
open var CreatedBy:String? = null
open var CreatedAt:Date? = null
open var UpdatedAt:Date? = null
}
Kotlin ProjectTimelineRequest 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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/project/{ProjectID}/timeline HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/json
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"}},"Timeline":{"ProjectID":0,"Jobs":[{"JobID":0,"JobName":"String","ExpectedStartDate":"0001-01-01T00:00:00.0000000","ExpectedCompletionDate":"0001-01-01T00:00:00.0000000","ActualStartDate":"0001-01-01T00:00:00.0000000","ActualEndDate":"0001-01-01T00:00:00.0000000","PercentComplete":0,"StatusID":0,"JobCategory":"String","IsAgreementVisit":false,"OccurrenceDate":"0001-01-01T00:00:00.0000000","Crew":[{"ProjectJobCrewMemberID":0,"ContactID":0,"ContactName":"String","BudgetedHours":0}],"Equipment":[{"ProjectJobEquipmentID":0,"EquipmentID":0,"EquipmentName":"String"}]}],"Dependencies":[{"JobDependencyID":0,"TenantId":"00000000000000000000000000000000","ProjectID":0,"PredecessorJobID":0,"SuccessorJobID":0,"DependencyType":"String","LagDays":0,"CreatedBy":"String","CreatedAt":"0001-01-01T00:00:00.0000000","UpdatedAt":"0001-01-01T00:00:00.0000000"}]}}