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

//GlobalNamespace: 
//MakePropertiesOptional: False
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: C2BSetContractCustomerRequest.*
//ExcludeTypes: 
//DefaultImports: 
*/


export interface IReturn<T>
{
    createResponse(): T;
}

// @DataContract
export class BaseRequest
{
    /** @description 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 ApiKey: string;

    // @DataMember
    // @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
    public OAuthToken: string;

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

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

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

    /** @description  */
    // @DataMember
    // @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
    public AppId: string;

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

// @DataContract
export class BaseResponse
{
    /** @description  */
    // @DataMember
    // @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
    public Status: BaseResponseResult;

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

// @DataContract
export class C2BSetContractCustomerResponse extends BaseResponse
{

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

/** @description C2BSetContractCustomerRequires active-e Contracts Service. */
// @Route("/C2BSetContractCustomer", "POST")
// @DataContract
export class C2BSetContractCustomerRequest extends BaseSecureRequest implements IReturn<C2BSetContractCustomerResponse>
{
    // @DataMember
    public WebRef: string;

    // @DataMember
    public Acct: number;

    public constructor(init?: Partial<C2BSetContractCustomerRequest>) { super(init); (Object as any).assign(this, init); }
    public getTypeName() { return 'C2BSetContractCustomerRequest'; }
    public getMethod() { return 'POST'; }
    public createResponse() { return new C2BSetContractCustomerResponse(); }
}