| POST | /Order |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
@DataContract
open class AddOrder
{
@DataMember(Name="Auftrag")
@SerializedName("Auftrag")
var order:Order? = null
}
@DataContract
open class Order
{
@DataMember(Name="Guid")
@SerializedName("Guid")
var guid:UUID? = null
@DataMember(Name="LastModified")
@SerializedName("LastModified")
var lastModified:Date? = null
@DataMember(Name="AbrechnungseinheitGuid")
@SerializedName("AbrechnungseinheitGuid")
var abrechnungseinheitGuid:UUID? = null
@DataMember(Name="AuftragNummer")
@SerializedName("AuftragNummer")
var number:String? = null
@DataMember(Name="Bezeichnung")
@SerializedName("Bezeichnung")
var label:String? = null
@DataMember(Name="Anmerkung")
@SerializedName("Anmerkung")
var note:String? = null
@DataMember(Name="UnterschriftBenoetigt")
@SerializedName("UnterschriftBenoetigt")
var isSignatureRequired:Boolean? = null
@DataMember(Name="Erstellungsdatum")
@SerializedName("Erstellungsdatum")
var createdDate:Date? = null
@DataMember(Name="AuftragZustand")
@SerializedName("AuftragZustand")
var orderState:OrderState? = null
@DataMember(Name="Termine")
@SerializedName("Termine")
var appointments:IList<Appointment>? = null
@DataMember(Name="AuftragsPositionen")
@SerializedName("AuftragsPositionen")
var orderPositions:IList<OrderPosition>? = null
@DataMember(Name="NutzeinheitZustaende")
@SerializedName("NutzeinheitZustaende")
var nutzeinheitOrderStates:IList<NutzeinheitOrderState>? = null
@DataMember(Name="GeraeteZustaende")
@SerializedName("GeraeteZustaende")
var deviceOrderStates:IList<DeviceOrderState>? = null
@DataMember(Name="Auftraggeber")
@SerializedName("Auftraggeber")
var orderer:Orderer? = null
@DataMember(Name="Unterschriften")
@SerializedName("Unterschriften")
var signatures:IList<Signature>? = null
}
@DataContract
open class OrderState
{
@DataMember(Name="LastModified")
@SerializedName("LastModified")
var lastModified:Date? = null
@DataMember(Name="AuftragArten")
@SerializedName("AuftragArten")
var kinds:IList<OrderKind?>? = null
@DataMember(Name="Bearbeitungsstatus")
@SerializedName("Bearbeitungsstatus")
var processState:ProcessState? = null
@DataMember(Name="AbgeschlossenDatum")
@SerializedName("AbgeschlossenDatum")
var completedDate:Date? = null
}
enum class ProcessState
{
InProgress,
Updating,
Creating,
Completed,
}
@DataContract
open class Appointment
{
@DataMember(Name="Guid")
@SerializedName("Guid")
var guid:UUID? = null
@DataMember(Name="Von")
@SerializedName("Von")
var from:Date? = null
@DataMember(Name="Bis")
@SerializedName("Bis")
var to:Date? = null
@DataMember(Name="Monteure")
@SerializedName("Monteure")
var appointmentStoreUsers:IList<AppointmentStoreUser>? = null
@DataMember(Name="Nutzeinheiten")
@SerializedName("Nutzeinheiten")
var appointmentNutzeinheiten:IList<AppointmentNutzeinheit>? = null
}
@DataContract
open class AppointmentStoreUser
{
@DataMember(Name="MonteurGuid")
@SerializedName("MonteurGuid")
var storeUserId:UUID? = null
}
@DataContract
open class AppointmentNutzeinheit
{
@DataMember(Name="NutzeinheitGuid")
@SerializedName("NutzeinheitGuid")
var nutzeinheitGuid:UUID? = null
}
@DataContract
open class OrderPosition
{
@DataMember(Name="Guid")
@SerializedName("Guid")
var guid:UUID? = null
@DataMember(Name="LastModified")
@SerializedName("LastModified")
var lastModified:Date? = null
@DataMember(Name="Anmerkung")
@SerializedName("Anmerkung")
var note:String? = null
@DataMember(Name="SollMenge")
@SerializedName("SollMenge")
var requiredQuantity:Int? = null
@DataMember(Name="IstMenge")
@SerializedName("IstMenge")
var actualQuantity:Int? = null
@DataMember(Name="NutzeinheitOrderPositions")
@SerializedName("NutzeinheitOrderPositions")
var nutzeinheitOrderPositions:IList<NutzeinheitOrderPosition>? = null
@DataMember(Name="ArtikelGuid")
@SerializedName("ArtikelGuid")
var articleGuid:UUID? = null
}
@DataContract
open class NutzeinheitOrderPosition
{
@DataMember(Name="NutzeinheitGuid")
@SerializedName("NutzeinheitGuid")
var nutzeinheitGuid:UUID? = null
}
@DataContract
open class NutzeinheitOrderState
{
@DataMember(Name="NutzeinheitGuid")
@SerializedName("NutzeinheitGuid")
var nutzeinheitGuid:UUID? = null
@DataMember(Name="LastModified")
@SerializedName("LastModified")
var lastModified:Date? = null
@DataMember(Name="AuftragArten")
@SerializedName("AuftragArten")
var orderKinds:IList<NutzeinheitOrderKind?>? = null
@DataMember(Name="Bearbeitungsstatus")
@SerializedName("Bearbeitungsstatus")
var processState:ProcessState? = null
@DataMember(Name="AbgeschlossenDatum")
@SerializedName("AbgeschlossenDatum")
var completedDate:Date? = null
@DataMember(Name="OsVersion")
@SerializedName("OsVersion")
var osVersion:String? = null
@DataMember(Name="AppVersion")
@SerializedName("AppVersion")
var appVersion:String? = null
@DataMember(Name="OsPlatform")
@SerializedName("OsPlatform")
var osPlatform:String? = null
@DataMember(Name="AppGeraeteNummmer")
@SerializedName("AppGeraeteNummmer")
var appDeviceNumber:String? = null
@DataMember(Name="AmwInfoKeyGuid")
@SerializedName("AmwInfoKeyGuid")
var amwInfoKeyGuid:UUID? = null
}
@DataContract
open class DeviceOrderState
{
@DataMember(Name="GeraeteGuid")
@SerializedName("GeraeteGuid")
var deviceGuid:UUID? = null
@DataMember(Name="AuftragGuid")
@SerializedName("AuftragGuid")
var orderGuid:UUID? = null
@DataMember(Name="AuftragArt")
@SerializedName("AuftragArt")
var orderKind:DeviceOrderKind? = null
@DataMember(Name="Bearbeitungsstatus")
@SerializedName("Bearbeitungsstatus")
var processState:ProcessState? = null
@DataMember(Name="AbgeschlossenDatum")
@SerializedName("AbgeschlossenDatum")
var completedDate:Date? = null
@DataMember(Name="AmwInfo")
@SerializedName("AmwInfo")
var amwInfo:String? = null
}
enum class DeviceOrderKind
{
Assembly,
Maintenance,
Exchange,
Reading,
Inspection,
MainReading,
}
@DataContract
open class Orderer
{
@DataMember(Name="Guid")
@SerializedName("Guid")
var guid:UUID? = null
@DataMember(Name="Person")
@SerializedName("Person")
var person:Person? = null
@DataMember(Name="BetrieblichePosition")
@SerializedName("BetrieblichePosition")
var businessPosition:String? = null
}
@DataContract
open class Person
{
@DataMember(Name="Guid")
@SerializedName("Guid")
var guid:UUID? = null
@DataMember(Name="LastModified")
@SerializedName("LastModified")
var lastModified:Date? = null
@DataMember(Name="Nachname1")
@SerializedName("Nachname1")
var lastname1:String? = null
@DataMember(Name="Nachname2")
@SerializedName("Nachname2")
var lastname2:String? = null
@DataMember(Name="Nachname3")
@SerializedName("Nachname3")
var lastname3:String? = null
@DataMember(Name="Vorname1")
@SerializedName("Vorname1")
var firstname1:String? = null
@DataMember(Name="Vorname2")
@SerializedName("Vorname2")
var firstname2:String? = null
@DataMember(Name="Anmerkung")
@SerializedName("Anmerkung")
var note:String? = null
@DataMember(Name="Anrede")
@SerializedName("Anrede")
var salutation:String? = null
@DataMember(Name="Titel")
@SerializedName("Titel")
var title:String? = null
@DataMember(Name="PersonKommunikationen")
@SerializedName("PersonKommunikationen")
var personCommunications:ArrayList<PersonCommunication> = ArrayList<PersonCommunication>()
}
@DataContract
open class PersonCommunication
{
@DataMember(Name="Guid")
@SerializedName("Guid")
var guid:UUID? = null
@DataMember(Name="LastModified")
@SerializedName("LastModified")
var lastModified:Date? = null
@DataMember(Name="Adresse")
@SerializedName("Adresse")
var address:String? = null
@DataMember(Name="Anmerkung")
@SerializedName("Anmerkung")
var note:String? = null
@DataMember(Name="KommunikationsFunktionGuid")
@SerializedName("KommunikationsFunktionGuid")
var communicationFeatureGuid:UUID? = null
}
@DataContract
open class Signature
{
@DataMember(Name="Guid")
@SerializedName("Guid")
var guid:UUID? = null
@DataMember(Name="Timestamp")
@SerializedName("Timestamp")
var recordedDate:Date? = null
@DataMember(Name="UnterschriftArt")
@SerializedName("UnterschriftArt")
var kind:SignatureKind? = null
@DataMember(Name="NutzeinheitGuid")
@SerializedName("NutzeinheitGuid")
var nutzeinheitGuid:UUID? = null
}
enum class SignatureKind
{
Nutzer,
Technician,
}
open class AddOrderResponse
{
var responseStatus:ResponseStatus? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Order HTTP/1.1
Host: stoetzer-servamw.eras-online.de
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"Auftrag":{"Guid":"00000000000000000000000000000000","LastModified":"0001-01-01T00:00:00.0000000Z","AbrechnungseinheitGuid":"00000000000000000000000000000000","AuftragNummer":"String","Bezeichnung":"String","Anmerkung":"String","UnterschriftBenoetigt":false,"Erstellungsdatum":"0001-01-01T00:00:00.0000000Z","AuftragZustand":{"LastModified":"0001-01-01T00:00:00.0000000Z","Bearbeitungsstatus":"InProgress","AbgeschlossenDatum":"0001-01-01T00:00:00.0000000Z"},"Auftraggeber":{"Guid":"00000000000000000000000000000000","Person":{"Guid":"00000000000000000000000000000000","LastModified":"0001-01-01T00:00:00.0000000Z","Nachname1":"String","Nachname2":"String","Nachname3":"String","Vorname1":"String","Vorname2":"String","Anmerkung":"String","Anrede":"String","Titel":"String"},"BetrieblichePosition":"String"}}}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}