[{"data":1,"prerenderedAt":871},["ShallowReactive",2],{"$f12h0y5rur9xs8":3,"mdc-7wu2bl-key":14},{"release":4,"newer":10,"older":12,"page":13},{"tag":5,"name":5,"publishedAt":6,"url":7,"prerelease":8,"markdown":9},"v1.0.0","2026-02-06T04:12:02Z","https:\u002F\u002Fgithub.com\u002Fanhourtec\u002FBookYourPTO-SaaS\u002Freleases\u002Ftag\u002Fv1.0.0",false,"We're excited to announce the first official release of **BookYourPTO** — an all-in-one leave, time tracking, expense, and document management platform for modern teams.\n\nAvailable as an **open-source community edition** for self-hosting and a **cloud-hosted version** with Pro, Business, and Enterprise plans at [bookyourpto.com](https:\u002F\u002Fbookyourpto.com).\n\nDevelopment began on **December 22, 2025**, and v1.0.0 marks the culmination of six weeks of active development.\n\n---\n\n## Core Platform (All Plans)\n\n### Leave Management\n- Submit, approve, reject, and cancel leave requests with full workflow support\n- Configurable leave types with custom allowances and accrual rules\n- Leave balance tracking with fiscal year awareness\n- Leave approvals and policies\n- Dashboard calendar with monthly navigation and team-wide visibility\n- Leave transaction audit trail\n\n### Time Tracking\n- Clock in\u002Fout with real-time timer\n- Manual time entry creation, editing, and deletion\n- Project and task management with client association\n- Billable hours tracking\n- Work schedules with customizable shift patterns\n- Timesheet approvals with individual and bulk actions\n- Geolocation capture for clock-in\u002Fout events\n\n### Expense Management\n- Expense submission with AI-powered receipt scanning\n- Mileage and per diem expense types\n- Receipt upload with secure access via short-lived Redis tokens\n- Expense approval workflow\n- Expense reports with filtering and export\n\n### Digital Document Signing\n- Upload and assign documents to single or multiple recipients\n- ESIGN Act compliant digital signature capture\n- Searchable documents with OCR\n- Document preview, view, sign, and decline workflows\n- Browser timezone capture displayed on signed documents\n- Document encryption for sensitive files\n\n### Notifications\n- In-app notification system with real-time bell indicator\n- Notifications for leave submissions, approvals, rejections, and cancellations\n- Notification management page with mark-as-read, clear-all actions\n- Pending items widget on dashboard with role-based display\n\n### Reports & Exports\n- Leave usage reports with filtering and export\n- Timesheet reports with date range selection\n- Time tracking billing reports\n- Security audit log export (CSV)\n- Sign-in log export\n\n### Calendar Integrations\n- Google Calendar sync for approved leave events\n- Microsoft Outlook calendar integration\n- iCal feed support for any calendar application\n\n### Role-Based Access Control\n- Four roles: Employee, Department Head, Administrator, Executive\n- Department Head role for team-level approvals and oversight\n- Role-based permissions across all modules\n- Granular permissions system with per-user overrides\n- Designate approvers with cross-department approval capabilities\n- Locked dates to prevent bookings on specific dates (admin\u002Fexecutive controlled)\n- Executive override for booking on locked dates\n- Project member roles: Owner, Manager, Member\n\n### Authentication & Security\n- JWT-based authentication with refresh token rotation\n- Force password change on first login\n- Redis rate limiting on authentication endpoints\n- Token audit logging\n- Sign-in logs with export\n\n---\n\n## Pro Plan Features\n\n- Up to 10 users\n- 500 receipts\u002Fmonth\n- 1,000 documents with OCR\n- Email support\n\n## Business Plan Features\n\n- Up to 30 users\n- Unlimited receipts and documents with OCR\n- Advanced approval workflows\n- Custom reports\n- Email digest notification system with daily\u002Fweekly scheduling\n- Multi-currency expense support with role-based visibility\n\n### White-Labeling\n- Branding settings with logo, colors, and theme configuration\n- Domain-specific branding (custom domains show org branding)\n- Branding API with cache-control headers\n\n### Auth0 Integration (OIDC)\n- Enterprise Single Sign-On via Auth0\n- Configurable \"Enable Auth0\" and \"Require Auth0 Login\" settings\n- SSO enforcement option for organizations\n- Auto-create users on first SSO login with configurable default role and department\n\n### Audit Logs\n- Comprehensive audit logs with entity types for all modules\n- Security violations tracking and management\n- Time tracking compliance dashboard\n\n### Custom Domains\n- Custom domain support with DNS verification\n- Single custom domain per organization enforcement\n- Public branding endpoint for unauthenticated access\n\n### Priority Support\n\n## Enterprise Plan Features\n\n- Unlimited users\n- Everything in Business\n- Custom limits\n- Dedicated support\n- SLA guarantee\n\n---\n\n## Stripe Billing\n\n- Subscription management with plan-based feature gating\n- Checkout session creation with discount\u002Fcoupon support\n- Invoice tracking and billing history\n- Webhook processing with idempotency protection\n- Plan limits enforced across all API endpoints\n- Plan-based UI gating in settings\n- Refund processing with hardened input validation\n- Free plan default for new organizations\n\n## Email System\n\n- Configurable SMTP settings per organization\n- Test email functionality for verifying configuration\n- Branded email templates with organization logo support\n- Fallback to platform SMTP logo when org has no custom logo\n- Email notifications for leave workflows, document assignments, and more\n\n## Organization & Multi-Tenancy\n\n- Multi-tenant architecture with organization-scoped data isolation\n- Organization onboarding workflow\n- Department management (create, update, delete)\n- User management with role-based access control (Employee, Department Head, Administrator, Executive)\n- Organization statistics dashboard\n- Data backup\u002Fexport endpoint\n\n## Public Holidays\n\n- Country-based public holiday management\n- Regional subdivision holiday support\n- Per-user holiday override system\n- Dashboard calendar displays user-specific holidays\n\n## Infrastructure & Deployment\n\n- Docker containerization with multi-stage builds\n- Docker Compose with PostgreSQL, Redis, and application services\n- Environment variable configuration for all services (Stripe, SMTP, OAuth)\n- Persistent document storage via Docker volumes\n- Nuxt 3 full-stack framework\n- Prisma ORM with PostgreSQL\n- Redis for caching, rate limiting, and session management\n- Cloudflare integration for domain management\n\n## UI\u002FUX\n\n- Responsive design across all pages (mobile, tablet, desktop)\n- Dark\u002Flight mode support\n- App Launcher navigation for unified approvals and reports\n- Sticky dashboard calendar with team visibility\n- Custom modal components with scroll support and mobile optimization\n- Area charts for analytics visualization",{"tag":11,"name":11},"v1.0.1",null,3,{"data":15,"body":16},{},{"type":17,"children":18},"root",[19,35,65,77,81,88,95,130,136,174,180,208,214,247,253,276,282,310,316,334,340,383,389,417,420,426,449,455,488,494,512,518,541,547,565,571,589,595,601,629,632,638,681,687,715,721,754,760,783,789,832,838],{"type":20,"tag":21,"props":22,"children":23},"element","p",{},[24,27,33],{"type":25,"value":26},"text","We're excited to announce the first official release of ",{"type":20,"tag":28,"props":29,"children":30},"strong",{},[31],{"type":25,"value":32},"BookYourPTO",{"type":25,"value":34}," — an all-in-one leave, time tracking, expense, and document management platform for modern teams.",{"type":20,"tag":21,"props":36,"children":37},{},[38,40,45,47,52,54,63],{"type":25,"value":39},"Available as an ",{"type":20,"tag":28,"props":41,"children":42},{},[43],{"type":25,"value":44},"open-source community edition",{"type":25,"value":46}," for self-hosting and a ",{"type":20,"tag":28,"props":48,"children":49},{},[50],{"type":25,"value":51},"cloud-hosted version",{"type":25,"value":53}," with Pro, Business, and Enterprise plans at ",{"type":20,"tag":55,"props":56,"children":60},"a",{"href":57,"rel":58},"https:\u002F\u002Fbookyourpto.com",[59],"nofollow",[61],{"type":25,"value":62},"bookyourpto.com",{"type":25,"value":64},".",{"type":20,"tag":21,"props":66,"children":67},{},[68,70,75],{"type":25,"value":69},"Development began on ",{"type":20,"tag":28,"props":71,"children":72},{},[73],{"type":25,"value":74},"December 22, 2025",{"type":25,"value":76},", and v1.0.0 marks the culmination of six weeks of active development.",{"type":20,"tag":78,"props":79,"children":80},"hr",{},[],{"type":20,"tag":82,"props":83,"children":85},"h2",{"id":84},"core-platform-all-plans",[86],{"type":25,"value":87},"Core Platform (All Plans)",{"type":20,"tag":89,"props":90,"children":92},"h3",{"id":91},"leave-management",[93],{"type":25,"value":94},"Leave Management",{"type":20,"tag":96,"props":97,"children":98},"ul",{},[99,105,110,115,120,125],{"type":20,"tag":100,"props":101,"children":102},"li",{},[103],{"type":25,"value":104},"Submit, approve, reject, and cancel leave requests with full workflow support",{"type":20,"tag":100,"props":106,"children":107},{},[108],{"type":25,"value":109},"Configurable leave types with custom allowances and accrual rules",{"type":20,"tag":100,"props":111,"children":112},{},[113],{"type":25,"value":114},"Leave balance tracking with fiscal year awareness",{"type":20,"tag":100,"props":116,"children":117},{},[118],{"type":25,"value":119},"Leave approvals and policies",{"type":20,"tag":100,"props":121,"children":122},{},[123],{"type":25,"value":124},"Dashboard calendar with monthly navigation and team-wide visibility",{"type":20,"tag":100,"props":126,"children":127},{},[128],{"type":25,"value":129},"Leave transaction audit trail",{"type":20,"tag":89,"props":131,"children":133},{"id":132},"time-tracking",[134],{"type":25,"value":135},"Time Tracking",{"type":20,"tag":96,"props":137,"children":138},{},[139,144,149,154,159,164,169],{"type":20,"tag":100,"props":140,"children":141},{},[142],{"type":25,"value":143},"Clock in\u002Fout with real-time timer",{"type":20,"tag":100,"props":145,"children":146},{},[147],{"type":25,"value":148},"Manual time entry creation, editing, and deletion",{"type":20,"tag":100,"props":150,"children":151},{},[152],{"type":25,"value":153},"Project and task management with client association",{"type":20,"tag":100,"props":155,"children":156},{},[157],{"type":25,"value":158},"Billable hours tracking",{"type":20,"tag":100,"props":160,"children":161},{},[162],{"type":25,"value":163},"Work schedules with customizable shift patterns",{"type":20,"tag":100,"props":165,"children":166},{},[167],{"type":25,"value":168},"Timesheet approvals with individual and bulk actions",{"type":20,"tag":100,"props":170,"children":171},{},[172],{"type":25,"value":173},"Geolocation capture for clock-in\u002Fout events",{"type":20,"tag":89,"props":175,"children":177},{"id":176},"expense-management",[178],{"type":25,"value":179},"Expense Management",{"type":20,"tag":96,"props":181,"children":182},{},[183,188,193,198,203],{"type":20,"tag":100,"props":184,"children":185},{},[186],{"type":25,"value":187},"Expense submission with AI-powered receipt scanning",{"type":20,"tag":100,"props":189,"children":190},{},[191],{"type":25,"value":192},"Mileage and per diem expense types",{"type":20,"tag":100,"props":194,"children":195},{},[196],{"type":25,"value":197},"Receipt upload with secure access via short-lived Redis tokens",{"type":20,"tag":100,"props":199,"children":200},{},[201],{"type":25,"value":202},"Expense approval workflow",{"type":20,"tag":100,"props":204,"children":205},{},[206],{"type":25,"value":207},"Expense reports with filtering and export",{"type":20,"tag":89,"props":209,"children":211},{"id":210},"digital-document-signing",[212],{"type":25,"value":213},"Digital Document Signing",{"type":20,"tag":96,"props":215,"children":216},{},[217,222,227,232,237,242],{"type":20,"tag":100,"props":218,"children":219},{},[220],{"type":25,"value":221},"Upload and assign documents to single or multiple recipients",{"type":20,"tag":100,"props":223,"children":224},{},[225],{"type":25,"value":226},"ESIGN Act compliant digital signature capture",{"type":20,"tag":100,"props":228,"children":229},{},[230],{"type":25,"value":231},"Searchable documents with OCR",{"type":20,"tag":100,"props":233,"children":234},{},[235],{"type":25,"value":236},"Document preview, view, sign, and decline workflows",{"type":20,"tag":100,"props":238,"children":239},{},[240],{"type":25,"value":241},"Browser timezone capture displayed on signed documents",{"type":20,"tag":100,"props":243,"children":244},{},[245],{"type":25,"value":246},"Document encryption for sensitive files",{"type":20,"tag":89,"props":248,"children":250},{"id":249},"notifications",[251],{"type":25,"value":252},"Notifications",{"type":20,"tag":96,"props":254,"children":255},{},[256,261,266,271],{"type":20,"tag":100,"props":257,"children":258},{},[259],{"type":25,"value":260},"In-app notification system with real-time bell indicator",{"type":20,"tag":100,"props":262,"children":263},{},[264],{"type":25,"value":265},"Notifications for leave submissions, approvals, rejections, and cancellations",{"type":20,"tag":100,"props":267,"children":268},{},[269],{"type":25,"value":270},"Notification management page with mark-as-read, clear-all actions",{"type":20,"tag":100,"props":272,"children":273},{},[274],{"type":25,"value":275},"Pending items widget on dashboard with role-based display",{"type":20,"tag":89,"props":277,"children":279},{"id":278},"reports-exports",[280],{"type":25,"value":281},"Reports & Exports",{"type":20,"tag":96,"props":283,"children":284},{},[285,290,295,300,305],{"type":20,"tag":100,"props":286,"children":287},{},[288],{"type":25,"value":289},"Leave usage reports with filtering and export",{"type":20,"tag":100,"props":291,"children":292},{},[293],{"type":25,"value":294},"Timesheet reports with date range selection",{"type":20,"tag":100,"props":296,"children":297},{},[298],{"type":25,"value":299},"Time tracking billing reports",{"type":20,"tag":100,"props":301,"children":302},{},[303],{"type":25,"value":304},"Security audit log export (CSV)",{"type":20,"tag":100,"props":306,"children":307},{},[308],{"type":25,"value":309},"Sign-in log export",{"type":20,"tag":89,"props":311,"children":313},{"id":312},"calendar-integrations",[314],{"type":25,"value":315},"Calendar Integrations",{"type":20,"tag":96,"props":317,"children":318},{},[319,324,329],{"type":20,"tag":100,"props":320,"children":321},{},[322],{"type":25,"value":323},"Google Calendar sync for approved leave events",{"type":20,"tag":100,"props":325,"children":326},{},[327],{"type":25,"value":328},"Microsoft Outlook calendar integration",{"type":20,"tag":100,"props":330,"children":331},{},[332],{"type":25,"value":333},"iCal feed support for any calendar application",{"type":20,"tag":89,"props":335,"children":337},{"id":336},"role-based-access-control",[338],{"type":25,"value":339},"Role-Based Access Control",{"type":20,"tag":96,"props":341,"children":342},{},[343,348,353,358,363,368,373,378],{"type":20,"tag":100,"props":344,"children":345},{},[346],{"type":25,"value":347},"Four roles: Employee, Department Head, Administrator, Executive",{"type":20,"tag":100,"props":349,"children":350},{},[351],{"type":25,"value":352},"Department Head role for team-level approvals and oversight",{"type":20,"tag":100,"props":354,"children":355},{},[356],{"type":25,"value":357},"Role-based permissions across all modules",{"type":20,"tag":100,"props":359,"children":360},{},[361],{"type":25,"value":362},"Granular permissions system with per-user overrides",{"type":20,"tag":100,"props":364,"children":365},{},[366],{"type":25,"value":367},"Designate approvers with cross-department approval capabilities",{"type":20,"tag":100,"props":369,"children":370},{},[371],{"type":25,"value":372},"Locked dates to prevent bookings on specific dates (admin\u002Fexecutive controlled)",{"type":20,"tag":100,"props":374,"children":375},{},[376],{"type":25,"value":377},"Executive override for booking on locked dates",{"type":20,"tag":100,"props":379,"children":380},{},[381],{"type":25,"value":382},"Project member roles: Owner, Manager, Member",{"type":20,"tag":89,"props":384,"children":386},{"id":385},"authentication-security",[387],{"type":25,"value":388},"Authentication & Security",{"type":20,"tag":96,"props":390,"children":391},{},[392,397,402,407,412],{"type":20,"tag":100,"props":393,"children":394},{},[395],{"type":25,"value":396},"JWT-based authentication with refresh token rotation",{"type":20,"tag":100,"props":398,"children":399},{},[400],{"type":25,"value":401},"Force password change on first login",{"type":20,"tag":100,"props":403,"children":404},{},[405],{"type":25,"value":406},"Redis rate limiting on authentication endpoints",{"type":20,"tag":100,"props":408,"children":409},{},[410],{"type":25,"value":411},"Token audit logging",{"type":20,"tag":100,"props":413,"children":414},{},[415],{"type":25,"value":416},"Sign-in logs with export",{"type":20,"tag":78,"props":418,"children":419},{},[],{"type":20,"tag":82,"props":421,"children":423},{"id":422},"pro-plan-features",[424],{"type":25,"value":425},"Pro Plan Features",{"type":20,"tag":96,"props":427,"children":428},{},[429,434,439,444],{"type":20,"tag":100,"props":430,"children":431},{},[432],{"type":25,"value":433},"Up to 10 users",{"type":20,"tag":100,"props":435,"children":436},{},[437],{"type":25,"value":438},"500 receipts\u002Fmonth",{"type":20,"tag":100,"props":440,"children":441},{},[442],{"type":25,"value":443},"1,000 documents with OCR",{"type":20,"tag":100,"props":445,"children":446},{},[447],{"type":25,"value":448},"Email support",{"type":20,"tag":82,"props":450,"children":452},{"id":451},"business-plan-features",[453],{"type":25,"value":454},"Business Plan Features",{"type":20,"tag":96,"props":456,"children":457},{},[458,463,468,473,478,483],{"type":20,"tag":100,"props":459,"children":460},{},[461],{"type":25,"value":462},"Up to 30 users",{"type":20,"tag":100,"props":464,"children":465},{},[466],{"type":25,"value":467},"Unlimited receipts and documents with OCR",{"type":20,"tag":100,"props":469,"children":470},{},[471],{"type":25,"value":472},"Advanced approval workflows",{"type":20,"tag":100,"props":474,"children":475},{},[476],{"type":25,"value":477},"Custom reports",{"type":20,"tag":100,"props":479,"children":480},{},[481],{"type":25,"value":482},"Email digest notification system with daily\u002Fweekly scheduling",{"type":20,"tag":100,"props":484,"children":485},{},[486],{"type":25,"value":487},"Multi-currency expense support with role-based visibility",{"type":20,"tag":89,"props":489,"children":491},{"id":490},"white-labeling",[492],{"type":25,"value":493},"White-Labeling",{"type":20,"tag":96,"props":495,"children":496},{},[497,502,507],{"type":20,"tag":100,"props":498,"children":499},{},[500],{"type":25,"value":501},"Branding settings with logo, colors, and theme configuration",{"type":20,"tag":100,"props":503,"children":504},{},[505],{"type":25,"value":506},"Domain-specific branding (custom domains show org branding)",{"type":20,"tag":100,"props":508,"children":509},{},[510],{"type":25,"value":511},"Branding API with cache-control headers",{"type":20,"tag":89,"props":513,"children":515},{"id":514},"auth0-integration-oidc",[516],{"type":25,"value":517},"Auth0 Integration (OIDC)",{"type":20,"tag":96,"props":519,"children":520},{},[521,526,531,536],{"type":20,"tag":100,"props":522,"children":523},{},[524],{"type":25,"value":525},"Enterprise Single Sign-On via Auth0",{"type":20,"tag":100,"props":527,"children":528},{},[529],{"type":25,"value":530},"Configurable \"Enable Auth0\" and \"Require Auth0 Login\" settings",{"type":20,"tag":100,"props":532,"children":533},{},[534],{"type":25,"value":535},"SSO enforcement option for organizations",{"type":20,"tag":100,"props":537,"children":538},{},[539],{"type":25,"value":540},"Auto-create users on first SSO login with configurable default role and department",{"type":20,"tag":89,"props":542,"children":544},{"id":543},"audit-logs",[545],{"type":25,"value":546},"Audit Logs",{"type":20,"tag":96,"props":548,"children":549},{},[550,555,560],{"type":20,"tag":100,"props":551,"children":552},{},[553],{"type":25,"value":554},"Comprehensive audit logs with entity types for all modules",{"type":20,"tag":100,"props":556,"children":557},{},[558],{"type":25,"value":559},"Security violations tracking and management",{"type":20,"tag":100,"props":561,"children":562},{},[563],{"type":25,"value":564},"Time tracking compliance dashboard",{"type":20,"tag":89,"props":566,"children":568},{"id":567},"custom-domains",[569],{"type":25,"value":570},"Custom Domains",{"type":20,"tag":96,"props":572,"children":573},{},[574,579,584],{"type":20,"tag":100,"props":575,"children":576},{},[577],{"type":25,"value":578},"Custom domain support with DNS verification",{"type":20,"tag":100,"props":580,"children":581},{},[582],{"type":25,"value":583},"Single custom domain per organization enforcement",{"type":20,"tag":100,"props":585,"children":586},{},[587],{"type":25,"value":588},"Public branding endpoint for unauthenticated access",{"type":20,"tag":89,"props":590,"children":592},{"id":591},"priority-support",[593],{"type":25,"value":594},"Priority Support",{"type":20,"tag":82,"props":596,"children":598},{"id":597},"enterprise-plan-features",[599],{"type":25,"value":600},"Enterprise Plan Features",{"type":20,"tag":96,"props":602,"children":603},{},[604,609,614,619,624],{"type":20,"tag":100,"props":605,"children":606},{},[607],{"type":25,"value":608},"Unlimited users",{"type":20,"tag":100,"props":610,"children":611},{},[612],{"type":25,"value":613},"Everything in Business",{"type":20,"tag":100,"props":615,"children":616},{},[617],{"type":25,"value":618},"Custom limits",{"type":20,"tag":100,"props":620,"children":621},{},[622],{"type":25,"value":623},"Dedicated support",{"type":20,"tag":100,"props":625,"children":626},{},[627],{"type":25,"value":628},"SLA guarantee",{"type":20,"tag":78,"props":630,"children":631},{},[],{"type":20,"tag":82,"props":633,"children":635},{"id":634},"stripe-billing",[636],{"type":25,"value":637},"Stripe Billing",{"type":20,"tag":96,"props":639,"children":640},{},[641,646,651,656,661,666,671,676],{"type":20,"tag":100,"props":642,"children":643},{},[644],{"type":25,"value":645},"Subscription management with plan-based feature gating",{"type":20,"tag":100,"props":647,"children":648},{},[649],{"type":25,"value":650},"Checkout session creation with discount\u002Fcoupon support",{"type":20,"tag":100,"props":652,"children":653},{},[654],{"type":25,"value":655},"Invoice tracking and billing history",{"type":20,"tag":100,"props":657,"children":658},{},[659],{"type":25,"value":660},"Webhook processing with idempotency protection",{"type":20,"tag":100,"props":662,"children":663},{},[664],{"type":25,"value":665},"Plan limits enforced across all API endpoints",{"type":20,"tag":100,"props":667,"children":668},{},[669],{"type":25,"value":670},"Plan-based UI gating in settings",{"type":20,"tag":100,"props":672,"children":673},{},[674],{"type":25,"value":675},"Refund processing with hardened input validation",{"type":20,"tag":100,"props":677,"children":678},{},[679],{"type":25,"value":680},"Free plan default for new organizations",{"type":20,"tag":82,"props":682,"children":684},{"id":683},"email-system",[685],{"type":25,"value":686},"Email System",{"type":20,"tag":96,"props":688,"children":689},{},[690,695,700,705,710],{"type":20,"tag":100,"props":691,"children":692},{},[693],{"type":25,"value":694},"Configurable SMTP settings per organization",{"type":20,"tag":100,"props":696,"children":697},{},[698],{"type":25,"value":699},"Test email functionality for verifying configuration",{"type":20,"tag":100,"props":701,"children":702},{},[703],{"type":25,"value":704},"Branded email templates with organization logo support",{"type":20,"tag":100,"props":706,"children":707},{},[708],{"type":25,"value":709},"Fallback to platform SMTP logo when org has no custom logo",{"type":20,"tag":100,"props":711,"children":712},{},[713],{"type":25,"value":714},"Email notifications for leave workflows, document assignments, and more",{"type":20,"tag":82,"props":716,"children":718},{"id":717},"organization-multi-tenancy",[719],{"type":25,"value":720},"Organization & Multi-Tenancy",{"type":20,"tag":96,"props":722,"children":723},{},[724,729,734,739,744,749],{"type":20,"tag":100,"props":725,"children":726},{},[727],{"type":25,"value":728},"Multi-tenant architecture with organization-scoped data isolation",{"type":20,"tag":100,"props":730,"children":731},{},[732],{"type":25,"value":733},"Organization onboarding workflow",{"type":20,"tag":100,"props":735,"children":736},{},[737],{"type":25,"value":738},"Department management (create, update, delete)",{"type":20,"tag":100,"props":740,"children":741},{},[742],{"type":25,"value":743},"User management with role-based access control (Employee, Department Head, Administrator, Executive)",{"type":20,"tag":100,"props":745,"children":746},{},[747],{"type":25,"value":748},"Organization statistics dashboard",{"type":20,"tag":100,"props":750,"children":751},{},[752],{"type":25,"value":753},"Data backup\u002Fexport endpoint",{"type":20,"tag":82,"props":755,"children":757},{"id":756},"public-holidays",[758],{"type":25,"value":759},"Public Holidays",{"type":20,"tag":96,"props":761,"children":762},{},[763,768,773,778],{"type":20,"tag":100,"props":764,"children":765},{},[766],{"type":25,"value":767},"Country-based public holiday management",{"type":20,"tag":100,"props":769,"children":770},{},[771],{"type":25,"value":772},"Regional subdivision holiday support",{"type":20,"tag":100,"props":774,"children":775},{},[776],{"type":25,"value":777},"Per-user holiday override system",{"type":20,"tag":100,"props":779,"children":780},{},[781],{"type":25,"value":782},"Dashboard calendar displays user-specific holidays",{"type":20,"tag":82,"props":784,"children":786},{"id":785},"infrastructure-deployment",[787],{"type":25,"value":788},"Infrastructure & Deployment",{"type":20,"tag":96,"props":790,"children":791},{},[792,797,802,807,812,817,822,827],{"type":20,"tag":100,"props":793,"children":794},{},[795],{"type":25,"value":796},"Docker containerization with multi-stage builds",{"type":20,"tag":100,"props":798,"children":799},{},[800],{"type":25,"value":801},"Docker Compose with PostgreSQL, Redis, and application services",{"type":20,"tag":100,"props":803,"children":804},{},[805],{"type":25,"value":806},"Environment variable configuration for all services (Stripe, SMTP, OAuth)",{"type":20,"tag":100,"props":808,"children":809},{},[810],{"type":25,"value":811},"Persistent document storage via Docker volumes",{"type":20,"tag":100,"props":813,"children":814},{},[815],{"type":25,"value":816},"Nuxt 3 full-stack framework",{"type":20,"tag":100,"props":818,"children":819},{},[820],{"type":25,"value":821},"Prisma ORM with PostgreSQL",{"type":20,"tag":100,"props":823,"children":824},{},[825],{"type":25,"value":826},"Redis for caching, rate limiting, and session management",{"type":20,"tag":100,"props":828,"children":829},{},[830],{"type":25,"value":831},"Cloudflare integration for domain management",{"type":20,"tag":82,"props":833,"children":835},{"id":834},"uiux",[836],{"type":25,"value":837},"UI\u002FUX",{"type":20,"tag":96,"props":839,"children":840},{},[841,846,851,856,861,866],{"type":20,"tag":100,"props":842,"children":843},{},[844],{"type":25,"value":845},"Responsive design across all pages (mobile, tablet, desktop)",{"type":20,"tag":100,"props":847,"children":848},{},[849],{"type":25,"value":850},"Dark\u002Flight mode support",{"type":20,"tag":100,"props":852,"children":853},{},[854],{"type":25,"value":855},"App Launcher navigation for unified approvals and reports",{"type":20,"tag":100,"props":857,"children":858},{},[859],{"type":25,"value":860},"Sticky dashboard calendar with team visibility",{"type":20,"tag":100,"props":862,"children":863},{},[864],{"type":25,"value":865},"Custom modal components with scroll support and mobile optimization",{"type":20,"tag":100,"props":867,"children":868},{},[869],{"type":25,"value":870},"Area charts for analytics visualization",1790889966001]