| 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 .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Order HTTP/1.1
Host: messdienstservice-stadtwerke-peine-servamw.eras-online.de
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<AddOrder xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Amw.Service.Server.ServiceModel.Eras2Client.Order">
<Auftrag xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Amw.Service.Server.ServiceModel.Common">
<d2p1:AbrechnungseinheitGuid>00000000-0000-0000-0000-000000000000</d2p1:AbrechnungseinheitGuid>
<d2p1:Anmerkung>String</d2p1:Anmerkung>
<d2p1:AuftragNummer>String</d2p1:AuftragNummer>
<d2p1:AuftragZustand>
<d2p1:AbgeschlossenDatum>0001-01-01T00:00:00</d2p1:AbgeschlossenDatum>
<d2p1:AuftragArten xmlns:d4p1="http://schemas.datacontract.org/2004/07/System" i:nil="true" />
<d2p1:Bearbeitungsstatus>InProgress</d2p1:Bearbeitungsstatus>
<d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
</d2p1:AuftragZustand>
<d2p1:Auftraggeber>
<d2p1:BetrieblichePosition>String</d2p1:BetrieblichePosition>
<d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
<d2p1:Person>
<d2p1:Anmerkung>String</d2p1:Anmerkung>
<d2p1:Anrede>String</d2p1:Anrede>
<d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
<d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
<d2p1:Nachname1>String</d2p1:Nachname1>
<d2p1:Nachname2>String</d2p1:Nachname2>
<d2p1:Nachname3>String</d2p1:Nachname3>
<d2p1:PersonKommunikationen i:nil="true" />
<d2p1:Titel>String</d2p1:Titel>
<d2p1:Vorname1>String</d2p1:Vorname1>
<d2p1:Vorname2>String</d2p1:Vorname2>
</d2p1:Person>
</d2p1:Auftraggeber>
<d2p1:AuftragsPositionen i:nil="true" />
<d2p1:Bezeichnung>String</d2p1:Bezeichnung>
<d2p1:Erstellungsdatum>0001-01-01T00:00:00</d2p1:Erstellungsdatum>
<d2p1:GeraeteZustaende i:nil="true" />
<d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
<d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
<d2p1:NutzeinheitZustaende i:nil="true" />
<d2p1:Termine i:nil="true" />
<d2p1:UnterschriftBenoetigt>false</d2p1:UnterschriftBenoetigt>
<d2p1:Unterschriften i:nil="true" />
</Auftrag>
</AddOrder>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<AddOrderResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Amw.Service.Server.ServiceModel.Eras2Client.Order">
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</AddOrderResponse>