Tax Filing Service

<back to all web services

SearchOrdersAsync

SearchOrdersAsync

Represents a service request from a standard user to search for orders in an asynchronous operation.

Requires Authentication
Required role:AllowAnyUserRequired permission:CanAccess
The following routes are available for this service:
GET/async/orders/search

/** @description The number of query results to skip. */
// @Api(Description="The number of query results to skip.")
export class PaginationBase implements IPaginate
{
    /** @description The number of query results to skip. */
    // @ApiMember(Description="The number of query results to skip.")
    public skip?: number;

    /** @description The number of query results to include. */
    // @ApiMember(Description="The number of query results to include.")
    public take?: number;

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

/** @description Represents a specific time interval, within which, an action was carried out. */
export enum PeriodMode
{
    Today = 'Today',
    Yesterday = 'Yesterday',
    LastWeek = 'LastWeek',
    Last30Days = 'Last30Days',
    Last90Days = 'Last90Days',
    Last180Days = 'Last180Days',
}

/** @description Specifies a service request from a standard user to search for orders. */
// @Api(Description="Specifies a service request from a standard user to search for orders.")
export class SearchOrdersBase extends PaginationBase implements IGet
{
    /** @description The user name of the account. */
    // @ApiMember(Description="The user name of the account.")
    public userName?: string;

    /** @description The name of the order. */
    // @ApiMember(Description="The name of the order.")
    public name?: string;

    /** @description Search by using the name of the order that starts with the specified value. */
    // @ApiMember(Description="Search by using the name of the order that starts with the specified value.")
    public nameStartsWith?: string;

    /** @description Search by using the name of the order that ends with the specified value. */
    // @ApiMember(Description="Search by using the name of the order that ends with the specified value.")
    public nameEndsWith?: string;

    /** @description Search by using the name of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the name of the order that contains the specified value.")
    public nameContains?: string;

    /** @description Search by using the name of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the name of the order that contains the specified value.")
    public serviceName?: string;

    /** @description Search by using the service name of the order that starts with the specified value. */
    // @ApiMember(Description="Search by using the service name of the order that starts with the specified value.")
    public serviceNameStartsWith?: string;

    /** @description Search by using the service name of the order that ends with the specified value. */
    // @ApiMember(Description="Search by using the service name of the order that ends with the specified value.")
    public serviceNameEndsWith?: string;

    /** @description Search by using the service name of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the service name of the order that contains the specified value.")
    public serviceNameContains?: string;

    /** @description Search for orders placed before a certain date and time. The specified date is included in the search. */
    // @ApiMember(Description="Search for orders placed before a certain date and time. The specified date is included in the search.")
    public before?: string;

    /** @description Search for orders placed after a certain date and time. The specified date is included in the search. */
    // @ApiMember(Description="Search for orders placed after a certain date and time. The specified date is included in the search.")
    public after?: string;

    /** @description Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search. */
    // @ApiMember(Description="Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search.")
    public periodStartDate?: string;

    /** @description Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search. */
    // @ApiMember(Description="Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search.")
    public periodEndDate?: string;

    /** @description Search for orders placed within the last 180 days. Today is included in the search. */
    // @ApiMember(Description="Search for orders placed within the last 180 days. Today is included in the search.")
    public periodMode?: PeriodMode;

    /** @description Was the order request successful? */
    // @ApiMember(Description="Was the order request successful?")
    public orderRequestSucceeded?: boolean;

    /** @description The unit of measurement for the order. */
    // @ApiMember(Description="The unit of measurement for the order.")
    public unitOfMeasurement?: string;

    /** @description Search by using the unit of measurement of the order that starts with the specified value. */
    // @ApiMember(Description="Search by using the unit of measurement of the order that starts with the specified value.")
    public unitOfMeasurementStartsWith?: string;

    /** @description Search by using the unit of measurement of the order that ends with the specified value. */
    // @ApiMember(Description="Search by using the unit of measurement of the order that ends with the specified value.")
    public unitOfMeasurementEndsWith?: string;

    /** @description Search by using the unit of measurement of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the unit of measurement of the order that contains the specified value.")
    public unitOfMeasurementContains?: string;

    /** @description The type of process, for which the order is charged. */
    // @ApiMember(Description="The type of process, for which the order is charged.")
    public processType?: string;

    /** @description Search by using the process type of the order that starts with the specified value. */
    // @ApiMember(Description="Search by using the process type of the order that starts with the specified value.")
    public processTypeStartsWith?: string;

    /** @description Search by using the process type of the order that ends with the specified value. */
    // @ApiMember(Description="Search by using the process type of the order that ends with the specified value.")
    public processTypeEndsWith?: string;

