Field Squared API Services

<back to all web services

TaskType

The following routes are available for this service:
GET, POST, DELETE/{Workspace}/TaskType/{Type}
GET/{Workspace}/TaskType
import 'package:servicestack/servicestack.dart';

class RequiredAsset implements IConvertible
{
    int? Number;
    String? Type;

    RequiredAsset({this.Number,this.Type});
    RequiredAsset.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Number = json['Number'];
        Type = json['Type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Number': Number,
        'Type': Type
    };

    getTypeName() => "RequiredAsset";
    TypeContext? context = _ctx;
}

class RequiredInventoryType implements IConvertible
{
    int? Number;
    String? Type;
    String? Name;
    bool? IsSerialized;
    String? Description;

    RequiredInventoryType({this.Number,this.Type,this.Name,this.IsSerialized,this.Description});
    RequiredInventoryType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Number = json['Number'];
        Type = json['Type'];
        Name = json['Name'];
        IsSerialized = json['IsSerialized'];
        Description = json['Description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Number': Number,
        'Type': Type,
        'Name': Name,
        'IsSerialized': IsSerialized,
        'Description': Description
    };

    getTypeName() => "RequiredInventoryType";
    TypeContext? context = _ctx;
}

class RequiredUser implements IConvertible
{
    int? Number;
    List<String>? SkillTags;

    RequiredUser({this.Number,this.SkillTags});
    RequiredUser.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Number = json['Number'];
        SkillTags = JsonConverters.fromJson(json['SkillTags'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Number': Number,
        'SkillTags': JsonConverters.toJson(SkillTags,'List<String>',context!)
    };

    getTypeName() => "RequiredUser";
    TypeContext? context = _ctx;
}

class AutoCreateDocExpression implements IConvertible
{
    String? Document;
    String? Expression;
    bool? MultipleCopies;

    AutoCreateDocExpression({this.Document,this.Expression,this.MultipleCopies});
    AutoCreateDocExpression.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Document = json['Document'];
        Expression = json['Expression'];
        MultipleCopies = json['MultipleCopies'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Document': Document,
        'Expression': Expression,
        'MultipleCopies': MultipleCopies
    };

    getTypeName() => "AutoCreateDocExpression";
    TypeContext? context = _ctx;
}

class TaskType implements IConvertible
{
    String? Workspace;
    String? Type;
    String? Icon;
    List<String>? SkillTags;
    double? MinTimeToComplete;
    double? AvgTimeToComplete;
    double? MaxTimeToComplete;
    String? Template;
    bool? DocFilter;
    bool? ShowRelatedDocs;
    List<String>? AllowedDocTypes;
    int? DefaultPriority;
    bool? Inactive;
    List<String>? AutoCreateDocuments;
    String? PercentCompleteType;
    bool? UseJobTimers;
    bool? InheritAssetTeams;
    bool? InheritContactTeams;
    List<String>? EditTeams;
    bool? UseRequired;
    bool? AllowOverride;
    List<RequiredAsset>? RequiredAssets;
    List<RequiredInventoryType>? RequiredInventoryTypes;
    List<RequiredUser>? RequiredUsers;
    Map<String,dynamic?>? ActiveLaborTypes;
    bool? IndividualUserStatuses;
    bool? LockOption;
    List<AutoCreateDocExpression>? AutoCreateDocExpressions;
    bool? PTO;

