All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.geotab.model.settings.ClientSettings Maven / Gradle / Ivy

/*
 *
 * 2020 Copyright (C) Geotab Inc. All rights reserved.
 */

package com.geotab.model.settings;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.geotab.model.enumeration.DayOfWeek;
import com.geotab.model.enumeration.ElectricEnergyEconomyUnit;
import com.geotab.model.enumeration.FuelEconomyUnit;
import com.geotab.model.enumeration.GoogleMapStyle;
import com.geotab.model.enumeration.HereMapStyle;
import com.geotab.model.enumeration.OpenStreetMapStyle;
import com.geotab.model.enumeration.ZoneDisplayMode;
import java.time.LocalDateTime;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Settings that apply to client application.
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@SuppressWarnings({"MemberName", "AbbreviationAsWordInName"})
public class ClientSettings {

  /**
   * The default TimeZone.
   */
  public static final String DEFAULT_TIMEZONE = "America/New_York";

  /**
   * A value indicating accepted EULA revision.
   */
  private Integer acceptedEULA;

  /**
   * The accepted EULA date.
   */
  private LocalDateTime acceptedEULADate;

  /**
   * The active dashboard reports.
   */
  private List activeDashboardReports;

  /**
   * The available dashboard reports.
   */
  private List availableDashboardReports;

  /**
   * The map views.
   */
  private List mapViews;

  /**
   * Allow HOS yard move exemption.
   */
  @JsonProperty("isYardMoveEnabled")
  private boolean isYardMoveEnabled;

  /**
   * Allow HOS personal conveyance exemption.
   */
  @JsonProperty("isPersonalConveyanceEnabled")
  private boolean isPersonalConveyanceEnabled;

  /**
   * Allow Custom Exempt HOS Exemption.
   */
  @JsonProperty("isExemptHOSEnabled")
  private boolean isExemptHOSEnabled;

  /**
   * The user time zone identifier.
   */
  private String userTimeZoneId;

  /**
   * The allowed responses to a GPSTextMessage.
   */
  private String[][] cannedResponseOptions;

  /**
   * Whether the password requires resetting.
   */
  @JsonProperty("changePassword")
  private boolean changePassword;

  /**
   * The date format.
   */
  private String dateFormat;

  /**
   * The user phone number.
   */
  private String phoneNumber;

  /**
   * The user country code.
   */
  private String countryCode;

  /**
   * The phone number extension.
   */
  private String phoneNumberExtension;

  /**
   * The default map style for Google maps.
   */
  private GoogleMapStyle defaultGoogleMapStyle;

  /**
   * The default map engine.
   */
  private String defaultMapEngine;

  /**
   * The default map style for open street maps.
   */
  private OpenStreetMapStyle defaultOpenStreetMapStyle;

  /**
   * The default map style for Here maps.
   */
  private HereMapStyle defaultHereMapStyle;

  /**
   * Indicates the default page to view when login complete.
   */
  private String defaultPage;

  /**
   * Fuel Economy Unit.
   */
  private FuelEconomyUnit fuelEconomyUnit;

  /**
   * Electric Energy Economy Unit.
   */
  private ElectricEnergyEconomyUnit electricEnergyEconomyUnit;

  /**
   * Value indicating whether are labs enabled for this user. When [true] this will enable
   * experimental features that aren't quite ready for production.
   */
  @JsonProperty("isLabsEnabled")
  private boolean isLabsEnabled;

  /**
   * Value indicating whether are news notifications enabled for this user.
   */
  @JsonProperty("isNewsEnabled")
  private boolean isNewsEnabled;

  /**
   * Value indicating whether are service update notifications enabled for this user.
   */
  @JsonProperty("isServiceUpdatesEnabled")
  private boolean isServiceUpdatesEnabled;

  /**
   * Value indicating whether gets a value indicating whether the current regional settings is in
   * Metric.
   */
  @JsonProperty("isMetric")
  private boolean isMetric;

  /**
   * The user's language.
   */
  private String language;

  /**
   * A value indicating whether to show ClickOnce support warning as the default page.
   */
  @JsonProperty("showClickOnceWarning")
  private boolean showClickOnceWarning;

  /**
   * The zone display mode.
   */
  private ZoneDisplayMode zoneDisplayMode;

  /**
   * The first day of the calendar week.
   */
  private DayOfWeek firstDayOfWeek;

  /**
   * The name of the company.
   */
  private String companyName;

  /**
   * The company address.
   */
  private String companyAddress;

  /**
   * The carrier number.
   */
  private String carrierNumber;

  /**
   * Value indicating the maximum personal conveyance limit per day.
   */
  private Double maxPCDistancePerDay;

  /**
   * The name of the authority.
   */
  private String authorityName;

  /**
   * The authority address.
   */
  private String authorityAddress;

  /**
   * The version of the last drive what's new guide viewed by the user.
   */
  private Integer driveGuideVersion;

  /**
   * Value indicating accepted WiFi-specific EULA version.
   */
  private Integer wifiEULA;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy