Server

<back to all web services

AddOrder

Requires Authentication
The following routes are available for this service:
POST/Order

export class AddOrderResponse
{
    public responseStatus: ResponseStatus;

    public constructor(init?: Partial<AddOrderResponse>) { (Object as any).assign(this, init); }
}

export enum ProcessState
{
    InProgress = 'InProgress',
    Updating = 'Updating',
    Creating = 'Creating',
    Completed = 'Completed',
}

// @DataContract
export class OrderState
{
    // @DataMember(Name="LastModified")
    public LastModified?: string;

    // @DataMember(Name="AuftragArten")
    public AuftragArten: IList<OrderKind>;

    // @DataMember(Name="Bearbeitungsstatus")
    public Bearbeitungsstatus?: ProcessState;

    // @DataMember(Name="AbgeschlossenDatum")
    public AbgeschlossenDatum?: string;

    public constructor(init?: Partial<OrderState>) { (Object as any).assign(this, init); }
}

// @DataContract
export class AppointmentStoreUser
{
    // @DataMember(Name="MonteurGuid")
    public MonteurGuid: string;

    public constructor(init?: Partial<AppointmentStoreUser>) { (Object as any).assign(this, init); }
}

// @DataContract
export class AppointmentNutzeinheit
{
    // @DataMember(Name="NutzeinheitGuid")
    public NutzeinheitGuid: string;

    public constructor(init?: Partial<AppointmentNutzeinheit>) { (Object as any).assign(this, init); }
}

// @DataContract
export class Appointment
{
    // @DataMember(Name="Guid")
    public Guid: string;

    // @DataMember(Name="Von")
    public Von: string;

    // @DataMember(Name="Bis")
    public Bis: string;

    // @DataMember(Name="Monteure")
    public Monteure: IList<AppointmentStoreUser>;

    // @DataMember(Name="Nutzeinheiten")
    public Nutzeinheiten: IList<AppointmentNutzeinheit>;

    public constructor(init?: Partial<Appointment>) { (Object as any).assign(this, init); }
}

// @DataContract
export class NutzeinheitOrderPosition
{
    // @DataMember(Name="NutzeinheitGuid")
    public NutzeinheitGuid: string;

    public constructor(init?: Partial<NutzeinheitOrderPosition>) { (Object as any).assign(this, init); }
}

// @DataContract
export class OrderPosition
{
    // @DataMember(Name="Guid")
    public Guid: string;

    // @DataMember(Name="LastModified")
    public LastModified?: string;

    // @DataMember(Name="Anmerkung")
    public Anmerkung: string;

    // @DataMember(Name="SollMenge")
    public SollMenge: number;

    // @DataMember(Name="IstMenge")
    public IstMenge: number;

    // @DataMember(Name="NutzeinheitOrderPositions")
    public NutzeinheitOrderPositions: IList<NutzeinheitOrderPosition>;

    // @DataMember(Name="ArtikelGuid")
    public ArtikelGuid: string;

    public constructor(init?: Partial<OrderPosition>) { (Object as any).assign(this, init); }
}

// @DataContract
export class NutzeinheitOrderState
{
    // @DataMember(Name="NutzeinheitGuid")
    public NutzeinheitGuid: string;

    // @DataMember(Name="LastModified")
    public LastModified?: string;

    // @DataMember(Name="AuftragArten")
    public AuftragArten: IList<NutzeinheitOrderKind>;

    // @DataMember(Name="Bearbeitungsstatus")
    public Bearbeitungsstatus?: ProcessState;

    // @DataMember(Name="AbgeschlossenDatum")
    public AbgeschlossenDatum?: string;

    // @DataMember(Name="OsVersion")
    public OsVersion: string;

    // @DataMember(Name="AppVersion")
    public AppVersion: string;

    // @DataMember(Name="OsPlatform")
    public OsPlatform: string;

    // @DataMember(Name="AppGeraeteNummmer")
    public AppGeraeteNummmer: string;

    // @DataMember(Name="AmwInfoKeyGuid")
    public AmwInfoKeyGuid?: string;

    public constructor(init?: Partial<NutzeinheitOrderState>) { (Object as any).assign(this, init); }
}

export enum DeviceOrderKind
{
    Assembly = 'Assembly',
    Maintenance = 'Maintenance',
    Exchange = 'Exchange',
    Reading = 'Reading',
    Inspection = 'Inspection',
    MainReading = 'MainReading',
}

// @DataContract
export class DeviceOrderState
{
    // @DataMember(Name="GeraeteGuid")
    public GeraeteGuid: string;

    // @DataMember(Name="AuftragGuid")
    public AuftragGuid: string;

    // @DataMember(Name="AuftragArt")
    public AuftragArt?: DeviceOrderKind;

    // @DataMember(Name="Bearbeitungsstatus")
    public Bearbeitungsstatus?: ProcessState;

    // @DataMember(Name="AbgeschlossenDatum")
    public AbgeschlossenDatum?: string;

    // @DataMember(Name="AmwInfo")
    public AmwInfo: string;

    public constructor(init?: Partial<DeviceOrderState>) { (Object as any).assign(this, init); }
}