    /** @description Search by using the process type of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the process type of the order that contains the specified value.")
    public processTypeContains?: string;

    /** @description The type of data, for which the order is charged. */
    // @ApiMember(Description="The type of data, for which the order is charged.")
    public dataType?: string;

    /** @description Search by using the type of data, for which the order is charged that starts with the specified value. */
    // @ApiMember(Description="Search by using the type of data, for which the order is charged that starts with the specified value.")
    public dataTypeStartsWith?: string;

    /** @description Search by using the type of data, for which the order is charged that ends with the specified value. */
    // @ApiMember(Description="Search by using the type of data, for which the order is charged that ends with the specified value.")
    public dataTypeEndsWith?: string;

    /** @description Search by using the type of data, for which the order is charged that contains the specified value. */
    // @ApiMember(Description="Search by using the type of data, for which the order is charged that contains the specified value.")
    public dataTypeContains?: string;

    /** @description The name of the data, for which the order is charged. */
    // @ApiMember(Description="The name of the data, for which the order is charged.")
    public dataName?: string;

    /** @description Search by using the name of data, for which the order is charged that starts with the specified value. */
    // @ApiMember(Description="Search by using the name of data, for which the order is charged that starts with the specified value.")
    public dataNameStartsWith?: string;

    /** @description Search by using the name of data, for which the order is charged that ends with the specified value. */
    // @ApiMember(Description="Search by using the name of data, for which the order is charged that ends with the specified value.")
    public dataNameEndsWith?: string;

    /** @description Search by using the name of data, for which the order is charged that contains the specified value. */
    // @ApiMember(Description="Search by using the name of data, for which the order is charged that contains the specified value.")
    public dataNameContains?: string;

    /** @description The number of query results to skip. */
    // @ApiMember(Description="The number of query results to skip.")
    public skip?: number;

    /** @description The number of query results to include. */
    // @ApiMember(Description="The number of query results to include.")
    public take?: number;

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

/** @description Represents a commission to consume services. */
// @Api(Description="Represents a commission to consume services.")
export class Order implements IHasName
{
    /** @description The unique identifier of the order. */
    // @ApiMember(Description="The unique identifier of the order.", IsRequired=true)
    public id: number;

    /** @description The unique identifier of the product, for which the order is made. */
    // @ApiMember(Description="The unique identifier of the product, for which the order is made.", IsRequired=true)
    public productId: number;

    /** @description The unique identifier of the user account, who placed the order. */
    // @ApiMember(Description="The unique identifier of the user account, who placed the order.", IsRequired=true)
    public accountId: number;

    /** @description A name to identify the order. */
    // @ApiMember(Description="A name to identify the order.", IsRequired=true)
    // @Validate(Validator="NotEmpty")
    public name: string;

    /** @description The name of the service, for which the order was made. */
    // @ApiMember(Description="The name of the service, for which the order was made.")
    public serviceName?: string;

    /** @description The time stamp at which the order was initiated. */
    // @ApiMember(Description="The time stamp at which the order was initiated.")
    public requestTimestamp?: string;

    /** @description The time stamp at which the order was completed. */
    // @ApiMember(Description="The time stamp at which the order was completed.")
    public responseTimestamp?: string;

    /** @description The URI from which the order was initiated. */
    // @ApiMember(Description="The URI from which the order was initiated.")
    public requestUri?: string;

    /** @description The HTTP method of the order request. */
    // @ApiMember(Description="The HTTP method of the order request.")
    public requestHttpMethod?: string;

    /** @description The duration of the order request. */
    // @ApiMember(Description="The duration of the order request.")
    public requestDuration?: string;

    /** @description The HTTP status code of the order request. */
    // @ApiMember(Description="The HTTP status code of the order request.")
    public responseStatusCode: HttpStatusCode;

    /** @description The IP address of client, who placed the order. */
    // @ApiMember(Description="The IP address of client, who placed the order.")
    public clientIPAddress?: string;

    /** @description The unit of measurement for the order. */
    // @ApiMember(Description="The unit of measurement for the order.")
    public unitOfMeasurement?: string;

    /** @description The type of process, for which the order is charged. */
    // @ApiMember(Description="The type of process, for which the order is charged.")
    public processType?: string;

    /** @description The type of data, for which the order is charged. */
    // @ApiMember(Description="The type of data, for which the order is charged.")
    public dataType?: string;

    /** @description The name of the data, for which the order is charged. */
    // @ApiMember(Description="The name of the data, for which the order is charged.")
    public dataName?: string;

    /** @description The date of creation of the order. */
    // @ApiMember(Description="The date of creation of the order.")
    public creationDate: string;

    /** @description The final date to retain the order in the records. After this date, the order is expunged from the records. */
    // @ApiMember(Description="The final date to retain the order in the records. After this date, the order is expunged from the records.")
    public expiryDate?: string;

