/* Options: Date: 2026-01-27 18:40:02 Version: 8.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://buildmax.org //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ScanSettingsRequest.* //ExcludeTypes: //DefaultImports: */ export enum Brand { Desktop = 'Desktop', Hp = 'Hp', Kyocera = 'Kyocera', NeaScan = 'NeaScan', Samsung = 'Samsung', FujiXerox = 'FujiXerox', Ta = 'Ta', Utax = 'Utax', Epson = 'Epson', ScanFront400 = 'ScanFront400', Sharp = 'Sharp', Ricoh = 'Ricoh', FujiFilm = 'FujiFilm', } export class DtoBase { public Brand: Brand; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RequestBase extends DtoBase { public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export enum ScanColour { BlackAndWhite = 'BlackAndWhite', Greyscale = 'Greyscale', Colour = 'Colour', Auto = 'Auto', } export enum ScanOrientation { Portrait = 'Portrait', Landscape = 'Landscape', } export enum ScanResolution { Dpi100 = 'Dpi100', Dpi200 = 'Dpi200', Dpi300 = 'Dpi300', Dpi400 = 'Dpi400', Dpi600 = 'Dpi600', } export enum ScanSide { Simplex = 'Simplex', Duplex = 'Duplex', } export enum ScanSize { Auto = 'Auto', A3 = 'A3', A4 = 'A4', A5 = 'A5', B4 = 'B4', B5 = 'B5', Letter = 'Letter', Legal = 'Legal', Executive = 'Executive', Folio = 'Folio', AutoLong = 'AutoLong', A4R = 'A4R', A5R = 'A5R', A6R = 'A6R', B6R = 'B6R', } export enum ScanSource { Adf = 'Adf', Glass = 'Glass', Auto = 'Auto', } export enum ScanType { Text = 'Text', Photo = 'Photo', TextAndPhoto = 'TextAndPhoto', } export enum BoolSetting { True = 'True', False = 'False', } export class ResponseBase extends DtoBase { public SelectedUiLanguage: string; public svSession: string; public Title: string; public PageTip: string; public NewBrowser: boolean; public ScanFront400TA: boolean; public ScanFront400UTAX: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export interface IClientQuestion extends ITemplateQuestion { QuestionGuid: string; ValueDisplayed: string; ValueReturned: string; Answered: boolean; RegexMatches: boolean; RegexHint: string; } export interface ITemplateModificationInfo { Guid: string; TemplateModificationDateTime: string; IconModificationDateTime: string; } export enum TemplateType { Workflow = 'Workflow', FreeForm = 'FreeForm', } export enum TemplateScheduleType { Interval = 'Interval', Fixed = 'Fixed', } export interface ITemplateSchedule extends IInterface { Time?: string; EndTime?: string; NoEndTime?: boolean; Type?: TemplateScheduleType; } export interface ICredentials extends IInterface { Username: string; Password: string; } export interface IRejection { RejectAfter?: number; RejectionPath: string; ShareCredentials: ICredentials; } export interface IBadDocumentRejection extends IStatus { RejectionPath: string; ShareCredentials: ICredentials; } export enum PdfLoadResolution { Default = 'Default', Dpi100 = 'Dpi100', Dpi150 = 'Dpi150', Dpi200 = 'Dpi200', Dpi300 = 'Dpi300', Dpi400 = 'Dpi400', Dpi500 = 'Dpi500', Dpi600 = 'Dpi600', } export interface IGeneral extends IInterface { Name: string; Description: string; Icon: string; Schedule: ITemplateSchedule; Rejection: IRejection; BadDocumentRejection: IBadDocumentRejection; PdfLoadResolution?: PdfLoadResolution; } export interface ICaptureSource extends IStatus { } export interface ICapture extends IInterface { CaptureSources: ReadOnlyCollection; } export interface IStringMetadata extends IMetadata { IsSecure?: boolean; SampleValue: string; Value: string; } export interface IXmlMetadataImportTagMapping extends IInterface { XPathExpression: string; Metadata: IStringMetadata; } export interface IXmlMetadataImportNamespaceMapping extends IInterface { Prefix: string; Name: string; } export interface IXmlMetadataImport extends IStatus { SampleDocumentName: string; TagMappings: ReadOnlyCollection; NamespaceMappings: ReadOnlyCollection; } export enum NotificationType { FailureOnly = 'FailureOnly', SuccessOnly = 'SuccessOnly', Always = 'Always', } export interface INotification extends IStatus { Description: string; To: string; Subject: string; Body: string; Cc: string; Bcc: string; NotificationType?: NotificationType; } export interface INotifications extends IStatus { Notifications: ReadOnlyCollection; } export interface IValidationError { Property: string; ErrorMessage: string; } export interface IValidationErrors { Errors: ReadOnlyCollection; } export interface IValidator { ValidationErrors: IValidationErrors; IsValid: boolean; } export interface ITemplate extends IStatus { TemplateVersion: string; ScannerVisionVersion: string; Guid: string; BeginScript: string; EndScript: string; TemplateType: TemplateType; General: IGeneral; Capture: ICapture; XmlMetadataImport: IXmlMetadataImport; Notifications: INotifications; Validator: IValidator; } export interface IClientTemplate { Description: string; Icon: string; ModificationInfo: ITemplateModificationInfo; Name: string; Questions: IClientQuestion[]; Template: ITemplate; TemplateGuid: string; } export class ScanResponseBase extends ResponseBase { public Template: IClientTemplate; public GlobalQuestions: IClientQuestion[]; public CanEnableScanButton: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export enum TemplateQuestionType { Edit = 'Edit', List = 'List', EditList = 'EditList', Browse = 'Browse', Password = 'Password', Date = 'Date', Time = 'Time', Boolean = 'Boolean', Integer = 'Integer', Double = 'Double', BrowseList = 'BrowseList', } export interface ITemplatePicklist extends IStatus { Guid: string; } export interface ITemplateQuestion extends IStatus { TagName: string; Question: string; Tooltip: string; DefaultValue: string; HideDefaultValue?: boolean; Regex: string; Sample: string; QuestionType?: TemplateQuestionType; MinimumSize?: number; MaximumSize?: number; IsRequired?: boolean; Picklist: ITemplatePicklist; } export interface IStatus extends IInterface { Status?: boolean; } export interface IInterface { } export enum DataType { String = 'String', Boolean = 'Boolean', Integer = 'Integer', Double = 'Double', DateTime = 'DateTime', } export interface IMetadata extends IDataTypeInterface { TagName: string; Description: string; } export interface IDataTypeInterface extends IInterface { DataType?: DataType; } export class GetTemplateResponse extends ScanResponseBase { public ServerAddress: string; public ServerPort: number; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/{Brand}/scansettings/{TemplateGuid}", "POST") export class ScanSettingsRequest extends RequestBase implements IReturn { public TemplateGuid: string; public SelectedColour: ScanColour; public SelectedOrientation: ScanOrientation; public SelectedResolution: ScanResolution; public SelectedSides: ScanSide; public SelectedSize: ScanSize; public SelectedSource: ScanSource; public SelectedType: ScanType; public SelectedScanContinuously: BoolSetting; public SelectedMixedSizes: BoolSetting; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'ScanSettingsRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new GetTemplateResponse(); } }