/* Options:
Date: 2025-05-24 08:14:16
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: C2BGetUnfinishedContractsRequest.*
//ExcludeTypes: 
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
*/

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

public class dtos
{

    /**
    * C2BGetUnfinishedContractsRequires active-e Contracts Service.
    */
    @Route(Path="/C2BGetUnfinishedContracts", Verbs="GET")
    @DataContract
    public static class C2BGetUnfinishedContractsRequest extends BaseSecureRequest implements IReturn<C2BGetUnfinishedContractsResponse>
    {
        @DataMember
        public String Type = null;

        @DataMember
        public Integer StartOffset = null;

        @DataMember
        public Integer RecordCount = null;

        @DataMember
        public String SearchStr = null;

        @DataMember
        public Boolean IncludeContractsEnteredByOtherUsers = null;

        @DataMember
        public Long DistrictId = null;

        @DataMember
        public Long SchoolId = null;

        @DataMember
        public Long TeacherId = null;

        @DataMember
        public String DeliveryDesc = null;

        @DataMember
        public String Status = null;
        
        public String getType() { return Type; }
        public C2BGetUnfinishedContractsRequest setType(String value) { this.Type = value; return this; }
        public Integer getStartOffset() { return StartOffset; }
        public C2BGetUnfinishedContractsRequest setStartOffset(Integer value) { this.StartOffset = value; return this; }
        public Integer getRecordCount() { return RecordCount; }
        public C2BGetUnfinishedContractsRequest setRecordCount(Integer value) { this.RecordCount = value; return this; }
        public String getSearchStr() { return SearchStr; }
        public C2BGetUnfinishedContractsRequest setSearchStr(String value) { this.SearchStr = value; return this; }
        public Boolean isIncludeContractsEnteredByOtherUsers() { return IncludeContractsEnteredByOtherUsers; }
        public C2BGetUnfinishedContractsRequest setIncludeContractsEnteredByOtherUsers(Boolean value) { this.IncludeContractsEnteredByOtherUsers = value; return this; }
        public Long getDistrictId() { return DistrictId; }
        public C2BGetUnfinishedContractsRequest setDistrictId(Long value) { this.DistrictId = value; return this; }
        public Long getSchoolId() { return SchoolId; }
        public C2BGetUnfinishedContractsRequest setSchoolId(Long value) { this.SchoolId = value; return this; }
        public Long getTeacherId() { return TeacherId; }
        public C2BGetUnfinishedContractsRequest setTeacherId(Long value) { this.TeacherId = value; return this; }
        public String getDeliveryDesc() { return DeliveryDesc; }
        public C2BGetUnfinishedContractsRequest setDeliveryDesc(String value) { this.DeliveryDesc = value; return this; }
        public String getStatus() { return Status; }
        public C2BGetUnfinishedContractsRequest setStatus(String value) { this.Status = value; return this; }
        private static Object responseType = C2BGetUnfinishedContractsResponse.class;
        public Object getResponseType() { return responseType; }
    }

    @DataContract
    public static class C2BGetUnfinishedContractsResponse extends BaseResponse
    {
        @DataMember
        public ArrayList<UnfinishedContract> UnfinishedContracts = null;

        @DataMember
        public String Topic = null;

        @DataMember
        public String BaseUrl = null;
        
