Required role: | AllowAnyUser | Required permission: | CanAccess |
GET | /sync/orders/search |
---|
import Foundation
import ServiceStack
/**
* Represents a service request from a standard user to search for orders.
*/
// @Api(Description="Represents a service request from a standard user to search for orders.")
public class SearchOrders : SearchOrdersBase
{
/**
* The user name of the account.
*/
// @ApiMember(Description="The user name of the account.")
public var userName:String
/**
* The name of the order.
*/
// @ApiMember(Description="The name of the order.")
public var name:String
/**
* 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 var nameStartsWith:String
/**
* 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 var nameEndsWith:String
/**
* 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 var nameContains:String
/**
* 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 var serviceName:String
/**
* 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 var serviceNameStartsWith:String
/**
* 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 var serviceNameEndsWith:String
/**
* 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 var serviceNameContains:String
/**
* 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 var before:Date?
/**
* 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 var after:Date?
/**
* 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 var periodStartDate:Date?
/**
* 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 var periodEndDate:Date?
/**
* 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 var periodMode:PeriodMode?
/**
* Was the order request successful?
*/
// @ApiMember(Description="Was the order request successful?")
public var orderRequestSucceeded:Bool?
/**
* The unit of measurement for the order.
*/
// @ApiMember(Description="The unit of measurement for the order.")
public var unitOfMeasurement:String
/**
* 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 var unitOfMeasurementStartsWith:String
/**
* 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 var unitOfMeasurementEndsWith:String
/**
* 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 var unitOfMeasurementContains:String
/**
* The type of process, for which the order is charged.
*/
// @ApiMember(Description="The type of process, for which the order is charged.")
public var processType:String
/**
* 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 var processTypeStartsWith:String
/**
* 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 var processTypeEndsWith:String
/**
* 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 var processTypeContains:String
/**
* The type of data, for which the order is charged.
*/
// @ApiMember(Description="The type of data, for which the order is charged.")
public var dataType:String
/**
* 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 var dataTypeStartsWith:String
/**
* 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 var dataTypeEndsWith:String
/**
* 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 var dataTypeContains:String
/**
* 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 var dataName:String
/**
* 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 var dataNameStartsWith:String
/**
* 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 var dataNameEndsWith:String
/**
* 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 var dataNameContains:String
/**
* The number of query results to skip.
*/
// @ApiMember(Description="The number of query results to skip.")
public var skip:Int?
/**
* The number of query results to include.
*/
// @ApiMember(Description="The number of query results to include.")
public var take:Int?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case userName
case name
case nameStartsWith
case nameEndsWith
case nameContains
case serviceName
case serviceNameStartsWith
case serviceNameEndsWith
case serviceNameContains
case before
case after
case periodStartDate
case periodEndDate
case periodMode
case orderRequestSucceeded
case unitOfMeasurement
case unitOfMeasurementStartsWith
case unitOfMeasurementEndsWith
case unitOfMeasurementContains
case processType
case processTypeStartsWith
case processTypeEndsWith
case processTypeContains
case dataType
case dataTypeStartsWith
case dataTypeEndsWith
case dataTypeContains
case dataName
case dataNameStartsWith
case dataNameEndsWith
case dataNameContains
case skip
case take
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
userName = try container.decodeIfPresent(String.self, forKey: .userName)
name = try container.decodeIfPresent(String.self, forKey: .name)
nameStartsWith = try container.decodeIfPresent(String.self, forKey: .nameStartsWith)
nameEndsWith = try container.decodeIfPresent(String.self, forKey: .nameEndsWith)
nameContains = try container.decodeIfPresent(String.self, forKey: .nameContains)
serviceName = try container.decodeIfPresent(String.self, forKey: .serviceName)
serviceNameStartsWith = try container.decodeIfPresent(String.self, forKey: .serviceNameStartsWith)
serviceNameEndsWith = try container.decodeIfPresent(String.self, forKey: .serviceNameEndsWith)
serviceNameContains = try container.decodeIfPresent(String.self, forKey: .serviceNameContains)
before = try container.decodeIfPresent(Date.self, forKey: .before)
after = try container.decodeIfPresent(Date.self, forKey: .after)
periodStartDate = try container.decodeIfPresent(Date.self, forKey: .periodStartDate)
periodEndDate = try container.decodeIfPresent(Date.self, forKey: .periodEndDate)
periodMode = try container.decodeIfPresent(PeriodMode.self, forKey: .periodMode)
orderRequestSucceeded = try container.decodeIfPresent(Bool.self, forKey: .orderRequestSucceeded)
unitOfMeasurement = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurement)
unitOfMeasurementStartsWith = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementStartsWith)
unitOfMeasurementEndsWith = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementEndsWith)
unitOfMeasurementContains = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementContains)
processType = try container.decodeIfPresent(String.self, forKey: .processType)
processTypeStartsWith = try container.decodeIfPresent(String.self, forKey: .processTypeStartsWith)
processTypeEndsWith = try container.decodeIfPresent(String.self, forKey: .processTypeEndsWith)
processTypeContains = try container.decodeIfPresent(String.self, forKey: .processTypeContains)
dataType = try container.decodeIfPresent(String.self, forKey: .dataType)
dataTypeStartsWith = try container.decodeIfPresent(String.self, forKey: .dataTypeStartsWith)
dataTypeEndsWith = try container.decodeIfPresent(String.self, forKey: .dataTypeEndsWith)
dataTypeContains = try container.decodeIfPresent(String.self, forKey: .dataTypeContains)
dataName = try container.decodeIfPresent(String.self, forKey: .dataName)
dataNameStartsWith = try container.decodeIfPresent(String.self, forKey: .dataNameStartsWith)
dataNameEndsWith = try container.decodeIfPresent(String.self, forKey: .dataNameEndsWith)
dataNameContains = try container.decodeIfPresent(String.self, forKey: .dataNameContains)
skip = try container.decodeIfPresent(Int.self, forKey: .skip)
take = try container.decodeIfPresent(Int.self, forKey: .take)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if userName != nil { try container.encode(userName, forKey: .userName) }
if name != nil { try container.encode(name, forKey: .name) }
if nameStartsWith != nil { try container.encode(nameStartsWith, forKey: .nameStartsWith) }
if nameEndsWith != nil { try container.encode(nameEndsWith, forKey: .nameEndsWith) }
if nameContains != nil { try container.encode(nameContains, forKey: .nameContains) }
if serviceName != nil { try container.encode(serviceName, forKey: .serviceName) }
if serviceNameStartsWith != nil { try container.encode(serviceNameStartsWith, forKey: .serviceNameStartsWith) }
if serviceNameEndsWith != nil { try container.encode(serviceNameEndsWith, forKey: .serviceNameEndsWith) }
if serviceNameContains != nil { try container.encode(serviceNameContains, forKey: .serviceNameContains) }
if before != nil { try container.encode(before, forKey: .before) }
if after != nil { try container.encode(after, forKey: .after) }
if periodStartDate != nil { try container.encode(periodStartDate, forKey: .periodStartDate) }
if periodEndDate != nil { try container.encode(periodEndDate, forKey: .periodEndDate) }
if periodMode != nil { try container.encode(periodMode, forKey: .periodMode) }
if orderRequestSucceeded != nil { try container.encode(orderRequestSucceeded, forKey: .orderRequestSucceeded) }
if unitOfMeasurement != nil { try container.encode(unitOfMeasurement, forKey: .unitOfMeasurement) }
if unitOfMeasurementStartsWith != nil { try container.encode(unitOfMeasurementStartsWith, forKey: .unitOfMeasurementStartsWith) }
if unitOfMeasurementEndsWith != nil { try container.encode(unitOfMeasurementEndsWith, forKey: .unitOfMeasurementEndsWith) }
if unitOfMeasurementContains != nil { try container.encode(unitOfMeasurementContains, forKey: .unitOfMeasurementContains) }
if processType != nil { try container.encode(processType, forKey: .processType) }
if processTypeStartsWith != nil { try container.encode(processTypeStartsWith, forKey: .processTypeStartsWith) }
if processTypeEndsWith != nil { try container.encode(processTypeEndsWith, forKey: .processTypeEndsWith) }
if processTypeContains != nil { try container.encode(processTypeContains, forKey: .processTypeContains) }
if dataType != nil { try container.encode(dataType, forKey: .dataType) }
if dataTypeStartsWith != nil { try container.encode(dataTypeStartsWith, forKey: .dataTypeStartsWith) }
if dataTypeEndsWith != nil { try container.encode(dataTypeEndsWith, forKey: .dataTypeEndsWith) }
if dataTypeContains != nil { try container.encode(dataTypeContains, forKey: .dataTypeContains) }
if dataName != nil { try container.encode(dataName, forKey: .dataName) }
if dataNameStartsWith != nil { try container.encode(dataNameStartsWith, forKey: .dataNameStartsWith) }
if dataNameEndsWith != nil { try container.encode(dataNameEndsWith, forKey: .dataNameEndsWith) }
if dataNameContains != nil { try container.encode(dataNameContains, forKey: .dataNameContains) }
if skip != nil { try container.encode(skip, forKey: .skip) }
if take != nil { try container.encode(take, forKey: .take) }
}
}
/**
* 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.")
public class SearchOrdersBase : PaginationBase, IGet
{
/**
* The user name of the account.
*/
// @ApiMember(Description="The user name of the account.")
public var userName:String
/**
* The name of the order.
*/
// @ApiMember(Description="The name of the order.")
public var name:String
/**
* 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 var nameStartsWith:String
/**
* 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 var nameEndsWith:String
/**
* 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 var nameContains:String
/**
* 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 var serviceName:String
/**
* 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 var serviceNameStartsWith:String
/**
* 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 var serviceNameEndsWith:String
/**
* 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 var serviceNameContains:String
/**
* 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 var before:Date?
/**
* 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 var after:Date?
/**
* 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 var periodStartDate:Date?
/**
* 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 var periodEndDate:Date?
/**
* 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 var periodMode:PeriodMode?
/**
* Was the order request successful?
*/
// @ApiMember(Description="Was the order request successful?")
public var orderRequestSucceeded:Bool?
/**
* The unit of measurement for the order.
*/
// @ApiMember(Description="The unit of measurement for the order.")
public var unitOfMeasurement:String
/**
* 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 var unitOfMeasurementStartsWith:String
/**
* 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 var unitOfMeasurementEndsWith:String
/**
* 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 var unitOfMeasurementContains:String
/**
* The type of process, for which the order is charged.
*/
// @ApiMember(Description="The type of process, for which the order is charged.")
public var processType:String
/**
* 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 var processTypeStartsWith:String
/**
* 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 var processTypeEndsWith:String
/**
* 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 var processTypeContains:String
/**
* The type of data, for which the order is charged.
*/
// @ApiMember(Description="The type of data, for which the order is charged.")
public var dataType:String
/**
* 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 var dataTypeStartsWith:String
/**
* 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 var dataTypeEndsWith:String
/**
* 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 var dataTypeContains:String
/**
* 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 var dataName:String
/**
* 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 var dataNameStartsWith:String
/**
* 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 var dataNameEndsWith:String
/**
* 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 var dataNameContains:String
/**
* The number of query results to skip.
*/
// @ApiMember(Description="The number of query results to skip.")
public var skip:Int?
/**
* The number of query results to include.
*/
// @ApiMember(Description="The number of query results to include.")
public var take:Int?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case userName
case name
case nameStartsWith
case nameEndsWith
case nameContains
case serviceName
case serviceNameStartsWith
case serviceNameEndsWith
case serviceNameContains
case before
case after
case periodStartDate
case periodEndDate
case periodMode
case orderRequestSucceeded
case unitOfMeasurement
case unitOfMeasurementStartsWith
case unitOfMeasurementEndsWith
case unitOfMeasurementContains
case processType
case processTypeStartsWith
case processTypeEndsWith
case processTypeContains
case dataType
case dataTypeStartsWith
case dataTypeEndsWith
case dataTypeContains
case dataName
case dataNameStartsWith
case dataNameEndsWith
case dataNameContains
case skip
case take
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
userName = try container.decodeIfPresent(String.self, forKey: .userName)
name = try container.decodeIfPresent(String.self, forKey: .name)
nameStartsWith = try container.decodeIfPresent(String.self, forKey: .nameStartsWith)
nameEndsWith = try container.decodeIfPresent(String.self, forKey: .nameEndsWith)
nameContains = try container.decodeIfPresent(String.self, forKey: .nameContains)
serviceName = try container.decodeIfPresent(String.self, forKey: .serviceName)
serviceNameStartsWith = try container.decodeIfPresent(String.self, forKey: .serviceNameStartsWith)
serviceNameEndsWith = try container.decodeIfPresent(String.self, forKey: .serviceNameEndsWith)
serviceNameContains = try container.decodeIfPresent(String.self, forKey: .serviceNameContains)
before = try container.decodeIfPresent(Date.self, forKey: .before)
after = try container.decodeIfPresent(Date.self, forKey: .after)
periodStartDate = try container.decodeIfPresent(Date.self, forKey: .periodStartDate)
periodEndDate = try container.decodeIfPresent(Date.self, forKey: .periodEndDate)
periodMode = try container.decodeIfPresent(PeriodMode.self, forKey: .periodMode)
orderRequestSucceeded = try container.decodeIfPresent(Bool.self, forKey: .orderRequestSucceeded)
unitOfMeasurement = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurement)
unitOfMeasurementStartsWith = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementStartsWith)
unitOfMeasurementEndsWith = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementEndsWith)
unitOfMeasurementContains = try container.decodeIfPresent(String.self, forKey: .unitOfMeasurementContains)
processType = try container.decodeIfPresent(String.self, forKey: .processType)
processTypeStartsWith = try container.decodeIfPresent(String.self, forKey: .processTypeStartsWith)
processTypeEndsWith = try container.decodeIfPresent(String.self, forKey: .processTypeEndsWith)
processTypeContains = try container.decodeIfPresent(String.self, forKey: .processTypeContains)
dataType = try container.decodeIfPresent(String.self, forKey: .dataType)
dataTypeStartsWith = try container.decodeIfPresent(String.self, forKey: .dataTypeStartsWith)
dataTypeEndsWith = try container.decodeIfPresent(String.self, forKey: .dataTypeEndsWith)
dataTypeContains = try container.decodeIfPresent(String.self, forKey: .dataTypeContains)
dataName = try container.decodeIfPresent(String.self, forKey: .dataName)
dataNameStartsWith = try container.decodeIfPresent(String.self, forKey: .dataNameStartsWith)
dataNameEndsWith = try container.decodeIfPresent(String.self, forKey: .dataNameEndsWith)
dataNameContains = try container.decodeIfPresent(String.self, forKey: .dataNameContains)
skip = try container.decodeIfPresent(Int.self, forKey: .skip)
take = try container.decodeIfPresent(Int.self, forKey: .take)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if userName != nil { try container.encode(userName, forKey: .userName) }
if name != nil { try container.encode(name, forKey: .name) }
if nameStartsWith != nil { try container.encode(nameStartsWith, forKey: .nameStartsWith) }
if nameEndsWith != nil { try container.encode(nameEndsWith, forKey: .nameEndsWith) }
if nameContains != nil { try container.encode(nameContains, forKey: .nameContains) }
if serviceName != nil { try container.encode(serviceName, forKey: .serviceName) }
if serviceNameStartsWith != nil { try container.encode(serviceNameStartsWith, forKey: .serviceNameStartsWith) }
if serviceNameEndsWith != nil { try container.encode(serviceNameEndsWith, forKey: .serviceNameEndsWith) }
if serviceNameContains != nil { try container.encode(serviceNameContains, forKey: .serviceNameContains) }
if before != nil { try container.encode(before, forKey: .before) }
if after != nil { try container.encode(after, forKey: .after) }
if periodStartDate != nil { try container.encode(periodStartDate, forKey: .periodStartDate) }
if periodEndDate != nil { try container.encode(periodEndDate, forKey: .periodEndDate) }
if periodMode != nil { try container.encode(periodMode, forKey: .periodMode) }
if orderRequestSucceeded != nil { try container.encode(orderRequestSucceeded, forKey: .orderRequestSucceeded) }
if unitOfMeasurement != nil { try container.encode(unitOfMeasurement, forKey: .unitOfMeasurement) }
if unitOfMeasurementStartsWith != nil { try container.encode(unitOfMeasurementStartsWith, forKey: .unitOfMeasurementStartsWith) }
if unitOfMeasurementEndsWith != nil { try container.encode(unitOfMeasurementEndsWith, forKey: .unitOfMeasurementEndsWith) }
if unitOfMeasurementContains != nil { try container.encode(unitOfMeasurementContains, forKey: .unitOfMeasurementContains) }
if processType != nil { try container.encode(processType, forKey: .processType) }
if processTypeStartsWith != nil { try container.encode(processTypeStartsWith, forKey: .processTypeStartsWith) }
if processTypeEndsWith != nil { try container.encode(processTypeEndsWith, forKey: .processTypeEndsWith) }
if processTypeContains != nil { try container.encode(processTypeContains, forKey: .processTypeContains) }
if dataType != nil { try container.encode(dataType, forKey: .dataType) }
if dataTypeStartsWith != nil { try container.encode(dataTypeStartsWith, forKey: .dataTypeStartsWith) }
if dataTypeEndsWith != nil { try container.encode(dataTypeEndsWith, forKey: .dataTypeEndsWith) }
if dataTypeContains != nil { try container.encode(dataTypeContains, forKey: .dataTypeContains) }
if dataName != nil { try container.encode(dataName, forKey: .dataName) }
if dataNameStartsWith != nil { try container.encode(dataNameStartsWith, forKey: .dataNameStartsWith) }
if dataNameEndsWith != nil { try container.encode(dataNameEndsWith, forKey: .dataNameEndsWith) }
if dataNameContains != nil { try container.encode(dataNameContains, forKey: .dataNameContains) }
if skip != nil { try container.encode(skip, forKey: .skip) }
if take != nil { try container.encode(take, forKey: .take) }
}
}
/**
* The number of query results to skip.
*/
// @Api(Description="The number of query results to skip.")
public class PaginationBase : IPaginate, Codable
{
/**
* The number of query results to skip.
*/
// @ApiMember(Description="The number of query results to skip.")
public var skip:Int?
/**
* The number of query results to include.
*/
// @ApiMember(Description="The number of query results to include.")
public var take:Int?
required public init(){}
}
/**
* Represents a specific time interval, within which, an action was carried out.
*/
public enum PeriodMode : String, Codable
{
case Today
case Yesterday
case LastWeek
case Last30Days
case Last90Days
case Last180Days
}
/**
* 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.")
public class OrderQueryResponse : QueryResponse<Order>
{
// @DataMember(Order=1)
public var offset:Int
// @DataMember(Order=2)
public var total:Int
// @DataMember(Order=3)
public var results:[Order] = []
// @DataMember(Order=4)
public var meta:[String:String] = [:]
// @DataMember(Order=5)
public var responseStatus:ResponseStatus
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case offset
case total
case results
case meta
case responseStatus
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
offset = try container.decodeIfPresent(Int.self, forKey: .offset)
total = try container.decodeIfPresent(Int.self, forKey: .total)
results = try container.decodeIfPresent([Order].self, forKey: .results) ?? []
meta = try container.decodeIfPresent([String:String].self, forKey: .meta) ?? [:]
responseStatus = try container.decodeIfPresent(ResponseStatus.self, forKey: .responseStatus)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if offset != nil { try container.encode(offset, forKey: .offset) }
if total != nil { try container.encode(total, forKey: .total) }
if results.count > 0 { try container.encode(results, forKey: .results) }
if meta.count > 0 { try container.encode(meta, forKey: .meta) }
if responseStatus != nil { try container.encode(responseStatus, forKey: .responseStatus) }
}
}
/**
* Represents a commission to consume services.
*/
// @Api(Description="Represents a commission to consume services.")
public class Order : IHasName, Codable
{
/**
* The unique identifier of the order.
*/
// @ApiMember(Description="The unique identifier of the order.", IsRequired=true)
public var id:Int
/**
* 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 var productId:Int
/**
* 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 var accountId:Int
/**
* A name to identify the order.
*/
// @ApiMember(Description="A name to identify the order.", IsRequired=true)
// @Validate(Validator="NotEmpty")
public var name:String
/**
* 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 var serviceName:String
/**
* The time stamp at which the order was initiated.
*/
// @ApiMember(Description="The time stamp at which the order was initiated.")
public var requestTimestamp:Date?
/**
* The time stamp at which the order was completed.
*/
// @ApiMember(Description="The time stamp at which the order was completed.")
public var responseTimestamp:Date?
/**
* The URI from which the order was initiated.
*/
// @ApiMember(Description="The URI from which the order was initiated.")
public var requestUri:String
/**
* The HTTP method of the order request.
*/
// @ApiMember(Description="The HTTP method of the order request.")
public var requestHttpMethod:String
/**
* The duration of the order request.
*/
// @ApiMember(Description="The duration of the order request.")
@TimeSpan public var requestDuration:TimeInterval?
/**
* The HTTP status code of the order request.
*/
// @ApiMember(Description="The HTTP status code of the order request.")
public var responseStatusCode:HttpStatusCode
/**
* The IP address of client, who placed the order.
*/
// @ApiMember(Description="The IP address of client, who placed the order.")
public var clientIPAddress:String
/**
* The unit of measurement for the order.
*/
// @ApiMember(Description="The unit of measurement for the order.")
public var unitOfMeasurement:String
/**
* The type of process, for which the order is charged.
*/
// @ApiMember(Description="The type of process, for which the order is charged.")
public var processType:String
/**
* The type of data, for which the order is charged.
*/
// @ApiMember(Description="The type of data, for which the order is charged.")
public var dataType:String
/**
* 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 var dataName:String
/**
* The date of creation of the order.
*/
// @ApiMember(Description="The date of creation of the order.")
public var creationDate:Date
/**
* 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 var expiryDate:Date?
/**
* 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 var isTest:Bool
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .x-msgpack suffix or ?format=x-msgpack
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /sync/orders/search HTTP/1.1 Host: taxfiling.pwc.de Accept: application/x-msgpack
HTTP/1.1 200 OK Content-Type: application/x-msgpack Content-Length: length {"offset":0,"total":0,"results":[{"id":0,"productId":0,"accountId":0,"name":"String","serviceName":"String","requestTimestamp":"\/Date(-62135596800000-0000)\/","responseTimestamp":"\/Date(-62135596800000-0000)\/","requestUri":"String","requestHttpMethod":"String","requestDuration":"PT0S","responseStatusCode":"Continue","clientIPAddress":"String","unitOfMeasurement":"String","processType":"String","dataType":"String","dataName":"String","creationDate":"\/Date(-62135596800000-0000)\/","expiryDate":"\/Date(-62135596800000-0000)\/","isTest":false}],"meta":{"String":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}