    /** @description Indicates whether the order is simulated for test purposes. True if the order is simulated for test purposes; otherwise it is a false order for production purposes. */
    // @ApiMember(Description="Indicates whether the order is simulated for test purposes. True if the order is simulated for test purposes; otherwise it is a false order for production purposes.")
    public isTest: boolean;

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

/** @description Represents a query response that contains a structured error information and encapsulates customers. */
// @Api(Description="Represents a query response that contains a structured error information and encapsulates customers.")
export class OrderQueryResponse extends QueryResponse<Order>
{
    // @DataMember(Order=1)
    public offset: number;

    // @DataMember(Order=2)
    public total: number;

    // @DataMember(Order=3)
    public results: Order[];

    // @DataMember(Order=4)
    public meta: { [index: string]: string; };

    // @DataMember(Order=5)
    public responseStatus: ResponseStatus;

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

/** @description Represents a service request from a standard user to search for orders in an asynchronous operation. */
// @Api(Description="Represents a service request from a standard user to search for orders in an asynchronous operation.")
export class SearchOrdersAsync extends SearchOrdersBase
{
    /** @description The user name of the account. */
    // @ApiMember(Description="The user name of the account.")
    public userName?: string;

    /** @description The name of the order. */
    // @ApiMember(Description="The name of the order.")
    public name?: string;

    /** @description Search by using the name of the order that starts with the specified value. */
    // @ApiMember(Description="Search by using the name of the order that starts with the specified value.")
    public nameStartsWith?: string;

    /** @description Search by using the name of the order that ends with the specified value. */
    // @ApiMember(Description="Search by using the name of the order that ends with the specified value.")
    public nameEndsWith?: string;

    /** @description Search by using the name of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the name of the order that contains the specified value.")
    public nameContains?: string;

    /** @description Search by using the name of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the name of the order that contains the specified value.")
    public serviceName?: string;

    /** @description Search by using the service name of the order that starts with the specified value. */
    // @ApiMember(Description="Search by using the service name of the order that starts with the specified value.")
    public serviceNameStartsWith?: string;

    /** @description Search by using the service name of the order that ends with the specified value. */
    // @ApiMember(Description="Search by using the service name of the order that ends with the specified value.")
    public serviceNameEndsWith?: string;

    /** @description Search by using the service name of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the service name of the order that contains the specified value.")
    public serviceNameContains?: string;

    /** @description Search for orders placed before a certain date and time. The specified date is included in the search. */
    // @ApiMember(Description="Search for orders placed before a certain date and time. The specified date is included in the search.")
    public before?: string;

    /** @description Search for orders placed after a certain date and time. The specified date is included in the search. */
    // @ApiMember(Description="Search for orders placed after a certain date and time. The specified date is included in the search.")
    public after?: string;

    /** @description Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search. */
    // @ApiMember(Description="Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search.")
    public periodStartDate?: string;

    /** @description Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search. */
    // @ApiMember(Description="Search for orders placed within a date and time period. The specified date is the start of the period and it is included in the search.")
    public periodEndDate?: string;

    /** @description Search for orders placed within the last 180 days. Today is included in the search. */
    // @ApiMember(Description="Search for orders placed within the last 180 days. Today is included in the search.")
    public periodMode?: PeriodMode;

    /** @description Was the order request successful? */
    // @ApiMember(Description="Was the order request successful?")
    public orderRequestSucceeded?: boolean;

    /** @description The unit of measurement for the order. */
    // @ApiMember(Description="The unit of measurement for the order.")
    public unitOfMeasurement?: string;

    /** @description Search by using the unit of measurement of the order that starts with the specified value. */
    // @ApiMember(Description="Search by using the unit of measurement of the order that starts with the specified value.")
    public unitOfMeasurementStartsWith?: string;

    /** @description Search by using the unit of measurement of the order that ends with the specified value. */
    // @ApiMember(Description="Search by using the unit of measurement of the order that ends with the specified value.")
    public unitOfMeasurementEndsWith?: string;

    /** @description Search by using the unit of measurement of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the unit of measurement of the order that contains the specified value.")
    public unitOfMeasurementContains?: string;

    /** @description The type of process, for which the order is charged. */
    // @ApiMember(Description="The type of process, for which the order is charged.")
    public processType?: string;

    /** @description Search by using the process type of the order that starts with the specified value. */
    // @ApiMember(Description="Search by using the process type of the order that starts with the specified value.")
    public processTypeStartsWith?: string;

    /** @description Search by using the process type of the order that ends with the specified value. */
    // @ApiMember(Description="Search by using the process type of the order that ends with the specified value.")
    public processTypeEndsWith?: string;

    /** @description Search by using the process type of the order that contains the specified value. */
    // @ApiMember(Description="Search by using the process type of the order that contains the specified value.")
    public processTypeContains?: string;

