Field Squared API Services

<back to all web services

InventoryItemTemplate

The following routes are available for this service:
GET,PUT,POST,DELETE/{Workspace}/InventoryItemTemplate
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;
}

class InventoryItemTemplate implements IConvertible
{
    String? ObjectId;
    String? Workspace;
    String? Name;
    List<CustomField>? CustomFields;

    InventoryItemTemplate({this.ObjectId,this.Workspace,this.Name,this.CustomFields});
    InventoryItemTemplate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ObjectId = json['ObjectId'];
        Workspace = json['Workspace'];
        Name = json['Name'];
        CustomFields = JsonConverters.fromJson(json['CustomFields'],'List<CustomField>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ObjectId': ObjectId,
        'Workspace': Workspace,
        'Name': Name,
        'CustomFields': JsonConverters.toJson(CustomFields,'List<CustomField>',context!)
    };

    getTypeName() => "InventoryItemTemplate";
    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?>()),
    'InventoryItemTemplate': TypeInfo(TypeOf.Class, create:() => InventoryItemTemplate()),
    'List<CustomField>': TypeInfo(TypeOf.Class, create:() => <CustomField>[]),
});

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

<InventoryItemTemplate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.Inventory">
  <CustomFields xmlns:d2p1="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.Workspaces">
    <d2p1:CustomField>
      <d2p1:ControlArgs xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringanyType>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value />
        </d4p1:KeyValueOfstringanyType>
      </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>
  <Name>String</Name>
  <ObjectId>String</ObjectId>
  <Workspace>String</Workspace>
</InventoryItemTemplate>