Field Squared API Services

<back to all web services

Workspace

Represents a grouping of users and their tasks. These dtos allow transfer of that data from the client to the server and vice versa.
The WorkWeek property is sorted by DayofWeek.
If the 'exportemail' argument is called i.e. (/workspace/?exportemail=test@test.com, this emails a .csv export
of the workspace to the specified email address
.

The following routes are available for this service:
GET,POST/{ObjectId}/Workspace
POST/workspace
System.NotSupportedException: Unknown language 'mjs', Supported languages: csharp, typescript, dart, java, kotlin, python, swift, vbnet, fsharp
   at ServiceStack.NativeTypes.LangGeneratorExtensions.GenerateSourceCode(MetadataTypes metadataTypes, MetadataTypesConfig typesConfig, String lang, IRequest req, Action`1 configure) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/NativeTypes/ILangGenerator.cs:line 53
   at ServiceStack.NativeTypes.LangGeneratorExtensions.GenerateSourceCode(List`1 metadataTypes, String lang, IRequest req, Action`1 configure) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/NativeTypes/ILangGenerator.cs:line 26
   at ServiceStack.Metadata.BaseMetadataHandler.d__12.MoveNext() in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/Metadata/BaseMetadataHandler.cs:line 207

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

HTTP + JSV

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

POST /{ObjectId}/Workspace HTTP/1.1 
Host: dev.fieldsquared.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ObjectId: String,
	VersionId: String,
	BasedOn: String,
	Name: String,
	LastUpdated: 0001-01-01,
	PaymentRequired: False,
	CompanyName: String,
	CompanyLogoUri: String,
	CompanySupportUrl: String,
	CompanySupportEmail: String,
	AdminEmail: String,
	CompanyAddress: 
	{
		Street: String,
		Unit: String,
		City: String,
		State: String,
		Zip: String,
		ContactTitle: String,
		ContactName: String,
		ContactPhone: String,
		ContactEmail: String,
		Location: 
		{
			y: 0,
			x: 0
		},
		SiteName: String,
		GeocodeFailed: False,
		Country: String
	},
	TaskTitle: String,
	TasksTitle: String,
	TeamTitle: String,
	TeamsTitle: String,
	UserTitle: String,
	UsersTitle: String,
	ContactTitle: String,
	ContactsTitle: String,
	SalesforceElementId: String,
	ScheduleTitle: String,
	SchedulesTitle: String,
	FormTitle: String,
	FormsTitle: String,
	PoiTitle: String,
	PoisTitle: String,
	AssetMakeTitle: String,
	AssetModelTitle: String,
	AssetManufacturerTitle: String,
	AssetBarcodeTitle: String,
	AssetAncestorsTitle: String,
	AssetWarehouseTitle: String,
	AssetWarehousesTitle: String,
	AssetVehicleTitle: String,
	AssetVehiclesTitle: String,
	UseTeamMaps: False,
	UseContacts: False,
	UseAssets: False,
	ShouldRunIntegrations: False,
	TaskTemplates: 
	{
		String: 
		{
			CustomFields: 
			[
				{
					Key: String,
					Label: String,
					IsActive: False,
					IsReadOnly: False,
					IsHidden: False,
					IsMandatory: False,
					DisplayOnMap: False,
					CustomFieldDataType: Text,
					Values: String,
					Prompt: String,
					Default: String,
					DefaultAutoUpdate: False,
					RequiredIf: String,
					Hidden: 
					[
						String
					],
					ReadOnly: 
					[
						String
					],
					ControlArgs: 
					{
						String: {}
					},
					IndexSlot: String,
					Index: String
				}
			],
			Statuses: 
			[
				{
					Name: String,
					Color: String,
					Code: String,
					TransitionFrom: String,
					TransitionMessage: String,
					TransitionCustomFields: 
					[
						String
					],
					HiddenIf: String,
					IsStart: False,
					IsEnd: False,
					IsBlocked: False,
					StatusType: String,
					ProgressType: String,
					AutoCreateDocuments: 
					[
						String
					],
					LockTask: False,
					SubmittedForms: 
					[
						{
							Binding: String,
							Required: False
						}
					]
				}
			],
			TaskListDetails: String,
			AutoAssignStatus: String,
			AutoUnassignStatus: String,
			AutoScheduleStatus: String,
			AutoUnscheduleStatus: String,
			AutoUpdateStartStatus: String,
			AutoUpdateEndStatus: String,
			ArrivalStatus: String,
			DepartureStatus: String,
			ConfirmArrival: False,
			ConfirmDeparture: False,
			ManualArrivalAllowed: False,
			ManualDepartureAllowed: False,
			HideDisabledStatuses: False,
			GeofenceRadius: 0
		}
	},
	FormTemplates: String,
	DocTemplateGhosts: 
	{
		String: 
		{
			Title: String,
			IsSubDoc: False,
			Folder: String,
			IsFragment: False,
			EditTeams: 
			[
				String
			],
			HasSecondaryOwner: False,
			TaskDocument: False,
			AssetDocument: False,
			ContactDocument: False,
			UserDocument: False,
			MultipleCopies: False,
			SubmitOption: False,
			Image: String,
			HiddenFor: 
			[
				String
			]
		}
	},
	AssetTypes: 
	{
		String: 
		{
			Workspace: String,
			Type: String,
			IsActive: False,
			Name: String,
			Make: String,
			Model: String,
			Manuf: String,
			Barcode: String,
			Symbol: String,
			Color: String,
			LineThickness: 0,
			Scale: 0,
			VisibilityMin: 0,
			VisibilityMax: 0,
			SyncNode: False,
			CustomFields: 
			[
				{
					Key: String,
					Label: String,
					IsActive: False,
					IsReadOnly: False,
					IsHidden: False,
					IsMandatory: False,
					DisplayOnMap: False,
					CustomFieldDataType: Text,
					Values: String,
					Prompt: String,
					Default: String,
					DefaultAutoUpdate: False,
					RequiredIf: String,
					Hidden: 
					[
						String
					],
					ReadOnly: 
					[
						String
					],
					ControlArgs: 
					{
						String: String
					},
					UseArrayMergeType: Set,
					IndexSlot: String,
					Index: String
				}
			],
			AllowedParentTypes: 
			[
				String
			],
			AllowedChildTypes: 
			[
				String
			],
			UseLocationHistory: False,
			IsMobileAsset: False,
			Data: 
			{
				String: String
			},
			GeomType: String,
			DocFilter: False,
			ShowRelatedDocs: False,
			AllowedDocTypes: 
			[
				String
			],
			TLA: String,
			UseTLAOnMap: False,
			RoutingLocation: String,
			Fill: String,
			FillOpacity: 0,
			ShowAnno: False,
			AnnoColor: String,
			MaxAnnoVisibility: 0,
			AnnoFont: String,
			HideTypeLabel: False,
			UseAddress: False,
			UseFullScreen: False,
			TimeSeries: 0,
			IsUnselectable: False,
			EditTeams: 
			[
				String
			],
			IsWarehouse: False,
			IsVehicle: False,
			CustomSymbol: 
			{
				String: {}
			},
			TaskSeriesTemplates: 
			[
				String
			]
		}
	},
	CatalogTypes: 
	[
		{
			Type: String,
			Name: String,
			CustomFields: 
			[
				{
					Key: String,
					Label: String,
					IsActive: False,
					IsReadOnly: False,
					IsHidden: False,
					IsMandatory: False,
					DisplayOnMap: False,
					CustomFieldDataType: Text,
					Values: String,
					Prompt: String,
					Default: String,
					DefaultAutoUpdate: False,
					RequiredIf: String,
					Hidden: 
					[
						String
					],
					ReadOnly: 
					[
						String
					],
					ControlArgs: 
					{
						String: String
					},
					UseArrayMergeType: Set,
					IndexSlot: String,
					Index: String
				}
			]
		}
	],
	TaskTypes: 
	[
		{
			Workspace: String,
			Type: String,
			Icon: String,
			SkillTags: 
			[
				String
			],
			MinTimeToComplete: 0,
			AvgTimeToComplete: 0,
			MaxTimeToComplete: 0,
			Template: String,
			DocFilter: False,
			ShowRelatedDocs: False,
			AllowedDocTypes: 
			[
				String
			],
			DefaultPriority: 0,
			Inactive: False,
			AutoCreateDocuments: 
			[
				String
			],
			PercentCompleteType: String,
			UseJobTimers: False,
			InheritAssetTeams: False,
			InheritContactTeams: False,
			EditTeams: 
			[
				String
			],
			UseRequired: False,
			AllowOverride: False,
			RequiredAssets: 
			[
				{
					Number: 0,
					Type: String
				}
			],
			RequiredInventoryTypes: 
			[
				{
					Number: 0,
					Type: String,
					Name: String,
					IsSerialized: False,
					Description: String
				}
			],
			RequiredUsers: 
			[
				{
					Number: 0,
					SkillTags: 
					[
						String
					]
				}
			],
			ActiveLaborTypes: 
			{
				String: {}
			},
			IndividualUserStatuses: False,
			LockOption: False,
			AutoCreateDocExpressions: 
			[
				{
					Document: String,
					Expression: String,
					MultipleCopies: False
				}
			],
			PTO: False
		}
	],
	WorkWeek: 
	[
		{
			DayOfWeek: 0,
			Start: 0,
			End: 0,
			Lunch: 0
		}
	],
	SalesTaxRate: 0,
	SkillTags: 
	[
		String
	],
	TimeZoneId: String,
	IANATimeZoneId: String,
	Country: String,
	StopTime: 0,
	StopDistance: 0,
	SpeedingSpeed: 0,
	SpeedingDuration: 0,
	ContactIcon: String,
	UseOnSiteContact: False,
	UseServiceAddresses: False,
	UseSharedWorkspaces: False,
	IsMetric: False,
	BreakLength: 
	[
		0
	],
	PriorityNames: 
	[
		String
	],
	PriorityDefault: String,
	IsFinanceIntegrationEnabled: False,
	IsCRMIntegrationEnabled: False,
	IsBoxIntegrationEnabled: False,
	IsDropboxIntegrationEnabled: False,
	IsGoogleDriveIntegrationEnabled: False,
	IsEsriIntegrationEnabled: False,
	IsPaycomIntegrationEnabled: False,
	IsP21IntegrationEnabled: False,
	Images: 
	[
		{
			Category: String,
			ObjectId: String
		}
	],
	ContactCustomFields: 
	[
		{
			Key: String,
			Label: String,
			IsActive: False,
			IsReadOnly: False,
			IsHidden: False,
			IsMandatory: False,
			DisplayOnMap: False,
			CustomFieldDataType: Text,
			Values: String,
			Prompt: String,
			Default: String,
			DefaultAutoUpdate: False,
			RequiredIf: String,
			Hidden: 
			[
				String
			],
			ReadOnly: 
			[
				String
			],
			ControlArgs: 
			{
				String: {}
			},
			IndexSlot: String,
			Index: String
		}
	],
	UserCustomFields: 
	[
		{
			Key: String,
			Label: String,
			IsActive: False,
			IsReadOnly: False,
			IsHidden: False,
			IsMandatory: False,
			DisplayOnMap: False,
			CustomFieldDataType: Text,
			Values: String,
			Prompt: String,
			Default: String,
			DefaultAutoUpdate: False,
			RequiredIf: String,
			Hidden: 
			[
				String
			],
			ReadOnly: 
			[
				String
			],
			ControlArgs: 
			{
				String: {}
			},
			IndexSlot: String,
			Index: String
		}
	],
	TeamCustomFields: 
	[
		{
			Key: String,
			Label: String,
			IsActive: False,
			IsReadOnly: False,
			IsHidden: False,
			IsMandatory: False,
			DisplayOnMap: False,
			CustomFieldDataType: Text,
			Values: String,
			Prompt: String,
			Default: String,
			DefaultAutoUpdate: False,
			RequiredIf: String,
			Hidden: 
			[
				String
			],
			ReadOnly: 
			[
				String
			],
			ControlArgs: 
			{
				String: {}
			},
			IndexSlot: String,
			Index: String
		}
	],
	UseAssetMaintenanceHistory: False,
	UseAssetSchedules: False,
	UseTaskAssets: False,
	UseSchedules: False,
	UseTasks: False,
	AssetsReadOnly: False,
	AssetVisibilityMax: 0,
	ContactVisibilityMax: 0,
	TaskVisibilityMax: 0,
	AutoScanAndTrackAsset: False,
	BarcodeTrackAsset: False,
	GPSTrackAsset: False,
	CustomReports: 
	[
		{
			ObjectId: String,
			Name: String,
			Inputs: 
			[
				{
					Key: String,
					Label: String,
					IsActive: False,
					IsReadOnly: False,
					IsHidden: False,
					IsMandatory: False,
					DisplayOnMap: False,
					CustomFieldDataType: Text,
					Values: String,
					Prompt: String,
					Default: String,
					DefaultAutoUpdate: False,
					RequiredIf: String,
					Hidden: 
					[
						String
					],
					ReadOnly: 
					[
						String
					],
					ControlArgs: 
					{
						String: {}
					},
					IndexSlot: String,
					Index: String
				}
			]
		}
	],
	ShowRelatedContactDocs: False,
	ShowRelatedAssetDocs: False,
	RequireAssetName: False,
	ShowRelatedTaskDocs: False,
	ClientBacklogSort: 
	[
		{
			Key: String,
			Label: String,
			Sort: String,
			Compare: String
		}
	],
	AutoAssignJobOnDriving: False,
	AutoAssignJobOnSite: False,
	AutoAssignJobOnComplete: False,
	AutoUnassignJobOnNotStarted: False,
	AutoScheduleJobOnDriving: False,
	AutoScheduleJobOnComplete: False,
	AutoScheduleJobOnSite: False,
	AutoUnscheduleJobOnNotStarted: False,
	AutoUpdateJobStartTimeOnSite: False,
	AutoUpdateJobEndTimeOnComplete: False,
	AutoAssignNewTasksTo: String,
	UseIntegrationEmail: False,
	UseTaskTarget: False,
	UseTaskDue: False,
	UseTaskPri: False,
	UseTaskAddr: False,
	TaskListDetails: String,
	AutocreateTaskStatusEvents: False,
	AutocreateTaskAssignmentEvents: False,
	FilterContactsByTeam: False,
	FilterUsersAndTeamsByTeam: False,
	AutoUpdateTaskContactChanged: False,
	AutoAssignTeamsOnTaskCreate: False,
	HtmlEmailIncludeTaskName: False,
	HtmlEmailIncludeUsers: False,
	HtmlEmailIncludeDateCreated: False,
	HtmlEmailIncludeDateLastUpdated: False,
	ClientStartupView: String,
	ClientAutoSyncInterval: 0,
	MobileTaskRangePast: 0,
	MobileTaskRangeFuture: 0,
	ClientShowScheduledTasks: False,
	ClientShowMyTasksOnly: False,
	ClientShowBacklogTasks: False,
	ClientHideCompleteTasks: False,
	ClientMapType: String,
	ClientGPSAccuracy: String,
	ClientShowTaskIconsOnMap: False,
	ClientMapLayerScheduledTasks: False,
	ClientMapLayerBacklog: False,
	ClientMapLayerAssets: False,
	ClientMapLayerContacts: False,
	ClientMapLayerTracks: False,
	ClientMapLayerStops: False,
	ClientMapLayerSpeeding: False,
	ClientMapStartLocation: String,
	SecurityDict: 
	{
		String: 0
	},
	ContactSearchResultExpression: String,
	LandscapePhotos: False,
	LogApiTraffic: False,
	UseDueDate: False,
	UsePriority: False,
	ScheduleTimeZones: 
	[
		String
	],
	UseTimezones: False,
	TaskListSummaryExpression1: String,
	TaskListSummaryExpression2: String,
	ShowScheduleButton: False,
	ShowScheduleGrid: False,
	ScheduleCustomFields: 
	[
		{
			Key: String,
			Label: String,
			IsActive: False,
			IsReadOnly: False,
			IsHidden: False,
			IsMandatory: False,
			DisplayOnMap: False,
			CustomFieldDataType: Text,
			Values: String,
			Prompt: String,
			Default: String,
			DefaultAutoUpdate: False,
			RequiredIf: String,
			Hidden: 
			[
				String
			],
			ReadOnly: 
			[
				String
			],
			ControlArgs: 
			{
				String: {}
			},
			IndexSlot: String,
			Index: String
		}
	],
	ScheduleGridConfig: 
	{
		Grid: 
		[
			{
				Binding: String,
				Heading: String,
				Width: 0
			}
		]
	},
	SaveOnPhoto: False,
	CleanseGeocodes: False,
	GeocodeQuality: String,
	RetainCustomerDatabase: String,
	RetainAssetDatabase: String,
	ShowDriveTimes: False,
	LocAccFilter: 0,
	AutoCreateRoutesFromAssignedTasks: False,
	TaskNameExpression: String,
	UseAddressCountry: False,
	MessageAppEnabled: False,
	GisLayers: 
	[
		String
	],
	AllowStatusDoubleClick: False,
	UseTimecard: False,
	TimecardCategories: 
	[
		String
	],
	UseLocalAdminUsers: False,
	UseInventory: False,
	ClientScheduledTaskSort: 0,
	LaborPricingHierarchy: 
	[
		String
	],
	UseLabor: False,
	LaborHourFormat: False,
	TfaEnabled: False,
	TaskNameExpressionAutoUpdate: False,
	AutocreateInitialTaskStatusEvent: False,
	InactivityTimer: 0,
	OfflineAuthTimer: 0,
	Sequences: 
	{
		String: 0
	},
	OverrideEmail: String,
	OverrideSms: String,
	PortalImageUrl: String,
	PortalImageId: String,
	SecureImageService: False,
	SuppressAssetTeamCascading: False,
	MilitaryTime: False,
	SecureHookService: False,
	ShowDashboard: False,
	DefaultBusinessHours: False,
	ForceSso: 
	{
		String: False
	},
	SuppressSsoAccountCreation: False,
	UseAdvancedScheduler: False,
	EnableUnsavedChangesPrompt: False,
	ReturnInactiveWorkspace: False,
	CustomerSupportEmail: String,
	CustomerSupportPhoneNumber: String,
	ShowColorCode: False
}