/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.mybusinesslodging.v1.model;

/**
 * Conveniences or help provided by the property to facilitate an easier, more comfortable stay.
 *
 * <p> This is the Java data model class that specifies how to parse/serialize into the JSON that is
 * transmitted over HTTP when working with the My Business Lodging API. For a detailed explanation
 * see:
 * <a href="https://developers.google.com/api-client-library/java/google-http-java-client/json">https://developers.google.com/api-client-library/java/google-http-java-client/json</a>
 * </p>
 *
 * @author Google, Inc.
 */
@SuppressWarnings("javadoc")
public final class Services extends com.google.api.client.json.GenericJson {

  /**
   * Baggage storage. A provision for guests to leave their bags at the hotel when they arrive for
   * their stay before the official check-in time. May or may not apply for guests who wish to leave
   * their bags after check-out and before departing the locale. Also known as bag dropoff.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean baggageStorage;

  /**
   * Baggage storage exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String baggageStorageException;

  /**
   * Concierge. Hotel staff member(s) responsible for facilitating an easy, comfortable stay through
   * making reservations for meals, sourcing theater tickets, arranging tours, finding a doctor,
   * making recommendations, and answering questions.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean concierge;

  /**
   * Concierge exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String conciergeException;

  /**
   * Convenience store. A shop at the hotel primarily selling snacks, drinks, non-prescription
   * medicines, health and beauty aids, magazines and newspapers.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean convenienceStore;

  /**
   * Convenience store exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String convenienceStoreException;

  /**
   * Currency exchange. A staff member or automated machine tasked with the transaction of providing
   * the native currency of the hotel's locale in exchange for the foreign currency provided by a
   * guest.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean currencyExchange;

  /**
   * Currency exchange exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String currencyExchangeException;

  /**
   * Elevator. A passenger elevator that transports guests from one story to another. Also known as
   * lift.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean elevator;

  /**
   * Elevator exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String elevatorException;

  /**
   * Front desk. A counter or desk in the lobby or the immediate interior of the hotel where a
   * member of the staff greets guests and processes the information related to their stay
   * (including check-in and check-out). May or may not be manned and open 24/7.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean frontDesk;

  /**
   * Front desk exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String frontDeskException;

  /**
   * Full service laundry. Laundry and dry cleaning facilitated and handled by the hotel on behalf
   * of the guest. Does not include the provision for guests to do their own laundry in on-site
   * machines.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean fullServiceLaundry;

  /**
   * Full service laundry exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String fullServiceLaundryException;

  /**
   * Gift shop. An on-site store primarily selling souvenirs, mementos and other gift items. May or
   * may not also sell sundries, magazines and newspapers, clothing, or snacks.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean giftShop;

  /**
   * Gift shop exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String giftShopException;

  /**
   * Languages spoken by at least one staff member.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.util.List<LanguageSpoken> languagesSpoken;

  static {
    // hack to force ProGuard to consider LanguageSpoken used, since otherwise it would be stripped out
    // see https://github.com/google/google-api-java-client/issues/543
    com.google.api.client.util.Data.nullOf(LanguageSpoken.class);
  }

  /**
   * Self service laundry. On-site clothes washers and dryers accessible to guests for the purpose
   * of washing and drying their own clothes. May or may not require payment to use the machines.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean selfServiceLaundry;

  /**
   * Self service laundry exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String selfServiceLaundryException;

  /**
   * Social hour. A reception with complimentary soft drinks, tea, coffee, wine and/or cocktails in
   * the afternoon or evening. Can be hosted by hotel staff or guests may serve themselves. Also
   * known as wine hour. The availability of coffee/tea in the lobby throughout the day does not
   * constitute a social or wine hour.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean socialHour;

  /**
   * Social hour exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String socialHourException;

  /**
   * 24hr front desk. Front desk is staffed 24 hours a day.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean twentyFourHourFrontDesk;

  /**
   * 24hr front desk exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String twentyFourHourFrontDeskException;

  /**
   * Wake up calls. By direction of the guest, a hotel staff member will phone the guest unit at the
   * requested hour. Also known as morning call.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.Boolean wakeUpCalls;

  /**
   * Wake up calls exception.
   * The value may be {@code null}.
   */
  @com.google.api.client.util.Key
  private java.lang.String wakeUpCallsException;

