using System;

namespace Sockeye.Biz
{
    /// <summary>
    /// Authorization roles
    /// </summary>
    [Flags]
    public enum AuthorizationRoles : int
    {
        //https://stackoverflow.com/questions/8447/what-does-the-flags-enum-attribute-mean-in-c
        //MAX 31 (2147483647)!!! or will overflow int and needs to be turned into a long
        //Must be a power of two: https://en.wikipedia.org/wiki/Power_of_two

        ///<summary>No role set</summary>
        NoRole = 0,
        ///<summary>BizAdminRestricted</summary>
        BizAdminRestricted = 1,
        ///<summary>BizAdmin</summary>
        BizAdmin = 2,
        ///<summary>ServiceRestricted</summary>
        ServiceRestricted = 4,
        ///<summary>Service</summary>
        Service = 8,
        ///<summary>InventoryRestricted</summary>
        InventoryRestricted = 16,
        ///<summary>Inventory</summary>
        Inventory = 32,
        ///<summary>Accounting</summary>
        Accounting = 64,//No limited role, not sure if there is a need
        ///<summary>TechRestricted</summary>
        TechRestricted = 128,
        ///<summary>Tech</summary>
        Tech = 256,
        ///<summary>SubContractorRestricted</summary>
        SubContractorRestricted = 512, //same as tech but restricted by further business rules (more fine grained)
        ///<summary>SubContractor</summary>
        SubContractor = 1024,//same as tech limited but restricted by further business rules (more fine grained)
        ///<summary>ClientRestricted</summary>
        CustomerRestricted = 2048,
        ///<summary>Client</summary>
        Customer = 4096,
        ///<summary>OpsAdminRestricted</summary>
        OpsAdminRestricted = 8192,
        ///<summary>OpsAdmin</summary>
        OpsAdmin = 16384,
        ///<summary>Sales</summary>
        Sales = 32768,
        ///<summary>SalesRestricted</summary>
        SalesRestricted = 65536,


        ///<summary>Anyone of any role</summary>
        All = BizAdminRestricted | BizAdmin | ServiceRestricted | Service | InventoryRestricted |
        Inventory | Accounting | TechRestricted | Tech | SubContractorRestricted |
        SubContractor | CustomerRestricted | Customer | OpsAdminRestricted | OpsAdmin | Sales | SalesRestricted
        
        // ,AllInsideUserRoles = BizAdminRestricted | BizAdmin | ServiceRestricted | Service | InventoryRestricted |
        // Inventory | Accounting | TechRestricted | Tech | SubContractorRestricted |
        // SubContractor | Sales | SalesRestricted | OpsAdminRestricted | OpsAdmin



    }//end AuthorizationRoles
     //, 65536, 131072, 262144, 524288, 1,048,576
}//end namespace GZTW.Sockeye.BLL

