/* Options:
Date: 2025-05-30 23:30:26
Version: 8.40
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://active-ewebservice.biz/aeservices30/api

//Package: 
//GlobalNamespace: dtos
//AddPropertyAccessors: True
//SettersReturnThis: True
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddDescriptionAsComments: True
//AddImplicitVersion: 
IncludeTypes: DeliveryTicketsPostRequest.*
//ExcludeTypes: 
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
*/

import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    /**
    * DeliveryTicketsRequires active-e 3rd Party E-Commerce or active-e Vortx E-Commerce.
    */
    @Route(Path="/DeliveryTickets", Verbs="POST")
    @DataContract
    public static class DeliveryTicketsPostRequest extends BaseSecureRequest implements IReturn<DeliveryTicketsResponse>
    {
        @DataMember
        public ArrayList<DeliveryTicketItem> DeliveryTickets = null;
        
        public ArrayList<DeliveryTicketItem> getDeliveryTickets() { return DeliveryTickets; }
        public DeliveryTicketsPostRequest setDeliveryTickets(ArrayList<DeliveryTicketItem> value) { this.DeliveryTickets = value; return this; }
        private static Object responseType = DeliveryTicketsResponse.class;
        public Object getResponseType() { return responseType; }
    }

    @DataContract
    public static class DeliveryTicketsResponse extends BaseResponse
    {
        @DataMember
        public ArrayList<DeliveryTicket> Tickets = null;
        
        public ArrayList<DeliveryTicket> getTickets() { return Tickets; }
        public DeliveryTicketsResponse setTickets(ArrayList<DeliveryTicket> value) { this.Tickets = value; return this; }
    }

    @DataContract
    public static 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 String ApiKey = null;

        @DataMember
        @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
        public String OAuthToken = null;
        
        public String getApiKey() { return ApiKey; }
        public BaseRequest setApiKey(String value) { this.ApiKey = value; return this; }
        public String getOAuthToken() { return OAuthToken; }
        public BaseRequest setOAuthToken(String value) { this.OAuthToken = value; return this; }
    }

    @DataContract
    public static class BaseSecureRequest extends BaseRequest
    {
        /**
        * 
        */
        @DataMember
        @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
        public String Token = null;

        /**
        * 
        */
        @DataMember
        @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
        public String DeviceId = null;

        /**
        * 
        */
        @DataMember
        @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
        public String AppId = null;
        
        public String getToken() { return Token; }
        public BaseSecureRequest setToken(String value) { this.Token = value; return this; }
        public String getDeviceId() { return DeviceId; }
        public BaseSecureRequest setDeviceId(String value) { this.DeviceId = value; return this; }
        public String getAppId() { return AppId; }
        public BaseSecureRequest setAppId(String value) { this.AppId = value; return this; }
    }

    @DataContract
    public static class DeliveryTicketItem
    {
        @DataMember
        public String RefNumber = null;

        @DataMember
        public Boolean Delivered = null;

        @DataMember
        public ArrayList<Base64Image> Images = null;

        @DataMember
        public String Base64Signature = null;

        @DataMember
        public ArrayList<String> ImagesToDelete = null;

        @DataMember
        public String Notes = null;

        @DataMember
        public BigDecimal Longitude = null;

        @DataMember
        public BigDecimal Latitude = null;
        
        public String getRefNumber() { return RefNumber; }
        public DeliveryTicketItem setRefNumber(String value) { this.RefNumber = value; return this; }
        public Boolean isDelivered() { return Delivered; }
        public DeliveryTicketItem setDelivered(Boolean value) { this.Delivered = value; return this; }
        public ArrayList<Base64Image> getImages() { return Images; }
        public DeliveryTicketItem setImages(ArrayList<Base64Image> value) { this.Images = value; return this; }
        public String getBase64Signature() { return Base64Signature; }
        public DeliveryTicketItem setBase64Signature(String value) { this.Base64Signature = value; return this; }
        public ArrayList<String> getImagesToDelete() { return ImagesToDelete; }
        public DeliveryTicketItem setImagesToDelete(ArrayList<String> value) { this.ImagesToDelete = value; return this; }
        public String getNotes() { return Notes; }
        public DeliveryTicketItem setNotes(String value) { this.Notes = value; return this; }
        public BigDecimal getLongitude() { return Longitude; }
        public DeliveryTicketItem setLongitude(BigDecimal value) { this.Longitude = value; return this; }
        public BigDecimal getLatitude() { return Latitude; }
        public DeliveryTicketItem setLatitude(BigDecimal value) { this.Latitude = value; return this; }
    }

    @DataContract
    public static class DeliveryTicket
    {
        @DataMember
        public String RefNumber = null;

        @DataMember
        public Date Date = null;

        @DataMember
        public Integer AccountNumber = null;

        @DataMember
        public String Name = null;

        @DataMember
        public String Address = null;

        @DataMember
        public String Address2 = null;

        @DataMember
        public String City = null;

        @DataMember
        public String State = null;

        @DataMember
        public String ZipCode = null;

        @DataMember
        public String Student = null;

        @DataMember
        public String Contact = null;

        @DataMember
        public Boolean Delivered = null;

        @DataMember
        public String District = null;

        @DataMember
        public String School = null;

        @DataMember
        public String DeliveryEmployee = null;

        @DataMember
        public String TimeFrame = null;

        @DataMember
        public Date CreatedDate = null;

        @DataMember
        public ArrayList<DependentAttribute> DependentAttributes = null;

        @DataMember
        public String TicketType = null;

        @DataMember
        public Boolean HasImages = null;

        @DataMember
        public Boolean HasSignature = null;

        @DataMember
        public String Base64Signature = null;

        @DataMember
        public String Notes = null;

        @DataMember
        public ArrayList<Base64Image> Images = null;

        @DataMember
        public ArrayList<DeliveryItem> DeliveryItems = null;
        
        public String getRefNumber() { return RefNumber; }
        public DeliveryTicket setRefNumber(String value) { this.RefNumber = value; return this; }
        public Date getDate() { return Date; }
        public DeliveryTicket setDate(Date value) { this.Date = value; return this; }
        public Integer getAccountNumber() { return AccountNumber; }
        public DeliveryTicket setAccountNumber(Integer value) { this.AccountNumber = value; return this; }
        public String getName() { return Name; }
        public DeliveryTicket setName(String value) { this.Name = value; return this; }
        public String getAddress() { return Address; }
        public DeliveryTicket setAddress(String value) { this.Address = value; return this; }
        public String getAddress2() { return Address2; }
        public DeliveryTicket setAddress2(String value) { this.Address2 = value; return this; }
        public String getCity() { return City; }
        public DeliveryTicket setCity(String value) { this.City = value; return this; }
        public String getState() { return State; }
        public DeliveryTicket setState(String value) { this.State = value; return this; }
        public String getZipCode() { return ZipCode; }
        public DeliveryTicket setZipCode(String value) { this.ZipCode = value; return this; }
        public String getStudent() { return Student; }
        public DeliveryTicket setStudent(String value) { this.Student = value; return this; }
        public String getContact() { return Contact; }
        public DeliveryTicket setContact(String value) { this.Contact = value; return this; }
        public Boolean isDelivered() { return Delivered; }
        public DeliveryTicket setDelivered(Boolean value) { this.Delivered = value; return this; }
        public String getDistrict() { return District; }
        public DeliveryTicket setDistrict(String value) { this.District = value; return this; }
        public String getSchool() { return School; }
        public DeliveryTicket setSchool(String value) { this.School = value; return this; }
        public String getDeliveryEmployee() { return DeliveryEmployee; }
        public DeliveryTicket setDeliveryEmployee(String value) { this.DeliveryEmployee = value; return this; }
        public String getTimeFrame() { return TimeFrame; }
        public DeliveryTicket setTimeFrame(String value) { this.TimeFrame = value; return this; }
        public Date getCreatedDate() { return CreatedDate; }
        public DeliveryTicket setCreatedDate(Date value) { this.CreatedDate = value; return this; }
        public ArrayList<DependentAttribute> getDependentAttributes() { return DependentAttributes; }
        public DeliveryTicket setDependentAttributes(ArrayList<DependentAttribute> value) { this.DependentAttributes = value; return this; }
        public String getTicketType() { return TicketType; }
        public DeliveryTicket setTicketType(String value) { this.TicketType = value; return this; }
        public Boolean isHasImages() { return HasImages; }
        public DeliveryTicket setHasImages(Boolean value) { this.HasImages = value; return this; }
        public Boolean isHasSignature() { return HasSignature; }
        public DeliveryTicket setHasSignature(Boolean value) { this.HasSignature = value; return this; }
        public String getBase64Signature() { return Base64Signature; }
        public DeliveryTicket setBase64Signature(String value) { this.Base64Signature = value; return this; }
        public String getNotes() { return Notes; }
        public DeliveryTicket setNotes(String value) { this.Notes = value; return this; }
        public ArrayList<Base64Image> getImages() { return Images; }
        public DeliveryTicket setImages(ArrayList<Base64Image> value) { this.Images = value; return this; }
        public ArrayList<DeliveryItem> getDeliveryItems() { return DeliveryItems; }
        public DeliveryTicket setDeliveryItems(ArrayList<DeliveryItem> value) { this.DeliveryItems = value; return this; }
    }

    @DataContract
    public static class Base64Image
    {
        @DataMember
        public String Data = null;

        @DataMember
        public String FileName = null;
        
        public String getData() { return Data; }
        public Base64Image setData(String value) { this.Data = value; return this; }
        public String getFileName() { return FileName; }
        public Base64Image setFileName(String value) { this.FileName = value; return this; }
    }

    @DataContract
    public static class DependentAttribute
    {
        @DataMember
        public String Attribute = null;

        @DataMember
        public String AttributeValue = null;
        
        public String getAttribute() { return Attribute; }
        public DependentAttribute setAttribute(String value) { this.Attribute = value; return this; }
        public String getAttributeValue() { return AttributeValue; }
        public DependentAttribute setAttributeValue(String value) { this.AttributeValue = value; return this; }
    }

    @DataContract
    public static class DeliveryItem
    {
        @DataMember
        public BigDecimal Quantity = null;

        @DataMember
        public String Item = null;

        @DataMember
        public String Description = null;
        
        public BigDecimal getQuantity() { return Quantity; }
        public DeliveryItem setQuantity(BigDecimal value) { this.Quantity = value; return this; }
        public String getItem() { return Item; }
        public DeliveryItem setItem(String value) { this.Item = value; return this; }
        public String getDescription() { return Description; }
        public DeliveryItem setDescription(String value) { this.Description = value; return this; }
    }

    @DataContract
    public static class BaseResponse
    {
        /**
        * 
        */
        @DataMember
        @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
        public BaseResponseResult Status = null;
        
        public BaseResponseResult getStatus() { return Status; }
        public BaseResponse setStatus(BaseResponseResult value) { this.Status = value; return this; }
    }

}