  /**
   * Baggage storage. A provision for guests to leave their bags at the hotel when they arrive for
   * their stay before the official check-in time. May or may not apply for guests who wish to leave
   * their bags after check-out and before departing the locale. Also known as bag dropoff.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getBaggageStorage() {
    return baggageStorage;
  }

  /**
   * Baggage storage. A provision for guests to leave their bags at the hotel when they arrive for
   * their stay before the official check-in time. May or may not apply for guests who wish to leave
   * their bags after check-out and before departing the locale. Also known as bag dropoff.
   * @param baggageStorage baggageStorage or {@code null} for none
   */
  public Services setBaggageStorage(java.lang.Boolean baggageStorage) {
    this.baggageStorage = baggageStorage;
    return this;
  }

  /**
   * Baggage storage exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getBaggageStorageException() {
    return baggageStorageException;
  }

  /**
   * Baggage storage exception.
   * @param baggageStorageException baggageStorageException or {@code null} for none
   */
  public Services setBaggageStorageException(java.lang.String baggageStorageException) {
    this.baggageStorageException = baggageStorageException;
    return this;
  }

  /**
   * Concierge. Hotel staff member(s) responsible for facilitating an easy, comfortable stay through
   * making reservations for meals, sourcing theater tickets, arranging tours, finding a doctor,
   * making recommendations, and answering questions.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getConcierge() {
    return concierge;
  }

  /**
   * Concierge. Hotel staff member(s) responsible for facilitating an easy, comfortable stay through
   * making reservations for meals, sourcing theater tickets, arranging tours, finding a doctor,
   * making recommendations, and answering questions.
   * @param concierge concierge or {@code null} for none
   */
  public Services setConcierge(java.lang.Boolean concierge) {
    this.concierge = concierge;
    return this;
  }

  /**
   * Concierge exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getConciergeException() {
    return conciergeException;
  }

  /**
   * Concierge exception.
   * @param conciergeException conciergeException or {@code null} for none
   */
  public Services setConciergeException(java.lang.String conciergeException) {
    this.conciergeException = conciergeException;
    return this;
  }

  /**
   * Convenience store. A shop at the hotel primarily selling snacks, drinks, non-prescription
   * medicines, health and beauty aids, magazines and newspapers.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getConvenienceStore() {
    return convenienceStore;
  }

  /**
   * Convenience store. A shop at the hotel primarily selling snacks, drinks, non-prescription
   * medicines, health and beauty aids, magazines and newspapers.
   * @param convenienceStore convenienceStore or {@code null} for none
   */
  public Services setConvenienceStore(java.lang.Boolean convenienceStore) {
    this.convenienceStore = convenienceStore;
    return this;
  }

  /**
   * Convenience store exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getConvenienceStoreException() {
    return convenienceStoreException;
  }

  /**
   * Convenience store exception.
   * @param convenienceStoreException convenienceStoreException or {@code null} for none
   */
  public Services setConvenienceStoreException(java.lang.String convenienceStoreException) {
    this.convenienceStoreException = convenienceStoreException;
    return this;
  }

  /**
   * Currency exchange. A staff member or automated machine tasked with the transaction of providing
   * the native currency of the hotel's locale in exchange for the foreign currency provided by a
   * guest.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getCurrencyExchange() {
    return currencyExchange;
  }

  /**
   * Currency exchange. A staff member or automated machine tasked with the transaction of providing
   * the native currency of the hotel's locale in exchange for the foreign currency provided by a
   * guest.
   * @param currencyExchange currencyExchange or {@code null} for none
   */
  public Services setCurrencyExchange(java.lang.Boolean currencyExchange) {
    this.currencyExchange = currencyExchange;
    return this;
  }

  /**
   * Currency exchange exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getCurrencyExchangeException() {
    return currencyExchangeException;
  }

  /**
   * Currency exchange exception.
   * @param currencyExchangeException currencyExchangeException or {@code null} for none
   */
  public Services setCurrencyExchangeException(java.lang.String currencyExchangeException) {
    this.currencyExchangeException = currencyExchangeException;
    return this;
  }

  /**
   * Elevator. A passenger elevator that transports guests from one story to another. Also known as
   * lift.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getElevator() {
    return elevator;
  }

  /**
   * Elevator. A passenger elevator that transports guests from one story to another. Also known as
   * lift.
   * @param elevator elevator or {@code null} for none
   */
  public Services setElevator(java.lang.Boolean elevator) {
    this.elevator = elevator;
    return this;
  }

