1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
//! Model struct for WageSetting type

use serde::{Deserialize, Serialize};

use super::{DateTime, JobAssignment};

/// An object representing a team member's wage information.
#[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
pub struct WageSetting {
    /// The unique ID of the `TeamMember` whom this wage setting describes.
    pub team_member_id: Option<String>,
    /// Required. The ordered list of jobs that the team member is assigned to. The first job
    /// assignment is considered the team member's primary job.
    ///
    /// The minimum length is 1 and the maximum length is 12.
    pub job_assignments: Vec<JobAssignment>,
    /// Whether the team member is exempt from the overtime rules of the seller's country.
    pub is_overtime_exempt: Option<bool>,
    /// Used for resolving concurrency issues. The request fails if the version provided does not
    /// match the server version at the time of the request. If not provided, Square executes a
    /// blind write, potentially overwriting data from another write. For more information, see
    /// [optimistic
    /// concurrency](https://developer.squareup.com/docs/working-with-apis/optimistic-concurrency).
    pub version: Option<i32>,
    /// **Read only** The timestamp, in RFC 3339 format, describing when the wage setting object was
    /// created.
    pub created_at: Option<DateTime>,
    /// **Read only** The timestamp, in RFC 3339 format, describing when the wage setting object was
    /// last updated.
    pub updated_at: Option<DateTime>,
}