// @DataContract
export class PersonCommunication
{
    // @DataMember(Name="Guid")
    public Guid: string;

    // @DataMember(Name="LastModified")
    public LastModified?: string;

    // @DataMember(Name="Adresse")
    public Adresse: string;

    // @DataMember(Name="Anmerkung")
    public Anmerkung: string;

    // @DataMember(Name="KommunikationsFunktionGuid")
    public KommunikationsFunktionGuid: string;

    public constructor(init?: Partial<PersonCommunication>) { (Object as any).assign(this, init); }
}

// @DataContract
export class Person
{
    // @DataMember(Name="Guid")
    public Guid: string;

    // @DataMember(Name="LastModified")
    public LastModified?: string;

    // @DataMember(Name="Nachname1")
    public Nachname1: string;

    // @DataMember(Name="Nachname2")
    public Nachname2: string;

    // @DataMember(Name="Nachname3")
    public Nachname3: string;

    // @DataMember(Name="Vorname1")
    public Vorname1: string;

    // @DataMember(Name="Vorname2")
    public Vorname2: string;

    // @DataMember(Name="Anmerkung")
    public Anmerkung: string;

    // @DataMember(Name="Anrede")
    public Anrede: string;

    // @DataMember(Name="Titel")
    public Titel: string;

    // @DataMember(Name="PersonKommunikationen")
    public PersonKommunikationen: PersonCommunication[];

    public constructor(init?: Partial<Person>) { (Object as any).assign(this, init); }
}

// @DataContract
export class Orderer
{
    // @DataMember(Name="Guid")
    public Guid: string;

    // @DataMember(Name="Person")
    public Person: Person;

    // @DataMember(Name="BetrieblichePosition")
    public BetrieblichePosition: string;

    public constructor(init?: Partial<Orderer>) { (Object as any).assign(this, init); }
}

export enum SignatureKind
{
    Nutzer = 'Nutzer',
    Technician = 'Technician',
}

// @DataContract
export class Signature
{
    // @DataMember(Name="Guid")
    public Guid: string;

    // @DataMember(Name="Timestamp")
    public Timestamp?: string;

    // @DataMember(Name="UnterschriftArt")
    public UnterschriftArt?: SignatureKind;

    // @DataMember(Name="NutzeinheitGuid")
    public NutzeinheitGuid: string;

    public constructor(init?: Partial<Signature>) { (Object as any).assign(this, init); }
}

// @DataContract
export class Order
{
    // @DataMember(Name="Guid")
    public Guid: string;

    // @DataMember(Name="LastModified")
    public LastModified?: string;

    // @DataMember(Name="AbrechnungseinheitGuid")
    public AbrechnungseinheitGuid: string;

    // @DataMember(Name="AuftragNummer")
    public AuftragNummer: string;

    // @DataMember(Name="Bezeichnung")
    public Bezeichnung: string;

    // @DataMember(Name="Anmerkung")
    public Anmerkung: string;

    // @DataMember(Name="UnterschriftBenoetigt")
    public UnterschriftBenoetigt: boolean;

    // @DataMember(Name="Erstellungsdatum")
    public Erstellungsdatum: string;

    // @DataMember(Name="AuftragZustand")
    public AuftragZustand: OrderState;

    // @DataMember(Name="Termine")
    public Termine: IList<Appointment>;

    // @DataMember(Name="AuftragsPositionen")
    public AuftragsPositionen: IList<OrderPosition>;

    // @DataMember(Name="NutzeinheitZustaende")
    public NutzeinheitZustaende: IList<NutzeinheitOrderState>;

    // @DataMember(Name="GeraeteZustaende")
    public GeraeteZustaende: IList<DeviceOrderState>;

    // @DataMember(Name="Auftraggeber")
    public Auftraggeber: Orderer;

    // @DataMember(Name="Unterschriften")
    public Unterschriften: IList<Signature>;

    public constructor(init?: Partial<Order>) { (Object as any).assign(this, init); }
}

// @DataContract
export class AddOrder
{
    // @DataMember(Name="Auftrag")
    public Auftrag: Order;

    public constructor(init?: Partial<AddOrder>) { (Object as any).assign(this, init); }
}

TypeScript AddOrder DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /Order HTTP/1.1 
Host: brendle-schneider-servamw.eras-online.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Auftrag: 
	{
		Guid: 00000000000000000000000000000000,
		LastModified: 0001-01-01T00:00:00Z,
		AbrechnungseinheitGuid: 00000000000000000000000000000000,
		AuftragNummer: String,
		Bezeichnung: String,
		Anmerkung: String,
		UnterschriftBenoetigt: False,
		Erstellungsdatum: 0001-01-01T00:00:00Z,
		AuftragZustand: 
		{
			LastModified: 0001-01-01T00:00:00Z,
			Bearbeitungsstatus: InProgress,
			AbgeschlossenDatum: 0001-01-01T00:00:00Z
		},
		Auftraggeber: 
		{
			Guid: 00000000000000000000000000000000,
			Person: 
			{
				Guid: 00000000000000000000000000000000,
				LastModified: 0001-01-01T00:00:00Z,
				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/jsv
Content-Length: length

{
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}