  /**
   * Elevator exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getElevatorException() {
    return elevatorException;
  }

  /**
   * Elevator exception.
   * @param elevatorException elevatorException or {@code null} for none
   */
  public Services setElevatorException(java.lang.String elevatorException) {
    this.elevatorException = elevatorException;
    return this;
  }

  /**
   * Front desk. A counter or desk in the lobby or the immediate interior of the hotel where a
   * member of the staff greets guests and processes the information related to their stay
   * (including check-in and check-out). May or may not be manned and open 24/7.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getFrontDesk() {
    return frontDesk;
  }

  /**
   * Front desk. A counter or desk in the lobby or the immediate interior of the hotel where a
   * member of the staff greets guests and processes the information related to their stay
   * (including check-in and check-out). May or may not be manned and open 24/7.
   * @param frontDesk frontDesk or {@code null} for none
   */
  public Services setFrontDesk(java.lang.Boolean frontDesk) {
    this.frontDesk = frontDesk;
    return this;
  }

  /**
   * Front desk exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getFrontDeskException() {
    return frontDeskException;
  }

  /**
   * Front desk exception.
   * @param frontDeskException frontDeskException or {@code null} for none
   */
  public Services setFrontDeskException(java.lang.String frontDeskException) {
    this.frontDeskException = frontDeskException;
    return this;
  }

  /**
   * Full service laundry. Laundry and dry cleaning facilitated and handled by the hotel on behalf
   * of the guest. Does not include the provision for guests to do their own laundry in on-site
   * machines.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getFullServiceLaundry() {
    return fullServiceLaundry;
  }

  /**
   * Full service laundry. Laundry and dry cleaning facilitated and handled by the hotel on behalf
   * of the guest. Does not include the provision for guests to do their own laundry in on-site
   * machines.
   * @param fullServiceLaundry fullServiceLaundry or {@code null} for none
   */
  public Services setFullServiceLaundry(java.lang.Boolean fullServiceLaundry) {
    this.fullServiceLaundry = fullServiceLaundry;
    return this;
  }

  /**
   * Full service laundry exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getFullServiceLaundryException() {
    return fullServiceLaundryException;
  }

  /**
   * Full service laundry exception.
   * @param fullServiceLaundryException fullServiceLaundryException or {@code null} for none
   */
  public Services setFullServiceLaundryException(java.lang.String fullServiceLaundryException) {
    this.fullServiceLaundryException = fullServiceLaundryException;
    return this;
  }

  /**
   * Gift shop. An on-site store primarily selling souvenirs, mementos and other gift items. May or
   * may not also sell sundries, magazines and newspapers, clothing, or snacks.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getGiftShop() {
    return giftShop;
  }

  /**
   * Gift shop. An on-site store primarily selling souvenirs, mementos and other gift items. May or
   * may not also sell sundries, magazines and newspapers, clothing, or snacks.
   * @param giftShop giftShop or {@code null} for none
   */
  public Services setGiftShop(java.lang.Boolean giftShop) {
    this.giftShop = giftShop;
    return this;
  }

  /**
   * Gift shop exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getGiftShopException() {
    return giftShopException;
  }

  /**
   * Gift shop exception.
   * @param giftShopException giftShopException or {@code null} for none
   */
  public Services setGiftShopException(java.lang.String giftShopException) {
    this.giftShopException = giftShopException;
    return this;
  }

  /**
   * Languages spoken by at least one staff member.
   * @return value or {@code null} for none
   */
  public java.util.List<LanguageSpoken> getLanguagesSpoken() {
    return languagesSpoken;
  }

  /**
   * Languages spoken by at least one staff member.
   * @param languagesSpoken languagesSpoken or {@code null} for none
   */
  public Services setLanguagesSpoken(java.util.List<LanguageSpoken> languagesSpoken) {
    this.languagesSpoken = languagesSpoken;
    return this;
  }