        public ArrayList<UnfinishedContract> getUnfinishedContracts() { return UnfinishedContracts; }
        public C2BGetUnfinishedContractsResponse setUnfinishedContracts(ArrayList<UnfinishedContract> value) { this.UnfinishedContracts = value; return this; }
        public String getTopic() { return Topic; }
        public C2BGetUnfinishedContractsResponse setTopic(String value) { this.Topic = value; return this; }
        public String getBaseUrl() { return BaseUrl; }
        public C2BGetUnfinishedContractsResponse setBaseUrl(String value) { this.BaseUrl = 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 LocationInfo
    {
        @DataMember
        public Long Id = null;

        @DataMember
        public String Desc = null;

        @DataMember
        public String ShortDesc = null;

        @DataMember
        public String Region = null;

        @DataMember
        public BigDecimal Latitude = null;

        @DataMember
        public BigDecimal Longitude = null;

        @DataMember
        public String InStorePickup = null;

        @DataMember
        public Boolean Active = null;

        @DataMember
        public Integer CashSaleAcct = null;
        
        public Long getId() { return Id; }
        public LocationInfo setId(Long value) { this.Id = value; return this; }
        public String getDesc() { return Desc; }
        public LocationInfo setDesc(String value) { this.Desc = value; return this; }
        public String getShortDesc() { return ShortDesc; }
        public LocationInfo setShortDesc(String value) { this.ShortDesc = value; return this; }
        public String getRegion() { return Region; }
        public LocationInfo setRegion(String value) { this.Region = value; return this; }
        public BigDecimal getLatitude() { return Latitude; }
        public LocationInfo setLatitude(BigDecimal value) { this.Latitude = value; return this; }
        public BigDecimal getLongitude() { return Longitude; }
        public LocationInfo setLongitude(BigDecimal value) { this.Longitude = value; return this; }
        public String getInStorePickup() { return InStorePickup; }
        public LocationInfo setInStorePickup(String value) { this.InStorePickup = value; return this; }
        public Boolean isActive() { return Active; }
        public LocationInfo setActive(Boolean value) { this.Active = value; return this; }
        public Integer getCashSaleAcct() { return CashSaleAcct; }
        public LocationInfo setCashSaleAcct(Integer value) { this.CashSaleAcct = value; return this; }
    }

    @DataContract
    public static class UnfinishedContract
    {
        @DataMember
        public String CustomerName = null;

        @DataMember
        public Integer CustomerAcct = null;

        @DataMember
        public String StudentName = null;

        @DataMember
        public String Ref = null;

        @DataMember
        public Date DateTime = null;

        @DataMember
        public LocationInfo Location = null;

        @DataMember
        public String District = null;

        @DataMember
        public String School = null;

        @DataMember
        public String Teacher = null;

        @DataMember
        public String Instrument = null;

        @DataMember
        public String Status = null;

        @DataMember
        public String Notes = null;

        @DataMember
        public String LockedBy = null;

        @DataMember
        public String InstrumentGrade = null;

        @DataMember
        public String Serial = null;

        @DataMember
        public String Salesperson = null;

        @DataMember
        public String WebNotes = null;

        @DataMember
        public String Email = null;

        @DataMember
        public String Phone = null;

        @DataMember
        public Date DeliveryDate = null;

        @DataMember
        public Date FirstDue = null;

        @DataMember
        public ArrayList<C2BAccessory> Accessories = null;

        @DataMember
        public BigDecimal DownPay = null;

        @DataMember
        public BigDecimal MonthlyPay = null;

        @DataMember
        public BigDecimal DownMaint = null;

        @DataMember
        public BigDecimal MonthlyMaint = null;

        @DataMember
        public BigDecimal DownLease = null;

        @DataMember
        public BigDecimal MonthlyLease = null;

        @DataMember
        public BigDecimal DownTotal = null;

        @DataMember
        public String Address = null;

        @DataMember
        public String Address2 = null;

        @DataMember
        public String City = null;

        @DataMember
        public String State = null;

        @DataMember
        public String Zip = null;

        @DataMember
        public String Country = null;

        @DataMember
        public Boolean InvoiceCreated = null;

        @DataMember
        public Boolean ContractCreated = null;
        
        public String getCustomerName() { return CustomerName; }
        public UnfinishedContract setCustomerName(String value) { this.CustomerName = value; return this; }
        public Integer getCustomerAcct() { return CustomerAcct; }
        public UnfinishedContract setCustomerAcct(Integer value) { this.CustomerAcct = value; return this; }
        public String getStudentName() { return StudentName; }
        public UnfinishedContract setStudentName(String value) { this.StudentName = value; return this; }
        public String getRef() { return Ref; }
        public UnfinishedContract setRef(String value) { this.Ref = value; return this; }
        public Date getDateTime() { return DateTime; }
        public UnfinishedContract setDateTime(Date value) { this.DateTime = value; return this; }
        public LocationInfo getLocation() { return Location; }
        public UnfinishedContract setLocation(LocationInfo value) { this.Location = value; return this; }
        public String getDistrict() { return District; }
        public UnfinishedContract setDistrict(String value) { this.District = value; return this; }
        public String getSchool() { return School; }
        public UnfinishedContract setSchool(String value) { this.School = value; return this; }
        public String getTeacher() { return Teacher; }
        public UnfinishedContract setTeacher(String value) { this.Teacher = value; return this; }
        public String getInstrument() { return Instrument; }
        public UnfinishedContract setInstrument(String value) { this.Instrument = value; return this; }
        public String getStatus() { return Status; }
        public UnfinishedContract setStatus(String value) { this.Status = value; return this; }
        public String getNotes() { return Notes; }
        public UnfinishedContract setNotes(String value) { this.Notes = value; return this; }
        public String getLockedBy() { return LockedBy; }
        public UnfinishedContract setLockedBy(String value) { this.LockedBy = value; return this; }
        public String getInstrumentGrade() { return InstrumentGrade; }
        public UnfinishedContract setInstrumentGrade(String value) { this.InstrumentGrade = value; return this; }
        public String getSerial() { return Serial; }
        public UnfinishedContract setSerial(String value) { this.Serial = value; return this; }
        public String getSalesperson() { return Salesperson; }
        public UnfinishedContract setSalesperson(String value) { this.Salesperson = value; return this; }
        public String getWebNotes() { return WebNotes; }
        public UnfinishedContract setWebNotes(String value) { this.WebNotes = value; return this; }
        public String getEmail() { return Email; }
        public UnfinishedContract setEmail(String value) { this.Email = value; return this; }
        public String getPhone() { return Phone; }
        public UnfinishedContract setPhone(String value) { this.Phone = value; return this; }
        public Date getDeliveryDate() { return DeliveryDate; }
        public UnfinishedContract setDeliveryDate(Date value) { this.DeliveryDate = value; return this; }
        public Date getFirstDue() { return FirstDue; }
        public UnfinishedContract setFirstDue(Date value) { this.FirstDue = value; return this; }
        public ArrayList<C2BAccessory> getAccessories() { return Accessories; }
        public UnfinishedContract setAccessories(ArrayList<C2BAccessory> value) { this.Accessories = value; return this; }
        public BigDecimal getDownPay() { return DownPay; }
        public UnfinishedContract setDownPay(BigDecimal value) { this.DownPay = value; return this; }
        public BigDecimal getMonthlyPay() { return MonthlyPay; }
        public UnfinishedContract setMonthlyPay(BigDecimal value) { this.MonthlyPay = value; return this; }
        public BigDecimal getDownMaint() { return DownMaint; }
        public UnfinishedContract setDownMaint(BigDecimal value) { this.DownMaint = value; return this; }
        public BigDecimal getMonthlyMaint() { return MonthlyMaint; }
        public UnfinishedContract setMonthlyMaint(BigDecimal value) { this.MonthlyMaint = value; return this; }
        public BigDecimal getDownLease() { return DownLease; }
        public UnfinishedContract setDownLease(BigDecimal value) { this.DownLease = value; return this; }
        public BigDecimal getMonthlyLease() { return MonthlyLease; }
        public UnfinishedContract setMonthlyLease(BigDecimal value) { this.MonthlyLease = value; return this; }
        public BigDecimal getDownTotal() { return DownTotal; }
        public UnfinishedContract setDownTotal(BigDecimal value) { this.DownTotal = value; return this; }
        public String getAddress() { return Address; }
        public UnfinishedContract setAddress(String value) { this.Address = value; return this; }
        public String getAddress2() { return Address2; }
        public UnfinishedContract setAddress2(String value) { this.Address2 = value; return this; }
        public String getCity() { return City; }
        public UnfinishedContract setCity(String value) { this.City = value; return this; }
        public String getState() { return State; }
        public UnfinishedContract setState(String value) { this.State = value; return this; }
        public String getZip() { return Zip; }
        public UnfinishedContract setZip(String value) { this.Zip = value; return this; }
        public String getCountry() { return Country; }
        public UnfinishedContract setCountry(String value) { this.Country = value; return this; }
        public Boolean isInvoiceCreated() { return InvoiceCreated; }
        public UnfinishedContract setInvoiceCreated(Boolean value) { this.InvoiceCreated = value; return this; }
        public Boolean isContractCreated() { return ContractCreated; }
        public UnfinishedContract setContractCreated(Boolean value) { this.ContractCreated = value; return this; }
    }

    @DataContract
    public static class C2BAccessory
    {
        @DataMember
        public Long Id = null;

        @DataMember
        public String Description = null;

        @DataMember
        public BigDecimal Price = null;

        @DataMember
        public String Type = null;

        @DataMember
        public String Sku = null;

        @DataMember
        public Integer Category = null;

        @DataMember
        public Boolean Delivered = null;
        
        public Long getId() { return Id; }
        public C2BAccessory setId(Long value) { this.Id = value; return this; }
        public String getDescription() { return Description; }
        public C2BAccessory setDescription(String value) { this.Description = value; return this; }
        public BigDecimal getPrice() { return Price; }
        public C2BAccessory setPrice(BigDecimal value) { this.Price = value; return this; }
        public String getType() { return Type; }
        public C2BAccessory setType(String value) { this.Type = value; return this; }
        public String getSku() { return Sku; }
        public C2BAccessory setSku(String value) { this.Sku = value; return this; }
        public Integer getCategory() { return Category; }
        public C2BAccessory setCategory(Integer value) { this.Category = value; return this; }
        public Boolean isDelivered() { return Delivered; }
        public C2BAccessory setDelivered(Boolean value) { this.Delivered = 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; }
    }

}