/* tslint:disable */
/* eslint-disable */
/**
 * Paystack
 * The OpenAPI specification of the Paystack API that merchants and developers can harness to build financial solutions in Africa.
 *
 * The version of the Paystack Node library: 1.0.0
 * Contact: techsupport@paystack.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { exists, mapValues } from '../runtime';
/**
 * 
 * @export
 * @interface DisputeEvidence
 */
export interface DisputeEvidence {
    /**
     * Customer email
     * @type {string}
     * @memberof DisputeEvidence
     */
    customerEmail: string;
    /**
     * Customer name
     * @type {string}
     * @memberof DisputeEvidence
     */
    customerName: string;
    /**
     * Customer mobile number
     * @type {string}
     * @memberof DisputeEvidence
     */
    customerPhone: string;
    /**
     * Details of service offered
     * @type {string}
     * @memberof DisputeEvidence
     */
    serviceDetails: string;
    /**
     * Delivery address
     * @type {string}
     * @memberof DisputeEvidence
     */
    deliveryAddress?: string;
    /**
     * ISO 8601 representation of delivery date (YYYY-MM-DD)
     * @type {Date}
     * @memberof DisputeEvidence
     */
    deliveryDate?: Date;
}

export function DisputeEvidenceFromJSON(json: any): DisputeEvidence {
    return DisputeEvidenceFromJSONTyped(json, false);
}

export function DisputeEvidenceFromJSONTyped(json: any, ignoreDiscriminator: boolean): DisputeEvidence {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'customerEmail': json['customer_email'],
        'customerName': json['customer_name'],
        'customerPhone': json['customer_phone'],
        'serviceDetails': json['service_details'],
        'deliveryAddress': !exists(json, 'delivery_address') ? undefined : json['delivery_address'],
        'deliveryDate': !exists(json, 'delivery_date') ? undefined : (new Date(json['delivery_date'])),
    };
}

export function DisputeEvidenceToJSON(value?: DisputeEvidence | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'customer_email': value.customerEmail,
        'customer_name': value.customerName,
        'customer_phone': value.customerPhone,
        'service_details': value.serviceDetails,
        'delivery_address': value.deliveryAddress,
        'delivery_date': value.deliveryDate === undefined ? undefined : (value.deliveryDate.toISOString()),
    };
}


