Server

<back to all web services

AddOrder

Requires Authentication
The following routes are available for this service:
POST/Order
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eras2Amw.Service.Server.ServiceModel.Eras2Client.Order;
using Eras2Amw.Service.Server.ServiceModel.Common;
using Eras2Amw.Service.Server.ServiceModel.Enums;
using Eras2Amw.Service.Server.ServiceModel.Eras2WebApp;

namespace Eras2Amw.Service.Server.ServiceModel.Common
{
    [DataContract]
    public partial class Appointment
    {
        [DataMember(Name="Guid")]
        public virtual Guid Guid { get; set; }

        [DataMember(Name="Von")]
        public virtual DateTime From { get; set; }

        [DataMember(Name="Bis")]
        public virtual DateTime To { get; set; }

        [DataMember(Name="Monteure")]
        public virtual IList<AppointmentStoreUser> AppointmentStoreUsers { get; set; }

        [DataMember(Name="Nutzeinheiten")]
        public virtual IList<AppointmentNutzeinheit> AppointmentNutzeinheiten { get; set; }
    }

    [DataContract]
    public partial class AppointmentNutzeinheit
    {
        [DataMember(Name="NutzeinheitGuid")]
        public virtual Guid NutzeinheitGuid { get; set; }
    }

    [DataContract]
    public partial class AppointmentStoreUser
    {
        [DataMember(Name="MonteurGuid")]
        public virtual Guid StoreUserId { get; set; }
    }

    [DataContract]
    public partial class NutzeinheitOrderPosition
    {
        [DataMember(Name="NutzeinheitGuid")]
        public virtual Guid NutzeinheitGuid { get; set; }
    }

    [DataContract]
    public partial class NutzeinheitOrderState
    {
        [DataMember(Name="NutzeinheitGuid")]
        public virtual Guid NutzeinheitGuid { get; set; }

        [DataMember(Name="LastModified")]
        public virtual DateTime? LastModified { get; set; }

        [DataMember(Name="AuftragArten")]
        public virtual IList<Nullable<NutzeinheitOrderKind>> OrderKinds { get; set; }

        [DataMember(Name="Bearbeitungsstatus")]
        public virtual ProcessState? ProcessState { get; set; }

        [DataMember(Name="AbgeschlossenDatum")]
        public virtual DateTime? CompletedDate { get; set; }

        [DataMember(Name="OsVersion")]
        public virtual string OsVersion { get; set; }

        [DataMember(Name="AppVersion")]
        public virtual string AppVersion { get; set; }

        [DataMember(Name="OsPlatform")]
        public virtual string OsPlatform { get; set; }

        [DataMember(Name="AppGeraeteNummmer")]
        public virtual string AppDeviceNumber { get; set; }

        [DataMember(Name="AmwInfoKeyGuid")]
        public virtual Guid? AmwInfoKeyGuid { get; set; }
    }

    [DataContract]
    public partial class Order
    {
        [DataMember(Name="Guid")]
        public virtual Guid Guid { get; set; }

        [DataMember(Name="LastModified")]
        public virtual DateTime? LastModified { get; set; }

        [DataMember(Name="AbrechnungseinheitGuid")]
        public virtual Guid AbrechnungseinheitGuid { get; set; }

        [DataMember(Name="AuftragNummer")]
        public virtual string Number { get; set; }

        [DataMember(Name="Bezeichnung")]
        public virtual string Label { get; set; }

        [DataMember(Name="Anmerkung")]
        public virtual string Note { get; set; }

        [DataMember(Name="UnterschriftBenoetigt")]
        public virtual bool IsSignatureRequired { get; set; }

        [DataMember(Name="Erstellungsdatum")]
        public virtual DateTime CreatedDate { get; set; }

        [DataMember(Name="AuftragZustand")]
        public virtual OrderState OrderState { get; set; }

        [DataMember(Name="Termine")]
        public virtual IList<Appointment> Appointments { get; set; }

        [DataMember(Name="AuftragsPositionen")]
        public virtual IList<OrderPosition> OrderPositions { get; set; }

        [DataMember(Name="NutzeinheitZustaende")]
        public virtual IList<NutzeinheitOrderState> NutzeinheitOrderStates { get; set; }

        [DataMember(Name="GeraeteZustaende")]
        public virtual IList<DeviceOrderState> DeviceOrderStates { get; set; }

        [DataMember(Name="Auftraggeber")]
        public virtual Orderer Orderer { get; set; }

        [DataMember(Name="Unterschriften")]
        public virtual IList<Signature> Signatures { get; set; }
    }

    [DataContract]
    public partial class Orderer
    {
        [DataMember(Name="Guid")]
        public virtual Guid Guid { get; set; }

        [DataMember(Name="Person")]
        public virtual Person Person { get; set; }

        [DataMember(Name="BetrieblichePosition")]
        public virtual string BusinessPosition { get; set; }
    }

