/* Options:
Date: 2025-11-03 21:19:40
Version: 8.40
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://active-ewebservice.biz/aeservices30/api
//GlobalNamespace: 
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddNullableAnnotations: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//InitializeCollections: True
//ExportValueTypes: False
IncludeTypes: PrintDeliveryTicketRequest.*
//ExcludeTypes: 
//AddNamespaces: 
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using AIM.WebService;
namespace AIM.WebService
{
    [DataContract]
    public partial class BaseRequest
    {
        ///
        ///This is your AIM API Key provided by Tri-Tech
        ///
        [DataMember]
        [ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="Header")]
        public virtual string ApiKey { get; set; }
        ///
        ///The OAuthToken token return by AeServices30
        ///
        [DataMember]
        [ApiMember(DataType="string", Description="The OAuthToken token return by AeServices30", IsRequired=true, Name="OAuthToken", ParameterType="Header")]
        public virtual string OAuthToken { get; set; }
        ///
        ///The Device ID of the Mobile Device. Not used for non-mobile devices.
        ///
        [DataMember]
        [ApiMember(DataType="string", Description="The Device ID of the Mobile Device. Not used for non-mobile devices.", Name="DeviceId", ParameterType="Header")]
        public virtual string DeviceId { get; set; }
        ///
        ///An identifier for your integration
        ///
        [DataMember]
        [ApiMember(DataType="string", Description="An identifier for your integration", IsRequired=true, Name="AppId", ParameterType="Header")]
        public virtual string AppId { get; set; }
    }
    [DataContract]
    public partial class BaseResponse
    {
        ///
        ///
        ///
        [DataMember]
        [ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")]
        public virtual BaseResponseResult Status { get; set; }
    }
    [DataContract]
    public partial class BaseSecureRequest
        : BaseRequest
    {
        ///
        ///The Login Token return by the Security API. Required for secured calls.
        ///
        [DataMember]
        [ApiMember(DataType="string", Description="The Login Token return by the Security API. Required for secured calls.", Name="Token", ParameterType="Header")]
        public virtual string Token { get; set; }
    }
    ///
    ///PrintDeliveryTicketRequires active-e Customer Service
    ///
    [Route("/PrintDeliveryTicket", "GET")]
    [DataContract]
    public partial class PrintDeliveryTicketRequest
        : BaseSecureRequest, IReturn
    {
        [DataMember]
        public virtual string Ref { get; set; }
        ///
        ///Can be STREAM, PRINT, or EMAIL. Defaults to STREAM
        ///
        [DataMember]
        [ApiMember(Description="Can be STREAM, PRINT, or EMAIL. Defaults to STREAM", Name="OutputType", ParameterType="query")]
        public virtual string OutputType { get; set; }
        ///
        ///Only applies to OutputTypes of PRINT and EMAIL. The listening workstation to handle the request.
        ///
        [DataMember]
        [ApiMember(Description="Only applies to OutputTypes of PRINT and EMAIL. The listening workstation to handle the request.", Name="OutputWorkstation", ParameterType="query")]
        public virtual int? OutputWorkstation { get; set; }
        ///
        ///Only applies to OutputType of EMAIL. The email address to send to.
        ///
        [DataMember]
        [ApiMember(Description="Only applies to OutputType of EMAIL. The email address to send to.", Name="OutputTo", ParameterType="query")]
        public virtual string OutputTo { get; set; }
        ///
        ///Only applies to employee logins. Customer account of the delivery ticket.
        ///
        [DataMember]
        [ApiMember(Description="Only applies to employee logins. Customer account of the delivery ticket.", Name="CustomerAcct", ParameterType="query")]
        public virtual int? CustomerAcct { get; set; }
    }
    [DataContract]
    public partial class PrintDeliveryTicketResponse
        : BaseResponse
    {
        [DataMember]
        public virtual string PdfStream { get; set; }
        [DataMember]
        public virtual string EmailSubject { get; set; }
        [DataMember]
        public virtual string EmailBody { get; set; }
    }
}