/*
 *                       ######
 *                       ######
 * ############    ####( ######  #####. ######  ############   ############
 * #############  #####( ######  #####. ######  #############  #############
 *        ######  #####( ######  #####. ######  #####  ######  #####  ######
 * ###### ######  #####( ######  #####. ######  #####  #####   #####  ######
 * ###### ######  #####( ######  #####. ######  #####          #####  ######
 * #############  #############  #############  #############  #####  ######
 *  ############   ############  #############   ############  #####  ######
 *                                      ######
 *                               #############
 *                               ############
 * Adyen NodeJS API Library
 * Copyright (c) 2021 Adyen B.V.
 * This file is open source and available under the MIT license.
 * See the LICENSE file for more info.
 */
 
/**
 * Terminal API
 * Definition of Terminal API Schema
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import { SaleProfile } from './saleProfile';

export class SaleTerminalData {
    'SaleCapabilities'?: Array<SaleTerminalData.SaleCapabilitiesEnum>;
    'SaleProfile'?: SaleProfile;
    'TerminalEnvironment'?: SaleTerminalData.TerminalEnvironmentEnum;
    'TotalsGroupID'?: string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "SaleCapabilities",
            "baseName": "SaleCapabilities",
            "type": "Array<SaleTerminalData.SaleCapabilitiesEnum>"
        },
        {
            "name": "SaleProfile",
            "baseName": "SaleProfile",
            "type": "SaleProfile"
        },
        {
            "name": "TerminalEnvironment",
            "baseName": "TerminalEnvironment",
            "type": "SaleTerminalData.TerminalEnvironmentEnum"
        },
        {
            "name": "TotalsGroupID",
            "baseName": "TotalsGroupID",
            "type": "string"
        }    ];

    static getAttributeTypeMap() {
        return SaleTerminalData.attributeTypeMap;
    }
}

export namespace SaleTerminalData {
    export enum SaleCapabilitiesEnum {
        CashierDisplay = <any> 'CashierDisplay',
        CashierError = <any> 'CashierError',
        CashierInput = <any> 'CashierInput',
        CashierStatus = <any> 'CashierStatus',
        CustomerAssistance = <any> 'CustomerAssistance',
        CustomerDisplay = <any> 'CustomerDisplay',
        CustomerError = <any> 'CustomerError',
        CustomerInput = <any> 'CustomerInput',
        EmvContactless = <any> 'EMVContactless',
        Icc = <any> 'ICC',
        MagStripe = <any> 'MagStripe',
        PoiReplication = <any> 'POIReplication',
        PrinterDocument = <any> 'PrinterDocument',
        PrinterReceipt = <any> 'PrinterReceipt',
        PrinterVoucher = <any> 'PrinterVoucher'
    }
    export enum TerminalEnvironmentEnum {
        Attended = <any> 'Attended',
        SemiAttended = <any> 'SemiAttended',
        Unattended = <any> 'Unattended'
    }
}
