{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/loadsmart/json-schema/loadsmart-update-warehouse-dto-schema.json",
  "title": "UpdateWarehouseDto",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/loadsmart-warehouses-api-openapi.yml#/components/schemas/UpdateWarehouseDto",
  "type": "object",
  "properties": {
    "tags": {
      "type": "object"
    },
    "name": {
      "type": "string"
    },
    "facilityNumber": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "timezone": {
      "type": "string"
    },
    "schedule": {
      "$ref": "#/$defs/ScheduleDto"
    },
    "contactName": {
      "type": "object"
    },
    "phone": {
      "type": "string"
    },
    "email": {
      "type": "object"
    },
    "notes": {
      "type": "object"
    },
    "instructions": {
      "type": "object"
    },
    "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"
    },
    "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"
    },
    "street": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "zip": {
      "type": "string"
    }
  },
  "$defs": {
    "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"
      ]
    },
    "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"
      ]
    }
  }
}