{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/loadsmart/json-schema/loadsmart-update-user-dto-schema.json",
  "title": "UpdateUserDto",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/loadsmart-users-api-openapi.yml#/components/schemas/UpdateUserDto",
  "type": "object",
  "properties": {
    "tags": {
      "type": "object"
    },
    "email": {
      "type": "string"
    },
    "firstName": {
      "type": "string"
    },
    "lastName": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "role": {
      "type": "string",
      "enum": [
        "role_owner",
        "role_admin",
        "role_operator",
        "role_attendant",
        "role_spectator",
        "role_yard_driver",
        "role_carrier_admin",
        "role_carrier",
        "role_base"
      ]
    },
    "orgCarrierSettings": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/OrgCarrierSettings"
      }
    },
    "orgId": {
      "type": "string"
    },
    "warehouseAccessList": {
      "type": "UUID"
    }
  },
  "$defs": {
    "Appointment": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the record",
          "readOnly": true
        },
        "createDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was created",
          "readOnly": true
        },
        "createdBy": {
          "type": "object",
          "description": "The ID of the user who created the record",
          "readOnly": true
        },
        "lastChangedDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was last changed",
          "readOnly": true
        },
        "type": {
          "type": "string",
          "enum": [
            "Standard",
            "Reserve"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "NoShow",
            "Cancelled",
            "Requested",
            "Scheduled",
            "Arrived",
            "InProgress",
            "Completed"
          ]
        },
        "user": {
          "$ref": "#/$defs/User"
        },
        "userId": {
          "type": "object"
        },
        "loadType": {
          "type": "LoadType"
        },
        "loadTypeId": {
          "type": "string"
        },
        "dock": {
          "type": "Dock"
        },
        "org": {
          "type": "Org"
        },
        "orgId": {
          "type": "string"
        },
        "end": {
          "format": "date-time",
          "type": "string"
        },
        "eta": {
          "format": "date-time",
          "type": "string"
        },
        "refNumber": {
          "type": "string"
        },
        "refNumbers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "customFields": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "notes": {
          "type": "object"
        },
        "ccEmails": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "recurringParentId": {
          "type": "string"
        },
        "recurringParent": {
          "$ref": "#/$defs/Appointment"
        },
        "recurringChildren": {
          "$ref": "#/$defs/Appointment"
        },
        "recurringPattern": {
          "type": "object"
        },
        "reschedules": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "muteNotifications": {
          "type": "boolean"
        },
        "isCheckedInByCarrier": {
          "type": "boolean"
        }
      },
      "required": [
        "id",
        "createDateTime",
        "createdBy",
        "lastChangedDateTime"
      ]
    },
    "ClockSpan": {
      "type": "object",
      "properties": {
        "end": {
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "required": [
        "end",
        "start"
      ]
    },
    "CustomFieldTemplateDto": {
      "type": "object",
      "properties": {
        "semanticLabelId": {
          "type": "object",
          "format": "uuid",
          "description": "Semantic label id (FK to semanticlabel)"
        },
        "type": {
          "type": "string",
          "enum": [
            "str",
            "bigstr",
            "date",
            "bool",
            "doc",
            "multidoc",
            "int",
            "email",
            "phone",
            "dropdown",
            "dropdownmultiselect",
            "combobox",
            "timestamp",
            "action"
          ]
        }
      },
      "required": [
        "type"
      ]
    },
    "Org": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the record",
          "readOnly": true
        },
        "createDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was created",
          "readOnly": true
        },
        "createdBy": {
          "type": "object",
          "description": "The ID of the user who created the record",
          "readOnly": true
        },
        "lastChangedDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was last changed",
          "readOnly": true
        },
        "warehouses": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Warehouse"
          }
        },
        "reportSearches": {
          "type": "object"
        },
        "customTags": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "samlConfig": {
          "type": "object"
        },
        "orgType": {
          "type": "string",
          "enum": [
            "Trial",
            "Test",
            "Client"
          ]
        },
        "expiresAt": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "id",
        "createDateTime",
        "createdBy",
        "lastChangedDateTime"
      ]
    },
    "OrgCarrierSettings": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the record",
          "readOnly": true
        },
        "createDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was created",
          "readOnly": true
        },
        "createdBy": {
          "type": "object",
          "description": "The ID of the user who created the record",
          "readOnly": true
        },
        "lastChangedDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was last changed",
          "readOnly": true
        },
        "org": {
          "$ref": "#/$defs/Org"
        },
        "orgId": {
          "type": "string"
        },
        "user": {
          "$ref": "#/$defs/User"
        },
        "userId": {
          "type": "string"
        },
        "favoriteWarehouseIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "id",
        "createDateTime",
        "createdBy",
        "lastChangedDateTime"
      ]
    },
    "ScheduleDto": {
      "type": "object",
      "properties": {
        "sunday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ClockSpan"
          }
        },
        "monday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ClockSpan"
          }
        },
        "tuesday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ClockSpan"
          }
        },
        "wednesday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ClockSpan"
          }
        },
        "thursday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ClockSpan"
          }
        },
        "friday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ClockSpan"
          }
        },
        "saturday": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ClockSpan"
          }
        },
        "version": {
          "type": "number"
        },
        "closedIntervals": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TimeInterval"
          }
        }
      },
      "required": [
        "sunday",
        "monday",
        "tuesday",
        "wednesday",
        "thursday",
        "friday",
        "saturday",
        "version",
        "closedIntervals"
      ]
    },
    "TimeInterval": {
      "type": "object",
      "properties": {
        "end": {
          "format": "date-time",
          "type": "string"
        },
        "start": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "end",
        "start"
      ]
    },
    "User": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the record",
          "readOnly": true
        },
        "createDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was created",
          "readOnly": true
        },
        "createdBy": {
          "type": "object",
          "description": "The ID of the user who created the record",
          "readOnly": true
        },
        "lastChangedDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was last changed",
          "readOnly": true
        },
        "role": {
          "type": "string",
          "enum": [
            "role_owner",
            "role_admin",
            "role_operator",
            "role_attendant",
            "role_spectator",
            "role_yard_driver",
            "role_carrier_admin",
            "role_carrier",
            "role_base"
          ]
        },
        "appointments": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Appointment"
          }
        },
        "company": {
          "type": "Company"
        },
        "orgCarrierSettings": {
          "type": "array",
          "items": {
            "type": "OrgCarrierSettings"
          }
        },
        "org": {
          "type": "Org"
        },
        "warehouseAccessList": {
          "type": "UUID"
        },
        "tcConfirmedAt": {
          "format": "date-time",
          "type": "string"
        }
      },
      "required": [
        "id",
        "createDateTime",
        "createdBy",
        "lastChangedDateTime"
      ]
    },
    "Warehouse": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier of the record",
          "readOnly": true
        },
        "createDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was created",
          "readOnly": true
        },
        "createdBy": {
          "type": "object",
          "description": "The ID of the user who created the record",
          "readOnly": true
        },
        "lastChangedDateTime": {
          "format": "date-time",
          "type": "string",
          "description": "The date and time when the record was last changed",
          "readOnly": true
        },
        "schedule": {
          "$ref": "#/$defs/ScheduleDto"
        },
        "country": {
          "type": "string"
        },
        "timezone": {
          "type": "string"
        },
        "docks": {
          "type": "Dock"
        },
        "loadTypes": {
          "type": "LoadType"
        },
        "org": {
          "type": "Warehouse"
        },
        "orgId": {
          "type": "string"
        },
        "contactName": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "notes": {
          "type": "string"
        },
        "instructions": {
          "type": "string"
        },
        "customApptFieldsTemplate": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CustomFieldTemplateDto"
          }
        },
        "refNumberValidationVersion": {
          "type": "string",
          "enum": [
            "V1",
            "V2"
          ]
        },
        "refNumberValidationUrl": {
          "type": "string"
        },
        "refNumberValidationPasscode": {
          "type": "string"
        },
        "settings": {
          "type": "object"
        },
        "allowCarrierScheduling": {
          "type": "boolean"
        },
        "geolocation": {
          "type": "object"
        },
        "ccEmails": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "amenities": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Lumper services",
              "Drivers restroom",
              "Overnight parking",
              "Free Wi-Fi"
            ]
          }
        },
        "ppeRequirements": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Face Mask",
              "Safety Glasses",
              "Hard Hat",
              "Safety Boots",
              "Gloves",
              "High Visibility Vest",
              "Long Pants",
              "Long Sleeves",
              "No Smoking",
              "Hair and Beard Net"
            ]
          }
        },
        "intervalTrimForCarriers": {
          "type": "number"
        },
        "customBookingUrl": {
          "type": "string"
        }
      },
      "required": [
        "id",
        "createDateTime",
        "createdBy",
        "lastChangedDateTime",
        "schedule",
        "amenities",
        "ppeRequirements"
      ]
    }
  }
}