
/**
 * holiday-watchdog-api
 *
 * This file was automatically generated for Holiday Watchdog by APIMATIC v2.0 ( https://apimatic.io ) on 01/16/2017
 */
var BaseModel = require("./BaseModel");
/**
 * Creates an instance of Accommodation
 *
 * @constructor
 */
Accommodation = function (obj) {
    if(!obj) {
        this.id = null;     
        this.source = null;     
        this.locationId = null;     
        this.name = null;     
        this.totalRatings = null;     
        this.averageRating = null;     
        this.stars = null;     
        this.typeId = null;     
        this.metaNoIndex = null;     
        this.ownerId = null;     
        this.tripId = null;     
        this.address1 = null;     
        this.address2 = null;     
        this.postcode = null;     
        this.telephone = null;     
        this.url = null;     
        this.description = null;     
        this.longitude = null;     
        this.latitude = null;     
        this.numRooms = null;     
        this.redirectAccommodationId = null;     
        this.redirectId = null;     
        this.pageUrl = null;     
        this.binaryOptions = null;     
        this.descOverview = null;     
        this.descRoomInformation = null;     
        this.descFacilities = null;     
        this.descFoodDrink = null;     
        this.dateCreated = null;     
        this.dateUpdated = null;     
        this.dateRemoved = null;     
        //Append to variable dictionary
        this._variableDict['locationId'] = 'location_id';
        this._variableDict['totalRatings'] = 'total_ratings';
        this._variableDict['averageRating'] = 'average_rating';
        this._variableDict['typeId'] = 'type_id';
        this._variableDict['metaNoIndex'] = 'meta_no_index';
        this._variableDict['ownerId'] = 'owner_id';
        this._variableDict['tripId'] = 'trip_id';
        this._variableDict['numRooms'] = 'num_rooms';
        this._variableDict['redirectAccommodationId'] = 'redirect_accommodation_id';
        this._variableDict['redirectId'] = 'redirect_id';
        this._variableDict['pageUrl'] = 'page_url';
        this._variableDict['binaryOptions'] = 'binary_options';
        this._variableDict['descOverview'] = 'desc_overview';
        this._variableDict['descRoomInformation'] = 'desc_room_information';
        this._variableDict['descFacilities'] = 'desc_facilities';
        this._variableDict['descFoodDrink'] = 'desc_food_drink';
        this._variableDict['dateCreated'] = 'date_created';
        this._variableDict['dateUpdated'] = 'date_updated';
        this._variableDict['dateRemoved'] = 'date_removed';
    } else {
        this.id = (obj.id !== undefined && obj.id !== null)? obj.id : null;
        this.source = (obj.source !== undefined && obj.source !== null)? obj.source : null;
        this.locationId = (obj.location_id !== undefined && obj.location_id !== null)? obj.location_id : null;
        this.name = (obj.name !== undefined && obj.name !== null)? obj.name : null;
        this.totalRatings = (obj.total_ratings !== undefined && obj.total_ratings !== null)? obj.total_ratings : null;
        this.averageRating = (obj.average_rating !== undefined && obj.average_rating !== null)? obj.average_rating : null;
        this.stars = (obj.stars !== undefined && obj.stars !== null)? obj.stars : null;
        this.typeId = (obj.type_id !== undefined && obj.type_id !== null)? obj.type_id : null;
        this.metaNoIndex = (obj.meta_no_index !== undefined && obj.meta_no_index !== null)? obj.meta_no_index : null;
        this.ownerId = (obj.owner_id !== undefined && obj.owner_id !== null)? obj.owner_id : null;
        this.tripId = (obj.trip_id !== undefined && obj.trip_id !== null)? obj.trip_id : null;
        this.address1 = (obj.address1 !== undefined && obj.address1 !== null)? obj.address1 : null;
        this.address2 = (obj.address2 !== undefined && obj.address2 !== null)? obj.address2 : null;
        this.postcode = (obj.postcode !== undefined && obj.postcode !== null)? obj.postcode : null;
        this.telephone = (obj.telephone !== undefined && obj.telephone !== null)? obj.telephone : null;
        this.url = (obj.url !== undefined && obj.url !== null)? obj.url : null;
        this.description = (obj.description !== undefined && obj.description !== null)? obj.description : null;
        this.longitude = (obj.longitude !== undefined && obj.longitude !== null)? obj.longitude : null;
        this.latitude = (obj.latitude !== undefined && obj.latitude !== null)? obj.latitude : null;
        this.numRooms = (obj.num_rooms !== undefined && obj.num_rooms !== null)? obj.num_rooms : null;
        this.redirectAccommodationId = (obj.redirect_accommodation_id !== undefined && obj.redirect_accommodation_id !== null)? obj.redirect_accommodation_id : null;
        this.redirectId = (obj.redirect_id !== undefined && obj.redirect_id !== null)? obj.redirect_id : null;
        this.pageUrl = (obj.page_url !== undefined && obj.page_url !== null)? obj.page_url : null;
        this.binaryOptions = (obj.binary_options !== undefined && obj.binary_options !== null)? obj.binary_options : null;
        this.descOverview = (obj.desc_overview !== undefined && obj.desc_overview !== null)? obj.desc_overview : null;
        this.descRoomInformation = (obj.desc_room_information !== undefined && obj.desc_room_information !== null)? obj.desc_room_information : null;
        this.descFacilities = (obj.desc_facilities !== undefined && obj.desc_facilities !== null)? obj.desc_facilities : null;
        this.descFoodDrink = (obj.desc_food_drink !== undefined && obj.desc_food_drink !== null)? obj.desc_food_drink : null;
        this.dateCreated = (obj.date_created !==undefined && obj.date_created !==null)? new Date(obj.date_created) : null;
        this.dateUpdated = (obj.date_updated !==undefined && obj.date_updated !==null)? new Date(obj.date_updated) : null;
        this.dateRemoved = (obj.date_removed !==undefined && obj.date_removed !==null)? new Date(obj.date_removed) : null;
        //Append to variable dictionary
        this._variableDict['locationId'] = 'location_id';
        this._variableDict['totalRatings'] = 'total_ratings';
        this._variableDict['averageRating'] = 'average_rating';
        this._variableDict['typeId'] = 'type_id';
        this._variableDict['metaNoIndex'] = 'meta_no_index';
        this._variableDict['ownerId'] = 'owner_id';
        this._variableDict['tripId'] = 'trip_id';
        this._variableDict['numRooms'] = 'num_rooms';
        this._variableDict['redirectAccommodationId'] = 'redirect_accommodation_id';
        this._variableDict['redirectId'] = 'redirect_id';
        this._variableDict['pageUrl'] = 'page_url';
        this._variableDict['binaryOptions'] = 'binary_options';
        this._variableDict['descOverview'] = 'desc_overview';
        this._variableDict['descRoomInformation'] = 'desc_room_information';
        this._variableDict['descFacilities'] = 'desc_facilities';
        this._variableDict['descFoodDrink'] = 'desc_food_drink';
        this._variableDict['dateCreated'] = 'date_created';
        this._variableDict['dateUpdated'] = 'date_updated';
        this._variableDict['dateRemoved'] = 'date_removed';
    }
};

