| GET | /{Workspace}/API/Task/Schema | ||
|---|---|---|---|
| GET, PUT, POST, DELETE | /{Workspace}/API/Task/{Id} | ||
| GET, PUT, POST, DELETE | /{Workspace}/API/Task | ||
| GET | /{Workspace}/API/Task/Schema/{TaskTemplate} |
namespace Field2Office.API.Model
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type Location() =
member val Latitude:Double = new Double() with get,set
member val Longitude:Double = new Double() with get,set
member val HasValidLocation:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type AddressBase() =
member val Id:String = null with get,set
member val AddressLine1:String = null with get,set
member val AddressLine2:String = null with get,set
member val City:String = null with get,set
member val State:String = null with get,set
member val Zip:String = null with get,set
member val Location:Location = null with get,set
member val Name:String = null with get,set
member val NameSingleLine:String = null with get,set
member val NameSingleLine5DigitZip:String = null with get,set
member val HasValidLocation:Boolean = new Boolean() with get,set
member val GeocodeFailed:Boolean = new Boolean() with get,set
member val GeocodeResultCode:String = null with get,set
member val Country:String = null with get,set
[<AllowNullLiteral>]
type Address() =
inherit AddressBase()
member val SiteName:String = null with get,set
member val ContactTitle:String = null with get,set
member val ContactName:String = null with get,set
member val ContactPhone:String = null with get,set
member val ContactEmail:String = null with get,set
[<AllowNullLiteral>]
type Schedule() =
member val Workspace:String = null with get,set
member val ObjectId:String = null with get,set
member val VersionId:String = null with get,set
member val BasedOn:String = null with get,set
member val Start:String = null with get,set
member val End:String = null with get,set
member val TimeZone:String = null with get,set
member val Users:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Teams:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Data:Dictionary<String, Object> = new Dictionary<String, Object>() with get,set
[<AllowNullLiteral>]
type TimeWindow() =
member val Start:Int32 = new Int32() with get,set
member val End:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type DomainItem() =
member val Workspace:String = null with get,set
member val ObjectId:String = null with get,set
member val VersionId:String = null with get,set
member val LastUpdated:String = null with get,set
[<AllowNullLiteral>]
type ClassedItem() =
member val ObjectId:String = null with get,set
member val Class:String = null with get,set
member val VersionId:String = null with get,set
member val Ancestors:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Type:String = null with get,set
[<AllowNullLiteral>]
type RangeExceptionItem() =
member val Binding:String = null with get,set
member val Message:String = null with get,set
member val Type:String = null with get,set
member val ClassName:String = null with get,set
[<AllowNullLiteral>]
type EventItem() =
member val ObjectId:String = null with get,set
member val Date:String = null with get,set
member val Location:Location = null with get,set
member val Barcode:String = null with get,set
member val Details:String = null with get,set
member val Type:String = null with get,set
member val IsScan:Boolean = new Boolean() with get,set
member val User:String = null with get,set
member val SelectedBy:String = null with get,set
member val Status:String = null with get,set
member val StatusType:String = null with get,set
member val DateCreated:String = null with get,set
member val Automatic:Boolean = new Boolean() with get,set
///<summary>
///Represents a DTO for a team in a workspace. Calls without an ObjectId will retrieve an array of all team objects for the workspace.
///</summary>
[<AllowNullLiteral>]
type Team() =
member val Workspace:String = null with get,set
member val TimeZone:String = null with get,set
member val ObjectId:String = null with get,set
member val ExternalId:String = null with get,set
member val VersionId:String = null with get,set
member val BasedOn:String = null with get,set
member val Name:String = null with get,set
member val Enabled:Boolean = new Boolean() with get,set
member val Members:ResizeArray<DomainItem> = new ResizeArray<DomainItem>() with get,set
member val Lead:DomainItem = null with get,set
member val Parent:DomainItem = null with get,set
member val Address:Address = null with get,set
member val Data:Dictionary<String, String> = new Dictionary<String, String>() with get,set
member val Teams:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Events:ResizeArray<EventItem> = new ResizeArray<EventItem>() with get,set
member val CreatedBy:String = null with get,set
member val ActiveLaborTypes:Dictionary<String, Object> = new Dictionary<String, Object>() with get,set
[<AllowNullLiteral>]
type CustomDataField() =
member val Binding:String = null with get,set
member val Label:String = null with get,set
member val Value:Object = null with get,set
member val DataType:String = null with get,set
member val IsReadOnly:Boolean = new Boolean() with get,set
member val IsHidden:Boolean = new Boolean() with get,set
member val Values:String = null with get,set
[<AllowNullLiteral>]
type DocumentOwnerDataTask() =
member val ObjectId:String = null with get,set
member val Name:String = null with get,set
member val Status:String = null with get,set
member val TaskType:String = null with get,set
member val LastUpdated:DateTime = new DateTime() with get,set
member val Created:DateTime = new DateTime() with get,set
member val Priority:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Rank:Decimal = new Decimal() with get,set
member val FirstTeam:Team = null with get,set
member val Address:Address = null with get,set
member val CustomDataFields:ResizeArray<CustomDataField> = new ResizeArray<CustomDataField>() with get,set
[<AllowNullLiteral>]
type AddressBasic() =
inherit AddressBase()
[<AllowNullLiteral>]
type DocumentOwnerDataAsset() =
member val ObjectId:String = null with get,set
member val Name:String = null with get,set
member val AssetType:String = null with get,set
member val LastUpdated:DateTime = new DateTime() with get,set
member val Created:DateTime = new DateTime() with get,set
member val Address:AddressBasic = null with get,set
member val CustomDataFields:ResizeArray<CustomDataField> = new ResizeArray<CustomDataField>() with get,set
[<AllowNullLiteral>]
type DocumentOwnerData() =
member val OwnerType:String = null with get,set
member val TaskData:DocumentOwnerDataTask = null with get,set
member val AssetData:DocumentOwnerDataAsset = null with get,set
///<summary>
///Represents a document associated with a task or user. To return multiple documents, call /{Workspace}/Document and pass in query parameter ids = comma separated list of document ids.
///</summary>
[<AllowNullLiteral>]
type Document() =
member val Workspace:String = null with get,set
member val AssignedWorkspace:String = null with get,set
member val ObjectId:String = null with get,set
member val VersionId:String = null with get,set
member val BasedOn:String = null with get,set
member val Created:String = null with get,set
member val ExternalId:String = null with get,set
member val LastUpdated:String = null with get,set
member val Type:String = null with get,set
member val Name:String = null with get,set
member val Title:String = null with get,set
member val Data:Dictionary<String, Object> = new Dictionary<String, Object>() with get,set
member val Owner:ClassedItem = null with get,set
member val SecondaryOwners:ResizeArray<ClassedItem> = new ResizeArray<ClassedItem>() with get,set
member val Location:Location = null with get,set
member val Date:String = null with get,set
member val CreatedBy:String = null with get,set
member val PercentComplete:Double = new Double() with get,set
member val PercentTotal:Int32 = new Int32() with get,set
member val PercentDone:Int32 = new Int32() with get,set
member val RangeExceptions:ResizeArray<RangeExceptionItem> = new ResizeArray<RangeExceptionItem>() with get,set
member val Submitted:Boolean = new Boolean() with get,set
member val Schema:String = null with get,set
member val OwnerData:DocumentOwnerData = null with get,set
[<AllowNullLiteral>]
type RequiredAsset() =
member val Number:Int32 = new Int32() with get,set
member val Type:String = null with get,set
[<AllowNullLiteral>]
type RequiredInventoryType() =
member val Number:Int32 = new Int32() with get,set
member val Type:String = null with get,set
member val Name:String = null with get,set
member val IsSerialized:Boolean = new Boolean() with get,set
member val Description:String = null with get,set
[<AllowNullLiteral>]
type RequiredUser() =
member val Number:Int32 = new Int32() with get,set
member val SkillTags:ResizeArray<String> = new ResizeArray<String>() with get,set
type CustomFieldDataType =
| Text = 0
| Number = 1
| Decimal = 2
| Money = 3
| PhoneNumber = 4
| Ssn = 5
| List = 6
| Date = 7
| File = 8
| Barcode = 9
| GPS = 10
| Photo = 11
| Spacer = 12
| Separator = 13
| AutoNumber = 14
| TextArea = 15
| Contact = 16
| User = 17
| Asset = 18
| Checkbox = 19
| CoreAssetList = 20
| CoreTaskList = 21
| CoreParentTask = 22
| CoreContactList = 23
| ComboBox = 24
| DateTime = 25
| Time = 26
| Location = 27
| CoreLocation = 28
| Label = 29
| EventLog = 30
| Address = 31
| Catalog = 32
| CoreTeamList = 33
| Segment = 34
| CoreTimeSeries = 35
| TimeSeries = 36
| Command = 37
| AutoNumberNumeric = 38
| CatalogList = 39
| CatalogComboBox = 40
| DateRange = 41
| DocumentGrid = 42
| ReportLink = 43
| Hyperlink = 44
| PercentComplete = 45
| Chart = 46
| Range = 47
| ExternalId = 48
| AssetCatalog = 49
| Inventory = 50
| CoreTaskLaborItemTypes = 51
| CoreTaskLaborItems = 52
| ObjectList = 53
| CoreTimeZone = 54
[<AllowNullLiteral>]
type CustomField() =
member val Key:String = null with get,set
member val Label:String = null with get,set
member val IsActive:Boolean = new Boolean() with get,set
member val IsReadOnly:Boolean = new Boolean() with get,set
member val IsHidden:Boolean = new Boolean() with get,set
member val IsMandatory:Boolean = new Boolean() with get,set
member val DisplayOnMap:Boolean = new Boolean() with get,set
member val CustomFieldDataType:CustomFieldDataType = new CustomFieldDataType() with get,set
member val Values:String = null with get,set
member val Prompt:String = null with get,set
member val Default:String = null with get,set
member val DefaultAutoUpdate:Boolean = new Boolean() with get,set
member val RequiredIf:String = null with get,set
member val Hidden:ResizeArray<String> = new ResizeArray<String>() with get,set
member val ReadOnly:ResizeArray<String> = new ResizeArray<String>() with get,set
member val ControlArgs:Dictionary<String, Object> = new Dictionary<String, Object>() with get,set
member val IndexSlot:String = null with get,set
member val Index:String = null with get,set
[<AllowNullLiteral>]
type BindingDescriptor() =
member val Binding:String = null with get,set
member val Required:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type TaskStatusDef() =
member val Name:String = null with get,set
member val Color:String = null with get,set
member val Code:String = null with get,set
member val TransitionFrom:String = null with get,set
member val TransitionMessage:String = null with get,set
member val TransitionCustomFields:ResizeArray<String> = new ResizeArray<String>() with get,set
member val HiddenIf:String = null with get,set
member val IsStart:Boolean = new Boolean() with get,set
member val IsEnd:Boolean = new Boolean() with get,set
member val IsBlocked:Boolean = new Boolean() with get,set
member val StatusType:String = null with get,set
member val ProgressType:String = null with get,set
member val AutoCreateDocuments:ResizeArray<String> = new ResizeArray<String>() with get,set
member val LockTask:Boolean = new Boolean() with get,set
member val SubmittedForms:ResizeArray<BindingDescriptor> = new ResizeArray<BindingDescriptor>() with get,set
[<AllowNullLiteral>]
type TaskTemplate() =
member val CustomFields:ResizeArray<CustomField> = new ResizeArray<CustomField>() with get,set
member val Statuses:ResizeArray<TaskStatusDef> = new ResizeArray<TaskStatusDef>() with get,set
member val TaskListDetails:String = null with get,set
member val AutoAssignStatus:String = null with get,set
member val AutoUnassignStatus:String = null with get,set
member val AutoScheduleStatus:String = null with get,set
member val AutoUnscheduleStatus:String = null with get,set
member val AutoUpdateStartStatus:String = null with get,set
member val AutoUpdateEndStatus:String = null with get,set
member val ArrivalStatus:String = null with get,set
member val DepartureStatus:String = null with get,set
member val ConfirmArrival:Boolean = new Boolean() with get,set
member val ConfirmDeparture:Boolean = new Boolean() with get,set
member val ManualArrivalAllowed:Boolean = new Boolean() with get,set
member val ManualDepartureAllowed:Boolean = new Boolean() with get,set
member val HideDisabledStatuses:Boolean = new Boolean() with get,set
member val GeofenceRadius:Int32 = new Int32() with get,set
///<summary>
///Contains the data for a task within the system, with versioned object referneces to users and forms.
///</summary>
[<AllowNullLiteral>]
type Task() =
member val Workspace:String = null with get,set
member val AssignedWorkspace:String = null with get,set
member val ObjectId:String = null with get,set
member val VersionId:String = null with get,set
member val BasedOn:String = null with get,set
member val ExternalId:String = null with get,set
member val Created:String = null with get,set
member val LastUpdated:String = null with get,set
member val LastUpdatedLocal:String = null with get,set
member val Rank:Decimal = new Decimal() with get,set
member val Name:String = null with get,set
member val Description:String = null with get,set
member val Address:Address = null with get,set
member val Schedules:ResizeArray<Schedule> = new ResizeArray<Schedule>() with get,set
member val Status:String = null with get,set
member val BlockedReason:String = null with get,set
member val TaskType:String = null with get,set
member val DueDate:String = null with get,set
member val DesiredCompletionDate:String = null with get,set
member val DesiredTimeWindow:TimeWindow = null with get,set
member val Priority:Nullable<Int32> = new Nullable<Int32>() with get,set
member val PercentComplete:Double = new Double() with get,set
member val Users:ResizeArray<String> = new ResizeArray<String>() with get,set
member val UsersExtended:ResizeArray<DomainItem> = new ResizeArray<DomainItem>() with get,set
member val Teams:ResizeArray<DomainItem> = new ResizeArray<DomainItem>() with get,set
member val Documents:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Docs:ResizeArray<DomainItem> = new ResizeArray<DomainItem>() with get,set
member val DocSummaries:ResizeArray<Document> = new ResizeArray<Document>() with get,set
member val Data:Dictionary<String, Object> = new Dictionary<String, Object>() with get,set
member val Contacts:ResizeArray<String> = new ResizeArray<String>() with get,set
member val StatusLocation:Location = null with get,set
member val Assets:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Tasks:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Owner:String = null with get,set
member val Events:ResizeArray<EventItem> = new ResizeArray<EventItem>() with get,set
member val UserStatuses:Dictionary<String, List<EventItem>> = new Dictionary<String, List<EventItem>>() with get,set
member val CreatedBy:String = null with get,set
member val TimeZone:String = null with get,set
member val SeriesId:String = null with get,set
member val JobTimerRunTime:Int32 = new Int32() with get,set
member val JobTimerPauseTime:Int32 = new Int32() with get,set
member val JobTimerTransitTime:Int32 = new Int32() with get,set
member val CurrentJobTimerStatus:String = null with get,set
member val CurrentJobTimerTime:String = null with get,set
member val InventoryItems:ResizeArray<String> = new ResizeArray<String>() with get,set
member val LaborItems:ResizeArray<String> = new ResizeArray<String>() with get,set
member val RequiredAssets:ResizeArray<RequiredAsset> = new ResizeArray<RequiredAsset>() with get,set
member val RequiredInventoryTypes:ResizeArray<RequiredInventoryType> = new ResizeArray<RequiredInventoryType>() with get,set
member val RequiredUsers:ResizeArray<RequiredUser> = new ResizeArray<RequiredUser>() with get,set
member val Locked:Boolean = new Boolean() with get,set
member val Ready:Boolean = new Boolean() with get,set
member val TaskTemplate:TaskTemplate = null with get,set
member val CustomDataFields:ResizeArray<CustomDataField> = new ResizeArray<CustomDataField>() with get,set
[<DataContract>]
[<AllowNullLiteral>]
type PublicTask() =
[<DataMember>]
member val Id:String = null with get,set
[<DataMember>]
member val Workspace:String = null with get,set
[<DataMember>]
member val TaskTemplate:String = null with get,set
[<DataMember>]
member val Task:Task = null with get,set
[<DataMember>]
member val Tasks:ResizeArray<Task> = new ResizeArray<Task>() with get,set
[<AllowNullLiteral>]
type Address() =
member val Street:String = null with get,set
member val Unit:String = null with get,set
member val City:String = null with get,set
member val State:String = null with get,set
member val Zip:String = null with get,set
member val ContactTitle:String = null with get,set
member val ContactName:String = null with get,set
member val ContactPhone:String = null with get,set
member val ContactEmail:String = null with get,set
member val Location:Location = null with get,set
member val SiteName:String = null with get,set
member val GeocodeFailed:Boolean = new Boolean() with get,set
member val Country:String = null with get,set
[<AllowNullLiteral>]
type Location() =
member val y:Double = new Double() with get,set
member val x:Double = new Double() with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /{Workspace}/API/Task/{Id} HTTP/1.1
Host: dev.fieldsquared.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<PublicTask xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.PublicApi.Tasks">
<Id>String</Id>
<Task>
<Asset xmlns="">String</Asset>
<City xmlns="">String</City>
<Contact xmlns="">String</Contact>
<Country xmlns="">String</Country>
<Created xmlns="">String</Created>
<Data xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="">
<d3p1:KeyValueOfstringanyType>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value />
</d3p1:KeyValueOfstringanyType>
</Data>
<Description xmlns="">String</Description>
<DesiredCompletionDate xmlns="">String</DesiredCompletionDate>
<DueDate xmlns="">String</DueDate>
<ExternalId xmlns="">String</ExternalId>
<LastUpdated xmlns="">String</LastUpdated>
<Lat xmlns="">0</Lat>
<Lon xmlns="">0</Lon>
<Name xmlns="">String</Name>
<Priority xmlns="">0</Priority>
<ScheduleEnd xmlns="">String</ScheduleEnd>
<ScheduleStart xmlns="">String</ScheduleStart>
<State xmlns="">String</State>
<Status xmlns="">String</Status>
<StreetAddress xmlns="">String</StreetAddress>
<TaskType xmlns="">String</TaskType>
<Team xmlns="">String</Team>
<TimeZone xmlns="">String</TimeZone>
<Unit xmlns="">String</Unit>
<User xmlns="">String</User>
<Zip xmlns="">String</Zip>
</Task>
<TaskTemplate>String</TaskTemplate>
<Tasks>
<Task xmlns="">
<Asset>String</Asset>
<City>String</City>
<Contact>String</Contact>
<Country>String</Country>
<Created>String</Created>
<Data xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringanyType>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value />
</d4p1:KeyValueOfstringanyType>
</Data>
<Description>String</Description>
<DesiredCompletionDate>String</DesiredCompletionDate>
<DueDate>String</DueDate>
<ExternalId>String</ExternalId>
<LastUpdated>String</LastUpdated>
<Lat>0</Lat>
<Lon>0</Lon>
<Name>String</Name>
<Priority>0</Priority>
<ScheduleEnd>String</ScheduleEnd>
<ScheduleStart>String</ScheduleStart>
<State>String</State>
<Status>String</Status>
<StreetAddress>String</StreetAddress>
<TaskType>String</TaskType>
<Team>String</Team>
<TimeZone>String</TimeZone>
<Unit>String</Unit>
<User>String</User>
<Zip>String</Zip>
</Task>
</Tasks>
<Workspace>String</Workspace>
</PublicTask>