package org.wfc.omada.api.sitesetting.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.util.Objects;

/**
 * UpdateSsidWlanScheduleOpenApiVo
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:32:19.054+08:00[Asia/Shanghai]")

public class UpdateSsidWlanScheduleOpenApiVo   {
  @JsonProperty("wlanScheduleEnable")
  private Boolean wlanScheduleEnable;

  @JsonProperty("action")
  private Integer action;

  @JsonProperty("scheduleId")
  private String scheduleId;

  public UpdateSsidWlanScheduleOpenApiVo wlanScheduleEnable(Boolean wlanScheduleEnable) {
    this.wlanScheduleEnable = wlanScheduleEnable;
    return this;
  }

  /**
   * SSID WLAN schedule global config status. True: enable, false: disable.
   * @return wlanScheduleEnable
  */
  @ApiModelProperty(required = true, value = "SSID WLAN schedule global config status. True: enable, false: disable.")
  @NotNull


  public Boolean getWlanScheduleEnable() {
    return wlanScheduleEnable;
  }

  public void setWlanScheduleEnable(Boolean wlanScheduleEnable) {
    this.wlanScheduleEnable = wlanScheduleEnable;
  }

  public UpdateSsidWlanScheduleOpenApiVo action(Integer action) {
    this.action = action;
    return this;
  }

  /**
   * 0 means radio off, indicating the Wi-Fi function is off during the selected period; 1 means radio on, indicating the Wi-Fi function is on during the selected period.
   * @return action
  */
  @ApiModelProperty(value = "0 means radio off, indicating the Wi-Fi function is off during the selected period; 1 means radio on, indicating the Wi-Fi function is on during the selected period.")


  public Integer getAction() {
    return action;
  }

  public void setAction(Integer action) {
    this.action = action;
  }

  public UpdateSsidWlanScheduleOpenApiVo scheduleId(String scheduleId) {
    this.scheduleId = scheduleId;
    return this;
  }

  /**
   * This field represents Time Range Profile ID. Time Range Profile can be created using Create time range profile interface, and Time Range Profile ID can be obtained from Get time range profile list interface.
   * @return scheduleId
  */
  @ApiModelProperty(value = "This field represents Time Range Profile ID. Time Range Profile can be created using Create time range profile interface, and Time Range Profile ID can be obtained from Get time range profile list interface.")


  public String getScheduleId() {
    return scheduleId;
  }

  public void setScheduleId(String scheduleId) {
    this.scheduleId = scheduleId;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    UpdateSsidWlanScheduleOpenApiVo updateSsidWlanScheduleOpenApiVo = (UpdateSsidWlanScheduleOpenApiVo) o;
    return Objects.equals(this.wlanScheduleEnable, updateSsidWlanScheduleOpenApiVo.wlanScheduleEnable) &&
        Objects.equals(this.action, updateSsidWlanScheduleOpenApiVo.action) &&
        Objects.equals(this.scheduleId, updateSsidWlanScheduleOpenApiVo.scheduleId);
  }

  @Override
  public int hashCode() {
    return Objects.hash(wlanScheduleEnable, action, scheduleId);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class UpdateSsidWlanScheduleOpenApiVo {\n");
    
    sb.append("    wlanScheduleEnable: ").append(toIndentedString(wlanScheduleEnable)).append("\n");
    sb.append("    action: ").append(toIndentedString(action)).append("\n");
    sb.append("    scheduleId: ").append(toIndentedString(scheduleId)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

