Server

<back to all web services

AddOrder

Requires Authentication
The following routes are available for this service:
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
}

Kotlin AddOrder 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 /Order HTTP/1.1 
Host: calotec-portal-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>