{
  "name": "PaveHub",
  "short_name": "PaveHub",
  "description": "Estimating, scheduling, crew and invoicing for paving and sealcoating contractors — works offline.",
  "id": "/",
  "start_url": "/",
  "display": "standalone",
  "display_override": ["standalone", "minimal-ui"],
  "orientation": "portrait",
  "background_color": "#1a1a1a",
  "theme_color": "#1a1a1a",
  "scope": "/",
  "categories": ["business", "productivity"],
  "icons": [
    {
      "src": "icon-192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "icon-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "icon-maskable-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ],
  "shortcuts": [
    {
      "name": "Clock In",
      "short_name": "Clock In",
      "description": "One-tap clock-in for the day",
      "url": "/?go=clockin",
      "icons": [{ "src": "icon-192.png", "sizes": "192x192" }]
    },
    {
      "name": "Clock Out",
      "short_name": "Clock Out",
      "description": "Clock out and log your end-of-day",
      "url": "/?go=clockout",
      "icons": [{ "src": "icon-192.png", "sizes": "192x192" }]
    },
    {
      "name": "Submit Receipt",
      "short_name": "Receipt",
      "description": "Snap a receipt for reimbursement",
      "url": "/?go=receipts",
      "icons": [{ "src": "icon-192.png", "sizes": "192x192" }]
    },
    {
      "name": "Submit Damage",
      "short_name": "Damage",
      "description": "Report property damage",
      "url": "/?go=damage",
      "icons": [{ "src": "icon-192.png", "sizes": "192x192" }]
    }
  ]
}