/*
### INFO FOR DOCS ####

official names for docs
"AuthorizationRoles": "Authorization roles",
"AuthorizationRoleNoRole": "No role",
"AuthorizationRoleBizAdminRestricted": "Business administration - restricted",
"AuthorizationRoleBizAdmin": "Business administration",
"AuthorizationRoleServiceRestricted": "Service - restricted",
"AuthorizationRoleService": "Service",
"AuthorizationRoleInventoryRestricted": "Inventory - restricted",
"AuthorizationRoleInventory": "Inventory",
"AuthorizationRoleAccounting": "Accounting",
"AuthorizationRoleTechRestricted": "Service technician - restricted",
"AuthorizationRoleTech": "Service technician",
"AuthorizationRoleSubContractorRestricted": "Subcontractor - restricted",
"AuthorizationRoleSubContractor": "Subcontractor",
"AuthorizationRoleCustomerRestricted": "Customer user - restricted",
"AuthorizationRoleCustomer": "Customer  user",
"AuthorizationRoleOpsAdminRestricted": "System operations - restricted",
"AuthorizationRoleOpsAdmin": "System operations",
"AuthorizationRoleSalesRestricted": "Sales - restricted",
"AuthorizationRoleSales": "Sales",

v8-beta-0.10 rights by role
{
  "data": {
    "typeroles": [
      {
        "sockType": "Backup",
        "change": "OpsAdmin",
        "readFullRecord": "BizAdminRestricted, BizAdmin, OpsAdminRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "BizMetrics",
        "change": "BizAdmin",
        "readFullRecord": "BizAdminRestricted, Accounting, Sales, SalesRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "Contract",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "Customer",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "CustomerNote",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "CustomerServiceRequest",
        "change": "BizAdmin, Service, Customer",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, Tech, CustomerRestricted",
        "select": "All"
      },
      {
        "sockType": "DataListSavedFilter",
        "change": "BizAdmin",
        "readFullRecord": "All",
        "select": "NoRole"
      },
      {
        "sockType": "FileAttachment",
        "change": "BizAdmin",
        "readFullRecord": "BizAdminRestricted, BizAdmin",
        "select": "NoRole"
      },
      {
        "sockType": "FormCustom",
        "change": "BizAdmin",
        "readFullRecord": "All",
        "select": "NoRole"
      },
      {
        "sockType": "FormUserOptions",
        "change": "All",
        "readFullRecord": "All",
        "select": "NoRole"
      },
      {
        "sockType": "Global",
        "change": "BizAdmin",
        "readFullRecord": "BizAdminRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "GlobalOps",
        "change": "OpsAdmin",
        "readFullRecord": "OpsAdminRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "HeadOffice",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "License",
        "change": "BizAdmin",
        "readFullRecord": "BizAdminRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "LoanUnit",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "LogFile",
        "change": "NoRole",
        "readFullRecord": "OpsAdminRestricted, OpsAdmin",
        "select": "NoRole"
      },
      {
        "sockType": "Memo",
        "change": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted",
        "readFullRecord": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted",
        "select": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted"
      },
      {
        "sockType": "Notification",
        "change": "All",
        "readFullRecord": "All",
        "select": "NoRole"
      },
      {
        "sockType": "NotifySubscription",
        "change": "All",
        "readFullRecord": "All",
        "select": "NoRole"
      },
      {
        "sockType": "OpsNotificationSettings",
        "change": "OpsAdmin",
        "readFullRecord": "BizAdminRestricted, BizAdmin, OpsAdminRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "Part",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "PartAssembly",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "PartInventory",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "PartInventoryDataList",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "PartInventoryRequest",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "PartInventoryRequestDataList",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "PartInventoryRestock",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "PartWarehouse",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "PickListTemplate",
        "change": "BizAdmin",
        "readFullRecord": "All",
        "select": "NoRole"
      },
      {
        "sockType": "PM",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItem",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemExpense",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemLabor",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemLoan",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemOutsideService",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemPart",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemScheduledUser",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemTask",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemTravel",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PMItemUnit",
        "change": "BizAdmin, Service",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "Project",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "PurchaseOrder",
        "change": "BizAdmin, Inventory, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, InventoryRestricted",
        "select": "All"
      },
      {
        "sockType": "Quote",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItem",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemExpense",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemLabor",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemLoan",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemOutsideService",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemPart",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemScheduledUser",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemTask",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemTravel",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteItemUnit",
        "change": "BizAdmin, Service, Accounting, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "QuoteStatus",
        "change": "BizAdmin, Service, Sales",
        "readFullRecord": "All",
        "select": "All"
      },
      {
        "sockType": "Reminder",
        "change": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted",
        "readFullRecord": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted",
        "select": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted"
      },
      {
        "sockType": "Report",
        "change": "BizAdminRestricted, BizAdmin",
        "readFullRecord": "All",
        "select": "All"
      },
      {
        "sockType": "Review",
        "change": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted",
        "readFullRecord": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted",
        "select": "BizAdminRestricted, BizAdmin, ServiceRestricted, Service, InventoryRestricted, Inventory, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor, OpsAdminRestricted, OpsAdmin, Sales, SalesRestricted"
      },
      {
        "sockType": "ServerJob",
        "change": "OpsAdmin",
        "readFullRecord": "BizAdminRestricted, BizAdmin, OpsAdminRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "ServerMetrics",
        "change": "OpsAdmin",
        "readFullRecord": "OpsAdminRestricted, OpsAdmin",
        "select": "NoRole"
      },
      {
        "sockType": "ServerState",
        "change": "OpsAdmin",
        "readFullRecord": "All",
        "select": "NoRole"
      },
      {
        "sockType": "ServiceRate",
        "change": "BizAdmin, Service, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, Tech, Sales",
        "select": "All"
      },
      {
        "sockType": "TaskGroup",
        "change": "BizAdmin, Service",
        "readFullRecord": "All",
        "select": "All"
      },
      {
        "sockType": "TaxCode",
        "change": "BizAdmin, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, TechRestricted, Tech, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "Translation",
        "change": "BizAdmin",
        "readFullRecord": "BizAdminRestricted",
        "select": "All"
      },
      {
        "sockType": "TravelRate",
        "change": "BizAdmin, Service, Accounting",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, Service, Tech, Sales",
        "select": "All"
      },
      {
        "sockType": "TrialSeeder",
        "change": "BizAdmin, OpsAdmin",
        "readFullRecord": "BizAdminRestricted, OpsAdminRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "Unit",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "UnitMeterReading",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "UnitModel",
        "change": "BizAdmin, Service, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "User",
        "change": "BizAdmin",
        "readFullRecord": "BizAdminRestricted",
        "select": "All"
      },
      {
        "sockType": "UserOptions",
        "change": "BizAdmin",
        "readFullRecord": "BizAdminRestricted",
        "select": "NoRole"
      },
      {
        "sockType": "Vendor",
        "change": "BizAdmin, Service, Inventory, Accounting, Tech, Sales",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrder",
        "change": "BizAdmin, Service, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItem",
        "change": "BizAdmin, Service, Accounting, Tech",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemExpense",
        "change": "BizAdmin, Service, Accounting, TechRestricted, Tech",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemLabor",
        "change": "BizAdmin, Service, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemLoan",
        "change": "BizAdmin, Service, Accounting, Tech",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractor, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemOutsideService",
        "change": "BizAdmin, Service, Accounting, Tech",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemPart",
        "change": "BizAdmin, Service, Accounting, Tech",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractor, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemPartRequest",
        "change": "BizAdmin, Service, Accounting, Tech",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractor, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemPriority",
        "change": "BizAdmin, Service, Accounting, Tech, SubContractor",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemScheduledUser",
        "change": "BizAdmin, Service, Accounting, Tech",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, SubContractor, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemStatus",
        "change": "BizAdmin, Service, Accounting, Tech, SubContractor",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemTask",
        "change": "BizAdmin, Service, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemTravel",
        "change": "BizAdmin, Service, Accounting, TechRestricted, Tech, SubContractorRestricted, SubContractor",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderItemUnit",
        "change": "BizAdmin, Service, Accounting, Tech",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractor, Sales, SalesRestricted",
        "select": "All"
      },
      {
        "sockType": "WorkOrderStatus",
        "change": "BizAdmin, Service, Accounting, Tech, SubContractor",
        "readFullRecord": "BizAdminRestricted, ServiceRestricted, TechRestricted, SubContractorRestricted, Sales, SalesRestricted",
        "select": "All"
      }
    ]
  }
}
*/