Accommodation.prototype = new BaseModel();
Accommodation.prototype.constructor = Accommodation;

/**
 * TODO: Write general description for this method
 *
 * @return {double}
 */
Accommodation.prototype.getId = function() {
    return this.id;
};

/**
 * Setter for Id
 * 
 * @param {double} value 
 */
Accommodation.prototype.setId = function(value) {
    this.id = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string}
 */
Accommodation.prototype.getSource = function() {
    return this.source;
};

/**
 * Setter for Source
 * 
 * @param {string} value 
 */
Accommodation.prototype.setSource = function(value) {
    this.source = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double}
 */
Accommodation.prototype.getLocationId = function() {
    return this.locationId;
};

/**
 * Setter for LocationId
 * 
 * @param {double} value 
 */
Accommodation.prototype.setLocationId = function(value) {
    this.locationId = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string}
 */
Accommodation.prototype.getName = function() {
    return this.name;
};

/**
 * Setter for Name
 * 
 * @param {string} value 
 */
Accommodation.prototype.setName = function(value) {
    this.name = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double}
 */
Accommodation.prototype.getTotalRatings = function() {
    return this.totalRatings;
};

/**
 * Setter for TotalRatings
 * 
 * @param {double} value 
 */
Accommodation.prototype.setTotalRatings = function(value) {
    this.totalRatings = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double}
 */
Accommodation.prototype.getAverageRating = function() {
    return this.averageRating;
};

/**
 * Setter for AverageRating
 * 
 * @param {double} value 
 */
Accommodation.prototype.setAverageRating = function(value) {
    this.averageRating = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double}
 */
Accommodation.prototype.getStars = function() {
    return this.stars;
};

/**
 * Setter for Stars
 * 
 * @param {double} value 
 */
Accommodation.prototype.setStars = function(value) {
    this.stars = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double}
 */
Accommodation.prototype.getTypeId = function() {
    return this.typeId;
};

/**
 * Setter for TypeId
 * 
 * @param {double} value 
 */
Accommodation.prototype.setTypeId = function(value) {
    this.typeId = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double}
 */
Accommodation.prototype.getMetaNoIndex = function() {
    return this.metaNoIndex;
};

/**
 * Setter for MetaNoIndex
 * 
 * @param {double} value 
 */
