/* tslint:disable */
/* eslint-disable */
/**
 * Ringer Business API
 * This API provides comprehensive endpoints for the Ringer Business system. It includes functionality for managing customer accounts, addresses, sites,  phone numbers, payments, users, and other business resources.  Operations typically require authentication and appropriate permissions. 
 *
 * The version of the OpenAPI document: 1.0.5
 * Contact: support@ringer.tel
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { mapValues } from '../runtime';
/**
 * Represents a potential call destination or failover point.
 * @export
 * @interface SchemasSiteDestination
 */
export interface SchemasSiteDestination {
    /**
     * A human-readable name for the destination.
     * @type {string}
     * @memberof SchemasSiteDestination
     */
    name: string;
    /**
     * A system-usable code or identifier for the destination.
     * @type {string}
     * @memberof SchemasSiteDestination
     */
    code: string;
}

/**
 * Check if a given object implements the SchemasSiteDestination interface.
 */
export function instanceOfSchemasSiteDestination(value: object): value is SchemasSiteDestination {
    if (!('name' in value) || value['name'] === undefined) return false;
    if (!('code' in value) || value['code'] === undefined) return false;
    return true;
}

export function SchemasSiteDestinationFromJSON(json: any): SchemasSiteDestination {
    return SchemasSiteDestinationFromJSONTyped(json, false);
}

export function SchemasSiteDestinationFromJSONTyped(json: any, ignoreDiscriminator: boolean): SchemasSiteDestination {
    if (json == null) {
        return json;
    }
    return {
        
        'name': json['name'],
        'code': json['code'],
    };
}

export function SchemasSiteDestinationToJSON(json: any): SchemasSiteDestination {
    return SchemasSiteDestinationToJSONTyped(json, false);
}

export function SchemasSiteDestinationToJSONTyped(value?: SchemasSiteDestination | null, ignoreDiscriminator: boolean = false): any {
    if (value == null) {
        return value;
    }

    return {
        
        'name': value['name'],
        'code': value['code'],
    };
}