    /** @description The type of data, for which the order is charged. */
    // @ApiMember(Description="The type of data, for which the order is charged.")
    public dataType?: string;

    /** @description Search by using the type of data, for which the order is charged that starts with the specified value. */
    // @ApiMember(Description="Search by using the type of data, for which the order is charged that starts with the specified value.")
    public dataTypeStartsWith?: string;

    /** @description Search by using the type of data, for which the order is charged that ends with the specified value. */
    // @ApiMember(Description="Search by using the type of data, for which the order is charged that ends with the specified value.")
    public dataTypeEndsWith?: string;

    /** @description Search by using the type of data, for which the order is charged that contains the specified value. */
    // @ApiMember(Description="Search by using the type of data, for which the order is charged that contains the specified value.")
    public dataTypeContains?: string;

    /** @description The name of the data, for which the order is charged. */
    // @ApiMember(Description="The name of the data, for which the order is charged.")
    public dataName?: string;

    /** @description Search by using the name of data, for which the order is charged that starts with the specified value. */
    // @ApiMember(Description="Search by using the name of data, for which the order is charged that starts with the specified value.")
    public dataNameStartsWith?: string;

    /** @description Search by using the name of data, for which the order is charged that ends with the specified value. */
    // @ApiMember(Description="Search by using the name of data, for which the order is charged that ends with the specified value.")
    public dataNameEndsWith?: string;

    /** @description Search by using the name of data, for which the order is charged that contains the specified value. */
    // @ApiMember(Description="Search by using the name of data, for which the order is charged that contains the specified value.")
    public dataNameContains?: string;

    /** @description The number of query results to skip. */
    // @ApiMember(Description="The number of query results to skip.")
    public skip?: number;

    /** @description The number of query results to include. */
    // @ApiMember(Description="The number of query results to include.")
    public take?: number;

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

// @DataContract
export class QueryResponse<T>
{
    // @DataMember(Order=1)
    public offset: number;

    // @DataMember(Order=2)
    public total: number;

    // @DataMember(Order=3)
    public results: T[];

    // @DataMember(Order=4)
    public meta: { [index: string]: string; };

    // @DataMember(Order=5)
    public responseStatus: ResponseStatus;

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

TypeScript SearchOrdersAsync 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.

GET /async/orders/search HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<OrderQueryResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/PwC.Metering.Core.Services.Contracts.Responses">
  <Offset xmlns="http://schemas.servicestack.net/types">0</Offset>
  <Total xmlns="http://schemas.servicestack.net/types">0</Total>
  <Results xmlns:d2p1="http://schemas.datacontract.org/2004/07/PwC.Metering.Core.Domain.Concretes.Models" xmlns="http://schemas.servicestack.net/types">
    <d2p1:Order>
      <d2p1:AccountId>0</d2p1:AccountId>
      <d2p1:ClientIPAddress>String</d2p1:ClientIPAddress>
      <d2p1:CreationDate>0001-01-01T00:00:00</d2p1:CreationDate>
      <d2p1:DataName>String</d2p1:DataName>
      <d2p1:DataType>String</d2p1:DataType>
      <d2p1:ExpiryDate>0001-01-01T00:00:00</d2p1:ExpiryDate>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:IsTest>false</d2p1:IsTest>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:ProcessType>String</d2p1:ProcessType>
      <d2p1:ProductId>0</d2p1:ProductId>
      <d2p1:RequestDuration>PT0S</d2p1:RequestDuration>
      <d2p1:RequestHttpMethod>String</d2p1:RequestHttpMethod>
      <d2p1:RequestTimestamp>0001-01-01T00:00:00</d2p1:RequestTimestamp>
      <d2p1:RequestUri>String</d2p1:RequestUri>
      <d2p1:ResponseStatusCode>Continue</d2p1:ResponseStatusCode>
      <d2p1:ResponseTimestamp>0001-01-01T00:00:00</d2p1:ResponseTimestamp>
      <d2p1:ServiceName>String</d2p1:ServiceName>
      <d2p1:UnitOfMeasurement>String</d2p1:UnitOfMeasurement>
    </d2p1:Order>
  </Results>
  <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns="http://schemas.servicestack.net/types">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Meta>
  <ResponseStatus xmlns="http://schemas.servicestack.net/types">
    <ErrorCode>String</ErrorCode>
    <Message>String</Message>
    <StackTrace>String</StackTrace>
    <Errors>
      <ResponseError>
        <ErrorCode>String</ErrorCode>
        <FieldName>String</FieldName>
        <Message>String</Message>
        <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>
        </Meta>
      </ResponseError>
    </Errors>
    <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>
    </Meta>
  </ResponseStatus>
</OrderQueryResponse>