Field Squared API Services

<back to all web services

AssetType

Represents a single asset type
.

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

enum CustomFieldDataType
{
    Text,
    Number,
    Decimal,
    Money,
    PhoneNumber,
    Ssn,
    List,
    Date,
    File,
    Barcode,
    GPS,
    Photo,
    Spacer,
    Separator,
    AutoNumber,
    TextArea,
    Contact,
    User,
    Asset,
    Checkbox,
    CoreAssetList,
    CoreTaskList,
    CoreParentTask,
    CoreContactList,
    ComboBox,
    DateTime,
    Time,
    Location,
    CoreLocation,
    Label,
    EventLog,
    Address,
    Catalog,
    CoreTeamList,
    Segment,
    CoreTimeSeries,
    TimeSeries,
    Command,
    AutoNumberNumeric,
    CatalogList,
    CatalogComboBox,
    DateRange,
    DocumentGrid,
    ReportLink,
    Hyperlink,
    PercentComplete,
    Chart,
    Range,
    ExternalId,
    AssetCatalog,
    Inventory,
    CoreTaskLaborItemTypes,
    CoreTaskLaborItems,
    ObjectList,
    CoreTimeZone,
}

class CustomField implements IConvertible
{
    String? Key;
    String? Label;
    bool? IsActive;
    bool? IsReadOnly;
    bool? IsHidden;
    bool? IsMandatory;
    bool? DisplayOnMap;
    CustomFieldDataType? CustomFieldDataType;
    String? Values;
    String? Prompt;
    String? Default;
    bool? DefaultAutoUpdate;
    String? RequiredIf;
    List<String>? Hidden;
    List<String>? ReadOnly;
    Map<String,dynamic?>? ControlArgs;
    String? IndexSlot;
    String? Index;

    CustomField({this.Key,this.Label,this.IsActive,this.IsReadOnly,this.IsHidden,this.IsMandatory,this.DisplayOnMap,this.CustomFieldDataType,this.Values,this.Prompt,this.Default,this.DefaultAutoUpdate,this.RequiredIf,this.Hidden,this.ReadOnly,this.ControlArgs,this.IndexSlot,this.Index});
    CustomField.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Key = json['Key'];
        Label = json['Label'];
        IsActive = json['IsActive'];
        IsReadOnly = json['IsReadOnly'];
        IsHidden = json['IsHidden'];
        IsMandatory = json['IsMandatory'];
        DisplayOnMap = json['DisplayOnMap'];
        CustomFieldDataType = JsonConverters.fromJson(json['CustomFieldDataType'],'CustomFieldDataType',context!);
        Values = json['Values'];
        Prompt = json['Prompt'];
        Default = json['Default'];
        DefaultAutoUpdate = json['DefaultAutoUpdate'];
        RequiredIf = json['RequiredIf'];
        Hidden = JsonConverters.fromJson(json['Hidden'],'List<String>',context!);
        ReadOnly = JsonConverters.fromJson(json['ReadOnly'],'List<String>',context!);
        ControlArgs = JsonConverters.fromJson(json['ControlArgs'],'Map<String,dynamic?>',context!);
        IndexSlot = json['IndexSlot'];
        Index = json['Index'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Key': Key,
        'Label': Label,
        'IsActive': IsActive,
        'IsReadOnly': IsReadOnly,
        'IsHidden': IsHidden,
        'IsMandatory': IsMandatory,
        'DisplayOnMap': DisplayOnMap,
        'CustomFieldDataType': JsonConverters.toJson(CustomFieldDataType,'CustomFieldDataType',context!),
        'Values': Values,
        'Prompt': Prompt,
        'Default': Default,
        'DefaultAutoUpdate': DefaultAutoUpdate,
        'RequiredIf': RequiredIf,
        'Hidden': JsonConverters.toJson(Hidden,'List<String>',context!),
        'ReadOnly': JsonConverters.toJson(ReadOnly,'List<String>',context!),
        'ControlArgs': JsonConverters.toJson(ControlArgs,'Map<String,dynamic?>',context!),
        'IndexSlot': IndexSlot,
        'Index': Index
    };

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

/**
* Represents a single asset type.
*/
class AssetType implements IConvertible
{
    String? Workspace;
    String? Type;
    bool? IsActive;
    String? Name;
    String? Make;
    String? Model;
    String? Manuf;
    String? Barcode;
    String? Symbol;
    String? Color;
    double? LineThickness;
    double? Scale;
    double? VisibilityMin;
    double? VisibilityMax;
    bool? SyncNode;
    List<CustomField>? CustomFields;
    List<String>? AllowedParentTypes;
    List<String>? AllowedChildTypes;
    bool? UseLocationHistory;
    bool? IsMobileAsset;
    Map<String,String?>? Data;
    String? GeomType;
    bool? DocFilter;
    bool? ShowRelatedDocs;
    List<String>? AllowedDocTypes;
    String? TLA;
    bool? UseTLAOnMap;
    String? RoutingLocation;
    String? Fill;
    double? FillOpacity;
    bool? ShowAnno;
    String? AnnoColor;
    double? MaxAnnoVisibility;
    String? AnnoFont;
    bool? HideTypeLabel;
    bool? UseAddress;
    bool? UseFullScreen;
    int? TimeSeries;
    bool? IsUnselectable;
    List<String>? EditTeams;
    bool? IsWarehouse;
    bool? IsVehicle;
    Map<String,dynamic?>? CustomSymbol;
    List<String>? TaskSeriesTemplates;