    [DataContract]
    public partial class OrderPosition
    {
        [DataMember(Name="Guid")]
        public virtual Guid Guid { get; set; }

        [DataMember(Name="LastModified")]
        public virtual DateTime? LastModified { get; set; }

        [DataMember(Name="Anmerkung")]
        public virtual string Note { get; set; }

        [DataMember(Name="SollMenge")]
        public virtual int RequiredQuantity { get; set; }

        [DataMember(Name="IstMenge")]
        public virtual int ActualQuantity { get; set; }

        [DataMember(Name="NutzeinheitOrderPositions")]
        public virtual IList<NutzeinheitOrderPosition> NutzeinheitOrderPositions { get; set; }

        [DataMember(Name="ArtikelGuid")]
        public virtual Guid ArticleGuid { get; set; }
    }

    [DataContract]
    public partial class OrderState
    {
        [DataMember(Name="LastModified")]
        public virtual DateTime? LastModified { get; set; }

        [DataMember(Name="AuftragArten")]
        public virtual IList<Nullable<OrderKind>> Kinds { get; set; }

        [DataMember(Name="Bearbeitungsstatus")]
        public virtual ProcessState? ProcessState { get; set; }

        [DataMember(Name="AbgeschlossenDatum")]
        public virtual DateTime? CompletedDate { get; set; }
    }

    [DataContract]
    public partial class Person
    {
        [DataMember(Name="Guid")]
        public virtual Guid Guid { get; set; }

        [DataMember(Name="LastModified")]
        public virtual DateTime? LastModified { get; set; }

        [DataMember(Name="Nachname1")]
        public virtual string Lastname1 { get; set; }

        [DataMember(Name="Nachname2")]
        public virtual string Lastname2 { get; set; }

        [DataMember(Name="Nachname3")]
        public virtual string Lastname3 { get; set; }

        [DataMember(Name="Vorname1")]
        public virtual string Firstname1 { get; set; }

        [DataMember(Name="Vorname2")]
        public virtual string Firstname2 { get; set; }

        [DataMember(Name="Anmerkung")]
        public virtual string Note { get; set; }

        [DataMember(Name="Anrede")]
        public virtual string Salutation { get; set; }

        [DataMember(Name="Titel")]
        public virtual string Title { get; set; }

        [DataMember(Name="PersonKommunikationen")]
        public virtual IEnumerable<PersonCommunication> PersonCommunications { get; set; }
    }

    [DataContract]
    public partial class PersonCommunication
    {
        [DataMember(Name="Guid")]
        public virtual Guid Guid { get; set; }

        [DataMember(Name="LastModified")]
        public virtual DateTime? LastModified { get; set; }

        [DataMember(Name="Adresse")]
        public virtual string Address { get; set; }

        [DataMember(Name="Anmerkung")]
        public virtual string Note { get; set; }

        [DataMember(Name="KommunikationsFunktionGuid")]
        public virtual Guid CommunicationFeatureGuid { get; set; }
    }

    [DataContract]
    public partial class Signature
    {
        [DataMember(Name="Guid")]
        public virtual Guid Guid { get; set; }

        [DataMember(Name="Timestamp")]
        public virtual DateTime? RecordedDate { get; set; }

        [DataMember(Name="UnterschriftArt")]
        public virtual SignatureKind? Kind { get; set; }

        [DataMember(Name="NutzeinheitGuid")]
        public virtual Guid NutzeinheitGuid { get; set; }
    }

}

namespace Eras2Amw.Service.Server.ServiceModel.Enums
{
    public enum DeviceOrderKind
    {
        Assembly,
        Maintenance,
        Exchange,
        Reading,
        Inspection,
        MainReading,
    }

    public enum ProcessState
    {
        InProgress,
        Updating,
        Creating,
        Completed,
    }

    public enum SignatureKind
    {
        Nutzer,
        Technician,
    }

}

namespace Eras2Amw.Service.Server.ServiceModel.Eras2Client.Order
{
    [DataContract]
    public partial class AddOrder
    {
        [DataMember(Name="Auftrag")]
        public virtual Order Order { get; set; }
    }

    public partial class AddOrderResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

namespace Eras2Amw.Service.Server.ServiceModel.Eras2WebApp
{
    [DataContract]
    public partial class DeviceOrderState
    {
        [DataMember(Name="GeraeteGuid")]
        public virtual Guid DeviceGuid { get; set; }

        [DataMember(Name="AuftragGuid")]
        public virtual Guid OrderGuid { get; set; }

        [DataMember(Name="AuftragArt")]
        public virtual DeviceOrderKind? OrderKind { get; set; }

        [DataMember(Name="Bearbeitungsstatus")]
        public virtual ProcessState? ProcessState { get; set; }

        [DataMember(Name="AbgeschlossenDatum")]
        public virtual DateTime? CompletedDate { get; set; }

        [DataMember(Name="AmwInfo")]
        public virtual string AmwInfo { get; set; }
    }

}

C# 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: immo-account-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>