Accommodation.prototype.setMetaNoIndex = function(value) {
    this.metaNoIndex = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getOwnerId = function() {
    return this.ownerId;
};

/**
 * Setter for OwnerId
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setOwnerId = function(value) {
    this.ownerId = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double|null}
 */
Accommodation.prototype.getTripId = function() {
    return this.tripId;
};

/**
 * Setter for TripId
 * 
 * @param {double|null} value 
 */
Accommodation.prototype.setTripId = function(value) {
    this.tripId = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getAddress1 = function() {
    return this.address1;
};

/**
 * Setter for Address1
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setAddress1 = function(value) {
    this.address1 = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getAddress2 = function() {
    return this.address2;
};

/**
 * Setter for Address2
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setAddress2 = function(value) {
    this.address2 = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getPostcode = function() {
    return this.postcode;
};

/**
 * Setter for Postcode
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setPostcode = function(value) {
    this.postcode = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getTelephone = function() {
    return this.telephone;
};

/**
 * Setter for Telephone
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setTelephone = function(value) {
    this.telephone = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getUrl = function() {
    return this.url;
};

/**
 * Setter for Url
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setUrl = function(value) {
    this.url = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getDescription = function() {
    return this.description;
};

/**
 * Setter for Description
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setDescription = function(value) {
    this.description = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getLongitude = function() {
    return this.longitude;
};

/**
 * Setter for Longitude
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setLongitude = function(value) {
    this.longitude = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getLatitude = function() {
    return this.latitude;
};

/**
 * Setter for Latitude
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setLatitude = function(value) {
    this.latitude = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double|null}
 */
Accommodation.prototype.getNumRooms = function() {
    return this.numRooms;
};

/**
 * Setter for NumRooms
 * 
 * @param {double|null} value 
 */
Accommodation.prototype.setNumRooms = function(value) {
    this.numRooms = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double|null}
 */
Accommodation.prototype.getRedirectAccommodationId = function() {
    return this.redirectAccommodationId;
};

/**
 * Setter for RedirectAccommodationId
 * 
 * @param {double|null} value 
 */
Accommodation.prototype.setRedirectAccommodationId = function(value) {
    this.redirectAccommodationId = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double|null}
 */
Accommodation.prototype.getRedirectId = function() {
    return this.redirectId;
};

/**
 * Setter for RedirectId
 * 
 * @param {double|null} value 
 */
Accommodation.prototype.setRedirectId = function(value) {
    this.redirectId = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getPageUrl = function() {
    return this.pageUrl;
};

/**
 * Setter for PageUrl
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setPageUrl = function(value) {
    this.pageUrl = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {double|null}
 */
Accommodation.prototype.getBinaryOptions = function() {
    return this.binaryOptions;
};

/**
 * Setter for BinaryOptions
 * 
 * @param {double|null} value 
 */
Accommodation.prototype.setBinaryOptions = function(value) {
    this.binaryOptions = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getDescOverview = function() {
    return this.descOverview;
};

/**
 * Setter for DescOverview
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setDescOverview = function(value) {
    this.descOverview = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getDescRoomInformation = function() {
    return this.descRoomInformation;
};

/**
 * Setter for DescRoomInformation
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setDescRoomInformation = function(value) {
    this.descRoomInformation = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getDescFacilities = function() {
    return this.descFacilities;
};

/**
 * Setter for DescFacilities
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setDescFacilities = function(value) {
    this.descFacilities = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {string|null}
 */
Accommodation.prototype.getDescFoodDrink = function() {
    return this.descFoodDrink;
};

/**
 * Setter for DescFoodDrink
 * 
 * @param {string|null} value 
 */
Accommodation.prototype.setDescFoodDrink = function(value) {
    this.descFoodDrink = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {dateTime|null}
 */
Accommodation.prototype.getDateCreated = function() {
    return this.dateCreated;
};

/**
 * Setter for DateCreated
 * 
 * @param {dateTime|null} value 
 */
Accommodation.prototype.setDateCreated = function(value) {
    this.dateCreated = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {dateTime|null}
 */
Accommodation.prototype.getDateUpdated = function() {
    return this.dateUpdated;
};

/**
 * Setter for DateUpdated
 * 
 * @param {dateTime|null} value 
 */
Accommodation.prototype.setDateUpdated = function(value) {
    this.dateUpdated = value;
};

/**
 * TODO: Write general description for this method
 *
 * @return {dateTime|null}
 */
Accommodation.prototype.getDateRemoved = function() {
    return this.dateRemoved;
};

/**
 * Setter for DateRemoved
 * 
 * @param {dateTime|null} value 
 */
Accommodation.prototype.setDateRemoved = function(value) {
    this.dateRemoved = value;
};


module.exports = Accommodation;