    AssetType({this.Workspace,this.Type,this.IsActive,this.Name,this.Make,this.Model,this.Manuf,this.Barcode,this.Symbol,this.Color,this.LineThickness,this.Scale,this.VisibilityMin,this.VisibilityMax,this.SyncNode,this.CustomFields,this.AllowedParentTypes,this.AllowedChildTypes,this.UseLocationHistory,this.IsMobileAsset,this.Data,this.GeomType,this.DocFilter,this.ShowRelatedDocs,this.AllowedDocTypes,this.TLA,this.UseTLAOnMap,this.RoutingLocation,this.Fill,this.FillOpacity,this.ShowAnno,this.AnnoColor,this.MaxAnnoVisibility,this.AnnoFont,this.HideTypeLabel,this.UseAddress,this.UseFullScreen,this.TimeSeries,this.IsUnselectable,this.EditTeams,this.IsWarehouse,this.IsVehicle,this.CustomSymbol,this.TaskSeriesTemplates});
    AssetType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Workspace = json['Workspace'];
        Type = json['Type'];
        IsActive = json['IsActive'];
        Name = json['Name'];
        Make = json['Make'];
        Model = json['Model'];
        Manuf = json['Manuf'];
        Barcode = json['Barcode'];
        Symbol = json['Symbol'];
        Color = json['Color'];
        LineThickness = JsonConverters.toDouble(json['LineThickness']);
        Scale = JsonConverters.toDouble(json['Scale']);
        VisibilityMin = JsonConverters.toDouble(json['VisibilityMin']);
        VisibilityMax = JsonConverters.toDouble(json['VisibilityMax']);
        SyncNode = json['SyncNode'];
        CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomField>',context!);
        AllowedParentTypes = JsonConverters.fromJson(json['AllowedParentTypes'],'List<String>',context!);
        AllowedChildTypes = JsonConverters.fromJson(json['AllowedChildTypes'],'List<String>',context!);
        UseLocationHistory = json['UseLocationHistory'];
        IsMobileAsset = json['IsMobileAsset'];
        Data = JsonConverters.toStringMap(json['Data']);
        GeomType = json['GeomType'];
        DocFilter = json['DocFilter'];
        ShowRelatedDocs = json['ShowRelatedDocs'];
        AllowedDocTypes = JsonConverters.fromJson(json['AllowedDocTypes'],'List<String>',context!);
        TLA = json['TLA'];
        UseTLAOnMap = json['UseTLAOnMap'];
        RoutingLocation = json['RoutingLocation'];
        Fill = json['Fill'];
        FillOpacity = JsonConverters.toDouble(json['FillOpacity']);
        ShowAnno = json['ShowAnno'];
        AnnoColor = json['AnnoColor'];
        MaxAnnoVisibility = JsonConverters.toDouble(json['MaxAnnoVisibility']);
        AnnoFont = json['AnnoFont'];
        HideTypeLabel = json['HideTypeLabel'];
        UseAddress = json['UseAddress'];
        UseFullScreen = json['UseFullScreen'];
        TimeSeries = json['TimeSeries'];
        IsUnselectable = json['IsUnselectable'];
        EditTeams = JsonConverters.fromJson(json['EditTeams'],'List<String>',context!);
        IsWarehouse = json['IsWarehouse'];
        IsVehicle = json['IsVehicle'];
        CustomSymbol = JsonConverters.fromJson(json['CustomSymbol'],'Map<String,dynamic?>',context!);
        TaskSeriesTemplates = JsonConverters.fromJson(json['TaskSeriesTemplates'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Workspace': Workspace,
        'Type': Type,
        'IsActive': IsActive,
        'Name': Name,
        'Make': Make,
        'Model': Model,
        'Manuf': Manuf,
        'Barcode': Barcode,
        'Symbol': Symbol,
        'Color': Color,
        'LineThickness': LineThickness,
        'Scale': Scale,
        'VisibilityMin': VisibilityMin,
        'VisibilityMax': VisibilityMax,
        'SyncNode': SyncNode,
        'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomField>',context!),
        'AllowedParentTypes': JsonConverters.toJson(AllowedParentTypes,'List<String>',context!),
        'AllowedChildTypes': JsonConverters.toJson(AllowedChildTypes,'List<String>',context!),
        'UseLocationHistory': UseLocationHistory,
        'IsMobileAsset': IsMobileAsset,
        'Data': Data,
        'GeomType': GeomType,
        'DocFilter': DocFilter,
        'ShowRelatedDocs': ShowRelatedDocs,
        'AllowedDocTypes': JsonConverters.toJson(AllowedDocTypes,'List<String>',context!),
        'TLA': TLA,
        'UseTLAOnMap': UseTLAOnMap,
        'RoutingLocation': RoutingLocation,
        'Fill': Fill,
        'FillOpacity': FillOpacity,
        'ShowAnno': ShowAnno,
        'AnnoColor': AnnoColor,
        'MaxAnnoVisibility': MaxAnnoVisibility,
        'AnnoFont': AnnoFont,
        'HideTypeLabel': HideTypeLabel,
        'UseAddress': UseAddress,
        'UseFullScreen': UseFullScreen,
        'TimeSeries': TimeSeries,
        'IsUnselectable': IsUnselectable,
        'EditTeams': JsonConverters.toJson(EditTeams,'List<String>',context!),
        'IsWarehouse': IsWarehouse,
        'IsVehicle': IsVehicle,
        'CustomSymbol': JsonConverters.toJson(CustomSymbol,'Map<String,dynamic?>',context!),
        'TaskSeriesTemplates': JsonConverters.toJson(TaskSeriesTemplates,'List<String>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'dev.fieldsquared.com', types: <String, TypeInfo> {
    'CustomFieldDataType': TypeInfo(TypeOf.Enum, enumValues:CustomFieldDataType.values),
    'CustomField': TypeInfo(TypeOf.Class, create:() => CustomField()),
    'Map<String,dynamic?>': TypeInfo(TypeOf.Class, create:() => Map<String,dynamic?>()),
    'AssetType': TypeInfo(TypeOf.Class, create:() => AssetType()),
    'List<CustomField>': TypeInfo(TypeOf.Class, create:() => <CustomField>[]),
});

Dart AssetType 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}/AssetType/{Type} HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<AssetType xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.Assets">
  <AllowedChildTypes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AllowedChildTypes>
  <AllowedDocTypes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AllowedDocTypes>
  <AllowedParentTypes xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </AllowedParentTypes>
  <AnnoColor>String</AnnoColor>
  <AnnoFont>String</AnnoFont>
  <Barcode>String</Barcode>
  <Color>String</Color>
  <CustomFields xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.DomainObjects.Model">
    <d2p1:CustomField>
      <d2p1:ControlArgs xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </d2p1:ControlArgs>
      <d2p1:CustomFieldDataType>Text</d2p1:CustomFieldDataType>
      <d2p1:Default>String</d2p1:Default>
      <d2p1:DefaultAutoUpdate>false</d2p1:DefaultAutoUpdate>
      <d2p1:DisplayOnMap>false</d2p1:DisplayOnMap>
      <d2p1:Hidden xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </d2p1:Hidden>
      <d2p1:Index>String</d2p1:Index>
      <d2p1:IndexSlot>String</d2p1:IndexSlot>
      <d2p1:IsActive>false</d2p1:IsActive>
      <d2p1:IsHidden>false</d2p1:IsHidden>
      <d2p1:IsMandatory>false</d2p1:IsMandatory>
      <d2p1:IsReadOnly>false</d2p1:IsReadOnly>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Label>String</d2p1:Label>
      <d2p1:Prompt>String</d2p1:Prompt>
      <d2p1:ReadOnly xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </d2p1:ReadOnly>
      <d2p1:RequiredIf>String</d2p1:RequiredIf>
      <d2p1:Values>String</d2p1:Values>
    </d2p1:CustomField>
  </CustomFields>
  <CustomSymbol xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringanyType>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value />
    </d2p1:KeyValueOfstringanyType>
  </CustomSymbol>
  <Data xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Data>
  <DocFilter>false</DocFilter>
  <EditTeams xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </EditTeams>
  <Fill>String</Fill>
  <FillOpacity>0</FillOpacity>
  <GeomType>String</GeomType>
  <HideTypeLabel>false</HideTypeLabel>
  <IsActive>false</IsActive>
  <IsMobileAsset>false</IsMobileAsset>
  <IsUnselectable>false</IsUnselectable>
  <IsVehicle>false</IsVehicle>
  <IsWarehouse>false</IsWarehouse>
  <LineThickness>0</LineThickness>
  <Make>String</Make>
  <Manuf>String</Manuf>
  <MaxAnnoVisibility>0</MaxAnnoVisibility>
  <Model>String</Model>
  <Name>String</Name>
  <RoutingLocation>String</RoutingLocation>
  <Scale>0</Scale>
  <ShowAnno>false</ShowAnno>
  <ShowRelatedDocs>false</ShowRelatedDocs>
  <Symbol>String</Symbol>
  <SyncNode>false</SyncNode>
  <TLA>String</TLA>
  <TaskSeriesTemplates xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </TaskSeriesTemplates>
  <TimeSeries>0</TimeSeries>
  <Type>String</Type>
  <UseAddress>false</UseAddress>
  <UseFullScreen>false</UseFullScreen>
  <UseLocationHistory>false</UseLocationHistory>
  <UseTLAOnMap>false</UseTLAOnMap>
  <VisibilityMax>0</VisibilityMax>
  <VisibilityMin>0</VisibilityMin>
  <Workspace>String</Workspace>
</AssetType>