{
  "crubal": "2",
  "package": "units",
  "version": "2026-10-14",
  "id": "crubal.com/units",
  "owner": "crubal.com",
  "label": "Units and currencies",
  "licence": "CC-BY-4.0",
  "kinds": [
    {
      "kind": "measure",
      "levels": [
        "measure"
      ]
    },
    {
      "kind": "currency",
      "levels": [
        "currency"
      ]
    }
  ],
  "facets": [
    {
      "facet": "dimension",
      "type": "choice",
      "values": [
        {
          "value": "time"
        },
        {
          "value": "length"
        },
        {
          "value": "mass"
        },
        {
          "value": "data"
        },
        {
          "value": "count"
        }
      ],
      "fixed": true
    },
    {
      "facet": "factor",
      "type": "number",
      "describe": "How many of the dimension's base unit one of this unit is (s, m, kg, B, each)."
    },
    {
      "facet": "spellings",
      "type": "text",
      "describe": "Other ways intake may write this unit; folded case-insensitively.",
      "pick": "any"
    },
    {
      "facet": "uncefact",
      "type": "text",
      "label": "UN/CEFACT code",
      "describe": "The unit's UN/CEFACT Recommendation 20 code, for borders that use it. Never a spelling."
    },
    {
      "facet": "places",
      "type": "number",
      "describe": "A currency's decimal places (ISO 4217 minor units)."
    },
    {
      "facet": "name",
      "type": "text"
    }
  ],
  "classes": [
    {
      "class": "Measure",
      "for": [
        "measure"
      ],
      "facets": [
        {
          "facet": "dimension",
          "required": true
        },
        {
          "facet": "factor",
          "required": true
        },
        {
          "facet": "spellings"
        },
        {
          "facet": "uncefact"
        }
      ]
    },
    {
      "class": "Currency",
      "for": [
        "currency"
      ],
      "facets": [
        {
          "facet": "name",
          "required": true
        },
        {
          "facet": "places",
          "required": true
        }
      ]
    }
  ],
  "records": [
    {
      "id": "s",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "time",
        "factor": "1",
        "spellings": [
          "sec",
          "secs",
          "second",
          "seconds"
        ],
        "uncefact": "SEC"
      }
    },
    {
      "id": "min",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "time",
        "factor": "60",
        "spellings": [
          "MIN.",
          "mins",
          "minute",
          "minutes"
        ],
        "uncefact": "MIN"
      }
    },
    {
      "id": "h",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "time",
        "factor": "3600",
        "spellings": [
          "hr",
          "hrs",
          "hour",
          "hours"
        ],
        "uncefact": "HUR"
      }
    },
    {
      "id": "mm",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "length",
        "factor": "0.001",
        "uncefact": "MMT"
      }
    },
    {
      "id": "cm",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "length",
        "factor": "0.01",
        "uncefact": "CMT"
      }
    },
    {
      "id": "m",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "length",
        "factor": "1",
        "uncefact": "MTR"
      }
    },
    {
      "id": "in",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "length",
        "factor": "0.0254",
        "spellings": [
          "inch",
          "inches"
        ],
        "uncefact": "INH"
      }
    },
    {
      "id": "ft",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "length",
        "factor": "0.3048",
        "spellings": [
          "foot",
          "feet"
        ],
        "uncefact": "FOT"
      }
    },
    {
      "id": "g",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "mass",
        "factor": "0.001",
        "uncefact": "GRM"
      }
    },
    {
      "id": "kg",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "mass",
        "factor": "1",
        "uncefact": "KGM"
      }
    },
    {
      "id": "oz",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "mass",
        "factor": "0.028349523125",
        "spellings": [
          "ounce",
          "ounces"
        ],
        "uncefact": "ONZ"
      }
    },
    {
      "id": "lb",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "mass",
        "factor": "0.45359237",
        "spellings": [
          "lbs",
          "pound",
          "pounds"
        ],
        "uncefact": "LBR"
      }
    },
    {
      "id": "B",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "data",
        "factor": "1",
        "spellings": [
          "byte",
          "bytes"
        ],
        "uncefact": "AD"
      }
    },
    {
      "id": "KB",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "data",
        "factor": "1000",
        "uncefact": "2P"
      }
    },
    {
      "id": "MB",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "data",
        "factor": "1000000",
        "uncefact": "4L"
      }
    },
    {
      "id": "GB",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "data",
        "factor": "1000000000",
        "uncefact": "E34"
      }
    },
    {
      "id": "TB",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "data",
        "factor": "1000000000000",
        "uncefact": "E35"
      }
    },
    {
      "id": "each",
      "kind": "measure",
      "level": "measure",
      "owner": "crubal.com",
      "values": {
        "dimension": "count",
        "factor": "1",
        "spellings": [
          "ea",
          "pc",
          "pcs",
          "piece",
          "pieces"
        ],
        "uncefact": "EA"
      }
    },
    {
      "id": "USD",
      "kind": "currency",
      "level": "currency",
      "owner": "crubal.com",
      "values": {
        "name": "US dollar",
        "places": "2"
      }
    },
    {
      "id": "EUR",
      "kind": "currency",
      "level": "currency",
      "owner": "crubal.com",
      "values": {
        "name": "Euro",
        "places": "2"
      }
    },
    {
      "id": "GBP",
      "kind": "currency",
      "level": "currency",
      "owner": "crubal.com",
      "values": {
        "name": "Pound sterling",
        "places": "2"
      }
    },
    {
      "id": "CAD",
      "kind": "currency",
      "level": "currency",
      "owner": "crubal.com",
      "values": {
        "name": "Canadian dollar",
        "places": "2"
      }
    },
    {
      "id": "AUD",
      "kind": "currency",
      "level": "currency",
      "owner": "crubal.com",
      "values": {
        "name": "Australian dollar",
        "places": "2"
      }
    },
    {
      "id": "MXN",
      "kind": "currency",
      "level": "currency",
      "owner": "crubal.com",
      "values": {
        "name": "Mexican peso",
        "places": "2"
      }
    },
    {
      "id": "JPY",
      "kind": "currency",
      "level": "currency",
      "owner": "crubal.com",
      "values": {
        "name": "Yen",
        "places": "0"
      }
    },
    {
      "id": "BHD",
      "kind": "currency",
      "level": "currency",
      "owner": "crubal.com",
      "values": {
        "name": "Bahraini dinar",
        "places": "3"
      }
    }
  ]
}