  /**
   * Self service laundry. On-site clothes washers and dryers accessible to guests for the purpose
   * of washing and drying their own clothes. May or may not require payment to use the machines.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getSelfServiceLaundry() {
    return selfServiceLaundry;
  }

  /**
   * Self service laundry. On-site clothes washers and dryers accessible to guests for the purpose
   * of washing and drying their own clothes. May or may not require payment to use the machines.
   * @param selfServiceLaundry selfServiceLaundry or {@code null} for none
   */
  public Services setSelfServiceLaundry(java.lang.Boolean selfServiceLaundry) {
    this.selfServiceLaundry = selfServiceLaundry;
    return this;
  }

  /**
   * Self service laundry exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getSelfServiceLaundryException() {
    return selfServiceLaundryException;
  }

  /**
   * Self service laundry exception.
   * @param selfServiceLaundryException selfServiceLaundryException or {@code null} for none
   */
  public Services setSelfServiceLaundryException(java.lang.String selfServiceLaundryException) {
    this.selfServiceLaundryException = selfServiceLaundryException;
    return this;
  }

  /**
   * Social hour. A reception with complimentary soft drinks, tea, coffee, wine and/or cocktails in
   * the afternoon or evening. Can be hosted by hotel staff or guests may serve themselves. Also
   * known as wine hour. The availability of coffee/tea in the lobby throughout the day does not
   * constitute a social or wine hour.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getSocialHour() {
    return socialHour;
  }

  /**
   * Social hour. A reception with complimentary soft drinks, tea, coffee, wine and/or cocktails in
   * the afternoon or evening. Can be hosted by hotel staff or guests may serve themselves. Also
   * known as wine hour. The availability of coffee/tea in the lobby throughout the day does not
   * constitute a social or wine hour.
   * @param socialHour socialHour or {@code null} for none
   */
  public Services setSocialHour(java.lang.Boolean socialHour) {
    this.socialHour = socialHour;
    return this;
  }

  /**
   * Social hour exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getSocialHourException() {
    return socialHourException;
  }

  /**
   * Social hour exception.
   * @param socialHourException socialHourException or {@code null} for none
   */
  public Services setSocialHourException(java.lang.String socialHourException) {
    this.socialHourException = socialHourException;
    return this;
  }

  /**
   * 24hr front desk. Front desk is staffed 24 hours a day.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getTwentyFourHourFrontDesk() {
    return twentyFourHourFrontDesk;
  }

  /**
   * 24hr front desk. Front desk is staffed 24 hours a day.
   * @param twentyFourHourFrontDesk twentyFourHourFrontDesk or {@code null} for none
   */
  public Services setTwentyFourHourFrontDesk(java.lang.Boolean twentyFourHourFrontDesk) {
    this.twentyFourHourFrontDesk = twentyFourHourFrontDesk;
    return this;
  }

  /**
   * 24hr front desk exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getTwentyFourHourFrontDeskException() {
    return twentyFourHourFrontDeskException;
  }

  /**
   * 24hr front desk exception.
   * @param twentyFourHourFrontDeskException twentyFourHourFrontDeskException or {@code null} for none
   */
  public Services setTwentyFourHourFrontDeskException(java.lang.String twentyFourHourFrontDeskException) {
    this.twentyFourHourFrontDeskException = twentyFourHourFrontDeskException;
    return this;
  }

  /**
   * Wake up calls. By direction of the guest, a hotel staff member will phone the guest unit at the
   * requested hour. Also known as morning call.
   * @return value or {@code null} for none
   */
  public java.lang.Boolean getWakeUpCalls() {
    return wakeUpCalls;
  }

  /**
   * Wake up calls. By direction of the guest, a hotel staff member will phone the guest unit at the
   * requested hour. Also known as morning call.
   * @param wakeUpCalls wakeUpCalls or {@code null} for none
   */
  public Services setWakeUpCalls(java.lang.Boolean wakeUpCalls) {
    this.wakeUpCalls = wakeUpCalls;
    return this;
  }

  /**
   * Wake up calls exception.
   * @return value or {@code null} for none
   */
  public java.lang.String getWakeUpCallsException() {
    return wakeUpCallsException;
  }

  /**
   * Wake up calls exception.
   * @param wakeUpCallsException wakeUpCallsException or {@code null} for none
   */
  public Services setWakeUpCallsException(java.lang.String wakeUpCallsException) {
    this.wakeUpCallsException = wakeUpCallsException;
    return this;
  }

  @Override
  public Services set(String fieldName, Object value) {
    return (Services) super.set(fieldName, value);
  }

  @Override
  public Services clone() {
    return (Services) super.clone();
  }

}