    TaskType({this.Workspace,this.Type,this.Icon,this.SkillTags,this.MinTimeToComplete,this.AvgTimeToComplete,this.MaxTimeToComplete,this.Template,this.DocFilter,this.ShowRelatedDocs,this.AllowedDocTypes,this.DefaultPriority,this.Inactive,this.AutoCreateDocuments,this.PercentCompleteType,this.UseJobTimers,this.InheritAssetTeams,this.InheritContactTeams,this.EditTeams,this.UseRequired,this.AllowOverride,this.RequiredAssets,this.RequiredInventoryTypes,this.RequiredUsers,this.ActiveLaborTypes,this.IndividualUserStatuses,this.LockOption,this.AutoCreateDocExpressions,this.PTO});
    TaskType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Workspace = json['Workspace'];
        Type = json['Type'];
        Icon = json['Icon'];
        SkillTags = JsonConverters.fromJson(json['SkillTags'],'List<String>',context!);
        MinTimeToComplete = JsonConverters.toDouble(json['MinTimeToComplete']);
        AvgTimeToComplete = JsonConverters.toDouble(json['AvgTimeToComplete']);
        MaxTimeToComplete = JsonConverters.toDouble(json['MaxTimeToComplete']);
        Template = json['Template'];
        DocFilter = json['DocFilter'];
        ShowRelatedDocs = json['ShowRelatedDocs'];
        AllowedDocTypes = JsonConverters.fromJson(json['AllowedDocTypes'],'List<String>',context!);
        DefaultPriority = json['DefaultPriority'];
        Inactive = json['Inactive'];
        AutoCreateDocuments = JsonConverters.fromJson(json['AutoCreateDocuments'],'List<String>',context!);
        PercentCompleteType = json['PercentCompleteType'];
        UseJobTimers = json['UseJobTimers'];
        InheritAssetTeams = json['InheritAssetTeams'];
        InheritContactTeams = json['InheritContactTeams'];
        EditTeams = JsonConverters.fromJson(json['EditTeams'],'List<String>',context!);
        UseRequired = json['UseRequired'];
        AllowOverride = json['AllowOverride'];
        RequiredAssets = JsonConverters.fromJson(json['RequiredAssets'],'List<RequiredAsset>',context!);
        RequiredInventoryTypes = JsonConverters.fromJson(json['RequiredInventoryTypes'],'List<RequiredInventoryType>',context!);
        RequiredUsers = JsonConverters.fromJson(json['RequiredUsers'],'List<RequiredUser>',context!);
        ActiveLaborTypes = JsonConverters.fromJson(json['ActiveLaborTypes'],'Map<String,dynamic?>',context!);
        IndividualUserStatuses = json['IndividualUserStatuses'];
        LockOption = json['LockOption'];
        AutoCreateDocExpressions = JsonConverters.fromJson(json['AutoCreateDocExpressions'],'List<AutoCreateDocExpression>',context!);
        PTO = json['PTO'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Workspace': Workspace,
        'Type': Type,
        'Icon': Icon,
        'SkillTags': JsonConverters.toJson(SkillTags,'List<String>',context!),
        'MinTimeToComplete': MinTimeToComplete,
        'AvgTimeToComplete': AvgTimeToComplete,
        'MaxTimeToComplete': MaxTimeToComplete,
        'Template': Template,
        'DocFilter': DocFilter,
        'ShowRelatedDocs': ShowRelatedDocs,
        'AllowedDocTypes': JsonConverters.toJson(AllowedDocTypes,'List<String>',context!),
        'DefaultPriority': DefaultPriority,
        'Inactive': Inactive,
        'AutoCreateDocuments': JsonConverters.toJson(AutoCreateDocuments,'List<String>',context!),
        'PercentCompleteType': PercentCompleteType,
        'UseJobTimers': UseJobTimers,
        'InheritAssetTeams': InheritAssetTeams,
        'InheritContactTeams': InheritContactTeams,
        'EditTeams': JsonConverters.toJson(EditTeams,'List<String>',context!),
        'UseRequired': UseRequired,
        'AllowOverride': AllowOverride,
        'RequiredAssets': JsonConverters.toJson(RequiredAssets,'List<RequiredAsset>',context!),
        'RequiredInventoryTypes': JsonConverters.toJson(RequiredInventoryTypes,'List<RequiredInventoryType>',context!),
        'RequiredUsers': JsonConverters.toJson(RequiredUsers,'List<RequiredUser>',context!),
        'ActiveLaborTypes': JsonConverters.toJson(ActiveLaborTypes,'Map<String,dynamic?>',context!),
        'IndividualUserStatuses': IndividualUserStatuses,
        'LockOption': LockOption,
        'AutoCreateDocExpressions': JsonConverters.toJson(AutoCreateDocExpressions,'List<AutoCreateDocExpression>',context!),
        'PTO': PTO
    };

