| POST | /{Workspace}/UserLocation/{ObjectId} |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Location:
y: float = 0.0
x: float = 0.0
class UserStatus(str, Enum):
NOT_STARTED = 'NotStarted'
DRIVING = 'Driving'
IN_PROGRESS = 'InProgress'
COMPLETE = 'Complete'
BLOCKED = 'Blocked'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UserLocation(Location):
"""
Service representing a UserLocation in a workspace.
"""
workspace: Optional[str] = None
object_id: Optional[str] = None
version_id: Optional[str] = None
based_on: Optional[str] = None
user_status: Optional[UserStatus] = None
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}/UserLocation/{ObjectId} HTTP/1.1
Host: dev.fieldsquared.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UserLocation xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model.Users">
<x xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model">0</x>
<y xmlns="http://schemas.datacontract.org/2004/07/Field2Office.API.Model">0</y>
<BasedOn>String</BasedOn>
<ObjectId>String</ObjectId>
<UserStatus>NotStarted</UserStatus>
<VersionId>String</VersionId>
<Workspace>String</Workspace>
</UserLocation>