    getTypeName() => "TaskType";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'dev.fieldsquared.com', types: <String, TypeInfo> {
    'RequiredAsset': TypeInfo(TypeOf.Class, create:() => RequiredAsset()),
    'RequiredInventoryType': TypeInfo(TypeOf.Class, create:() => RequiredInventoryType()),
    'RequiredUser': TypeInfo(TypeOf.Class, create:() => RequiredUser()),
    'AutoCreateDocExpression': TypeInfo(TypeOf.Class, create:() => AutoCreateDocExpression()),
    'TaskType': TypeInfo(TypeOf.Class, create:() => TaskType()),
    'List<RequiredAsset>': TypeInfo(TypeOf.Class, create:() => <RequiredAsset>[]),
    'List<RequiredInventoryType>': TypeInfo(TypeOf.Class, create:() => <RequiredInventoryType>[]),
    'List<RequiredUser>': TypeInfo(TypeOf.Class, create:() => <RequiredUser>[]),
    'Map<String,dynamic?>': TypeInfo(TypeOf.Class, create:() => Map<String,dynamic?>()),
    'List<AutoCreateDocExpression>': TypeInfo(TypeOf.Class, create:() => <AutoCreateDocExpression>[]),
});

Dart TaskType DTOs

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

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /{Workspace}/TaskType/{Type} HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<TaskType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.Tasks">
  <ActiveLaborTypes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringanyType>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value />
    </d2p1:KeyValueOfstringanyType>
  </ActiveLaborTypes>
  <AllowOverride>false</AllowOverride>
  <AllowedDocTypes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AllowedDocTypes>
  <AutoCreateDocExpressions xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.DomainObjects.Model">
    <d2p1:AutoCreateDocExpression>
      <d2p1:Document>String</d2p1:Document>
      <d2p1:Expression>String</d2p1:Expression>
      <d2p1:MultipleCopies>false</d2p1:MultipleCopies>
    </d2p1:AutoCreateDocExpression>
  </AutoCreateDocExpressions>
  <AutoCreateDocuments xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AutoCreateDocuments>
  <AvgTimeToComplete>0</AvgTimeToComplete>
  <DefaultPriority>0</DefaultPriority>
  <DocFilter>false</DocFilter>
  <EditTeams xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </EditTeams>
  <Icon>String</Icon>
  <Inactive>false</Inactive>
  <IndividualUserStatuses>false</IndividualUserStatuses>
  <InheritAssetTeams>false</InheritAssetTeams>
  <InheritContactTeams>false</InheritContactTeams>
  <LockOption>false</LockOption>
  <MaxTimeToComplete>0</MaxTimeToComplete>
  <MinTimeToComplete>0</MinTimeToComplete>
  <PTO>false</PTO>
  <PercentCompleteType>String</PercentCompleteType>
  <RequiredAssets xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.DomainObjects.Model">
    <d2p1:RequiredAsset>
      <d2p1:Number>0</d2p1:Number>
      <d2p1:Type>String</d2p1:Type>
    </d2p1:RequiredAsset>
  </RequiredAssets>
  <RequiredInventoryTypes xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.DomainObjects.Model">
    <d2p1:RequiredInventoryType>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:IsSerialized>false</d2p1:IsSerialized>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:Number>0</d2p1:Number>
      <d2p1:Type>String</d2p1:Type>
    </d2p1:RequiredInventoryType>
  </RequiredInventoryTypes>
  <RequiredUsers xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.DomainObjects.Model">
    <d2p1:RequiredUser>
      <d2p1:Number>0</d2p1:Number>
      <d2p1:SkillTags xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </d2p1:SkillTags>
    </d2p1:RequiredUser>
  </RequiredUsers>
  <ShowRelatedDocs>false</ShowRelatedDocs>
  <SkillTags xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </SkillTags>
  <Template>String</Template>
  <Type>String</Type>
  <UseJobTimers>false</UseJobTimers>
  <UseRequired>false</UseRequired>
  <Workspace>String</Workspace>
</TaskType>