Getting Started

Miho PTO is a modern time-off management platform designed to simplify how teams request, approve, and track paid time off. Whether you're a small startup or a growing company, Miho PTO helps you:

  • Eliminate spreadsheets - No more tracking PTO in Excel or Google Sheets
  • Streamline approvals - Managers can approve requests with one click
  • Stay organized - See team availability at a glance with shared calendars
  • Integrate seamlessly - Connect with Slack and Google Calendar
  • Get AI assistance - Ask our chatbot questions about your PTO balance and policies

There are two ways to get started with Miho PTO:

Option 1: Create a new organization
  1. Click Get Started on the homepage
  2. Enter your email address and create a strong password
  3. Provide your organization name
  4. Verify your email address by clicking the link we send you
  5. You're now the owner of your organization!
Option 2: Join via invitation
  1. Check your email for an invitation from your organization
  2. Click the invitation link (valid for 7 days)
  3. Create your account or sign in if you already have one
  4. You'll automatically be added to the organization

Your dashboard is your home base in Miho PTO. Here's what you'll find:

  • PTO Balance - Your current available days, days used, and days pending approval
  • Quick Actions - One-click buttons to request time off or view the calendar
  • Upcoming PTO - Your approved time off that's coming up
  • Team Calendar - See when your teammates are out
  • Pending Approvals (Managers only) - Requests waiting for your review
  • Recent Activity - Latest updates on your requests

Miho PTO has four user roles with different permissions:

Role Can Do
Owner Everything + transfer ownership, delete organization, manage billing
Admin Manage all users, teams, settings, view all reports, send invites
Manager Approve/deny requests, view team calendar, manage team members
Employee Submit requests, view own balance, see team calendar

Email verification helps keep your account secure. After signing up:

  1. Check your inbox for an email from Miho PTO
  2. Click the verification link in the email
  3. Your account is now verified!

Didn't receive the email?

  • Check your spam/junk folder
  • Make sure you entered the correct email address
  • Click "Resend verification email" on the login page
  • Wait at least 60 seconds between resend attempts
Verification links expire after 24 hours. Request a new one if yours has expired.

Forgot your password? No problem!

  1. Go to the login page
  2. Click "Forgot password?"
  3. Enter your email address
  4. Check your email for the reset link
  5. Click the link and create a new password

Password requirements:

  • At least 8 characters long
  • Contains uppercase and lowercase letters
  • Contains at least one number
  • Contains at least one special character (!@#$%^&*)
Password reset links expire after 1 hour for security reasons.

For Employees

Submitting a PTO request takes just a few seconds:

  1. Click "Request Time Off" on your dashboard
  2. Select your start and end dates
  3. Choose full days or half days (0.5 increments)
  4. Add an optional reason or note
  5. Click "Submit Request"

Your manager will be notified automatically and can approve or deny your request.

Pro tip: The system automatically calculates business days, excluding weekends.

Your PTO balance shows:

  • Available - Days you can request right now
  • Used - Days you've already taken this year
  • Pending - Days awaiting approval
  • Total Allowance - Your annual PTO allocation

The balance resets based on your organization's fiscal year (set by your admin). Most companies use January 1st, but some use their founding date or fiscal year start.

Your PTO requests can be in one of these states:

  • Pending - Waiting for manager approval
  • Approved - You're good to go!
  • Denied - Request was not approved (check comments for reason)
  • Canceled - You canceled the request

View all your requests in the "My Requests" section of your dashboard.

Need to cancel your time off?

  1. Go to your dashboard
  2. Find the request in "My Requests"
  3. Click the Cancel button
  4. Confirm the cancellation

Note: You can cancel pending requests anytime. For approved requests, check with your manager about your organization's cancellation policy.

The team calendar helps you plan time off when it won't impact your team:

  • See who's out on any given day
  • Color-coded by team member
  • View team availability percentages
  • Spot potential conflicts before requesting

Access the team calendar from your dashboard or the navigation menu.

Blackout periods are dates when PTO requests may be restricted. These are typically set during:

  • Major product launches or releases
  • End of quarter/fiscal year
  • Important company events
  • Peak business seasons

If you try to request time off during a blackout period, you'll see a warning. Contact your manager if you have special circumstances.

You can export your PTO data in several formats:

  • CSV - Open in Excel or Google Sheets
  • ICS - Import into any calendar app
  • JSON - Full data export (GDPR compliance)

Go to Settings > Export Data to download your information.

Subscribe to your PTO calendar in your favorite calendar app:

  1. Go to Settings > Calendar
  2. Click "Generate Subscription URL"
  3. Copy the webcal:// link
  4. Add it to Google Calendar, Outlook, or Apple Calendar

Your calendar will automatically update whenever PTO is approved or canceled!

You can also subscribe to your entire team's PTO calendar.

For Managers

When a team member requests time off, you'll be notified via email and Slack (if configured).

To approve or deny:
  1. Go to Pending Approvals on your dashboard
  2. Review the request details and dates
  3. Check team coverage for those dates
  4. Click Approve or Deny
  5. Optionally add a comment explaining your decision

The employee will be notified immediately of your decision.

As a manager, you can:

  • View all team members and their PTO balances
  • See upcoming approved time off
  • Check team availability for any date range
  • View individual team member request history

Go to My Team to access these features.

Ensure adequate team coverage with minimum staffing thresholds:

  • Set minimum coverage percentage per team
  • Requests that would breach coverage are flagged
  • View coverage levels before approving
  • Override coverage warnings when necessary

Ask your admin to configure coverage thresholds for your team.

Don't let requests slip through the cracks! Miho PTO sends automatic reminders:

  • Email reminders for requests pending 24+ hours
  • Slack notifications (if configured)
  • Dashboard badge showing pending count

Reminders are rate-limited to avoid overwhelming you - you'll get at most one reminder per request per day.

The team calendar gives you a bird's-eye view of your team's time off:

  • All approved PTO displayed on a monthly view
  • Color-coded by team member
  • Daily team availability percentage
  • Click any day to see who's out
  • Export to CSV or ICS

Access team-level reports including:

  • YTD PTO usage by team member
  • Remaining balances
  • Approval rates and timing
  • Popular time off periods

Export reports to CSV for further analysis or HR reporting.

Need to adjust someone's PTO balance? You may need admin privileges for this. Contact your organization admin to:

  • Add bonus PTO days
  • Correct balance errors
  • Handle special circumstances
  • Process carryover from previous year

All balance changes are logged in the audit trail.

For Admins

Configure your organization in Settings > Organization:

  • Organization name - Your company name
  • Default PTO balance - Annual PTO days for new employees
  • Fiscal year start - When PTO balances reset (January by default)
  • Timezone - Used for date calculations

Add new team members to your organization:

  1. Go to Settings > Team Members
  2. Click "Invite Member"
  3. Enter their email address
  4. Select their role (Admin, Manager, or Employee)
  5. Click "Send Invite"

Invitations are valid for 7 days. You can resend or revoke pending invites anytime.

Plan limits apply: Free (5 users), Starter (25), Pro (100), Enterprise (unlimited)

Organize your company into teams for better PTO management:

  1. Go to Settings > Teams
  2. Click "Create Team"
  3. Enter team name (e.g., "Engineering", "Sales")
  4. Assign a team manager
  5. Add team members
  6. Set minimum coverage threshold (optional)

Team managers automatically receive approval requests from their team members.

Change a user's role or permissions:

  1. Go to Settings > Team Members
  2. Find the user and click their name
  3. Select a new role from the dropdown
  4. Click "Save Changes"

Role hierarchy: Owner > Admin > Manager > Employee

Only the Owner can promote someone to Admin. Only one Owner can exist per organization.

Block PTO requests during critical business periods:

  1. Go to Settings > Blackout Periods
  2. Click "Add Blackout Period"
  3. Select start and end dates
  4. Add a reason (e.g., "Year-end close")
  5. Click "Save"

Employees will see a warning when trying to request time off during these periods.

Manually adjust an employee's PTO balance:

  1. Go to Settings > Team Members
  2. Click on the employee's name
  3. Click "Adjust Balance"
  4. Enter the adjustment amount (positive or negative)
  5. Add a reason for the adjustment
  6. Click "Apply"

All adjustments are logged in the audit trail for compliance.

View a complete history of all actions in your organization:

  • User logins and logouts
  • PTO requests, approvals, and denials
  • Balance adjustments
  • Settings changes
  • User role changes
  • Team modifications

Access audit logs in Settings > Audit Logs. Filter by user, action type, or date range.

When an employee leaves, deactivate their account instead of deleting:

  1. Go to Settings > Team Members
  2. Find the user and click "Deactivate"
  3. Confirm the action

What happens:

  • User can no longer log in
  • Historical PTO data is preserved
  • Their requests remain in reports
  • User count decreases for billing purposes

You can reactivate users later if needed.

Access comprehensive organization-wide reports:

  • PTO Summary - All employees' balances and usage
  • Approval Metrics - Approval rates and timing
  • Usage Trends - Popular months, day-of-week patterns
  • Team Breakdown - PTO by team/department

Export any report to CSV for further analysis or HR systems.

Miho PTO is designed with privacy in mind:

  • Audit logs - Retained for 90 days by default
  • Deleted users - PTO history anonymized, statistics preserved
  • Expired invites - Automatically cleaned up

Users can request data export or account deletion under GDPR (see Privacy section).

Integrations

Get PTO notifications directly in Slack:

Setup (Admin only)
  1. Go to Settings > Integrations > Slack
  2. Create an Incoming Webhook in your Slack workspace
  3. Paste the webhook URL into Miho PTO
  4. Choose which notifications to send
  5. Click "Test Webhook" to verify
Notification types:
  • New PTO request submitted
  • Request approved
  • Request denied

Automatically sync your PTO to Google Calendar:

  1. Go to Settings > Integrations > Google Calendar
  2. Click "Connect Google Calendar"
  3. Sign in with your Google account
  4. Grant Miho PTO permission to create events
  5. Choose which calendar to use
What gets synced:
  • Approved PTO - automatically added as all-day events
  • Pending PTO (optional) - shown with "[Pending]" prefix
  • Canceled PTO - events automatically removed

Subscribe to PTO calendars in any calendar app that supports iCal:

  1. Go to Settings > Calendar
  2. Click "Generate Subscription URL"
  3. Copy the webcal:// URL
  4. Add it to your calendar app
Works with:
  • Google Calendar
  • Microsoft Outlook
  • Apple Calendar
  • Any app supporting iCal/webcal
Calendar subscriptions are read-only and update automatically.

Miho PTO sends email notifications for:

  • Employees: Request approved/denied, upcoming PTO reminders
  • Managers: New requests to approve, approval reminders
  • Admins: System alerts, billing notifications

Manage your email preferences in Settings > Notifications.

Build custom integrations with the Miho PTO API:

  • RESTful API with JSON responses
  • Self-service API key management
  • Rate limited for fair usage (1000 requests/hour)
  • All endpoints under /api/v1/
Getting Started
  1. Go to Settings > API Keys
  2. Create a new API key
  3. Use the key in the X-API-Key header

Available on Business+ and Enterprise plans. See Enterprise Features for detailed setup instructions.

AI Assistant

Our AI assistant can help you with PTO questions:

  • "What's my current PTO balance?"
  • "How do I request time off?"
  • "What's our PTO policy?"
  • "Who approves my requests?"
  • "How many days have I taken this year?"

Access the AI chat from AI Chat in the navigation menu.

Admins can upload company documents to enhance the AI:

  1. Go to AI Chat
  2. Click the "+" button in the Knowledge Base section
  3. Upload a document or paste text
  4. Add a title and category
  5. Click "Save"
Supported formats:
  • Text files (.txt)
  • Markdown files (.md)

The AI will use these documents to answer employee questions accurately.

Your data is secure:

  • Knowledge documents are only visible to your organization
  • Chat conversations are private to each user
  • We use industry-leading AI providers (Anthropic/Claude)
  • Documents are not used to train AI models

The AI chat feature requires configuration by your system administrator:

  1. Set up an API key with Anthropic (Claude)
  2. Enable the chat feature in environment settings
  3. Optionally upload knowledge documents

Once enabled, all employees can access the AI assistant.

Enterprise Features

Enterprise Plan Required: The features in this section are available on Enterprise plans (and Business+ for API Keys). View pricing

Create and manage API keys for programmatic access to Miho PTO:

Creating an API Key
  1. Go to Settings > API Keys
  2. Click "Create API Key"
  3. Enter a descriptive name (e.g., "HR Integration", "Payroll Sync")
  4. Set an expiration date (optional but recommended)
  5. Select scopes/permissions for the key
  6. Click "Generate Key"
Important: Copy your API key immediately! It's only shown once and cannot be retrieved later.
Using Your API Key

Include your API key in the X-API-Key header:

curl -H "X-API-Key: your_api_key_here" \
  https://app.mihopto.com/api/v1/pto-requests
Key Management
  • View all active keys and their last usage
  • Revoke keys that are no longer needed
  • Expired keys are automatically disabled
  • All API usage is logged in the audit trail

Enable secure single sign-on using your identity provider:

Supported Providers
  • Okta
  • Azure Active Directory / Entra ID
  • Google Workspace (SAML)
  • OneLogin
  • Any SAML 2.0 compatible IdP
Setup Steps
  1. Go to Settings > SSO Configuration
  2. Select your identity provider
  3. Download the Miho PTO SP metadata XML
  4. Configure Miho PTO as an application in your IdP
  5. Enter your IdP's metadata (Entity ID, SSO URL, Certificate)
  6. Test the connection
  7. Enable SSO for your organization
Configuration Options
  • Enforce SSO - Disable password login, require SSO
  • JIT Provisioning - Automatically create user accounts on first login
  • Attribute Mapping - Map IdP attributes to Miho PTO fields
  • Admin Bypass - Allow admins to use password as backup
SSO login URL format: https://app.mihopto.com/sso/saml/login?org_slug=your-org

Receive real-time notifications when events occur in Miho PTO:

Available Events
  • pto.requested - New PTO request submitted
  • pto.approved - Request approved
  • pto.denied - Request denied
  • pto.canceled - Request canceled
  • user.created - New user added
  • user.updated - User profile changed
  • user.deactivated - User deactivated
Creating a Webhook
  1. Go to Settings > Webhooks
  2. Click "Create Webhook"
  3. Enter your endpoint URL (must be HTTPS)
  4. Select which events to subscribe to
  5. Configure retry settings
  6. Click "Create"
Save your secret! The webhook signing secret is shown only once. You'll need it to verify webhook signatures.
Verifying Webhooks

Each webhook includes an X-PTO-Signature header with an HMAC-SHA256 signature. Verify this signature to ensure the webhook came from Miho PTO:

import hmac
import hashlib

def verify_webhook(payload, signature, secret):
    expected = hmac.new(
        secret.encode('utf-8'),
        payload.encode('utf-8'),
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)
Delivery & Retries
  • Webhooks timeout after 10 seconds
  • Failed deliveries are retried up to 3 times
  • View delivery logs in the webhook settings
  • Test your webhook with the "Send Test" button

Configure automatic PTO accrual based on tenure and schedules:

Setting Up Accrual Rules
  1. Go to Settings > Accrual Rules
  2. Click "Add Accrual Rule"
  3. Select accrual frequency (monthly, bi-weekly, per pay period)
  4. Set the accrual amount (e.g., 1.25 days per month)
  5. Configure tenure tiers if applicable
  6. Set a maximum accrual cap
Tenure-Based Tiers

Reward long-term employees with increased PTO:

TenureMonthly AccrualAnnual Total
0-2 years1.25 days15 days
2-5 years1.67 days20 days
5+ years2.08 days25 days
Accrual Caps
  • Set maximum balance to prevent unlimited accumulation
  • Accrual pauses when cap is reached
  • Resumes automatically when PTO is used

Configure how PTO balances are handled at year-end:

Reset Options
  • Full Reset - Balances reset to annual allowance (use-it-or-lose-it)
  • Carryover - Allow unused PTO to roll over to next year
  • Capped Carryover - Carry over up to a maximum amount
Configuring Carryover
  1. Go to Settings > Balance Reset
  2. Select your carryover policy
  3. If capped, set the maximum carryover days
  4. Set the fiscal year start date
  5. Choose whether to notify employees before reset
Manual Balance Reset

Admins can trigger a manual balance reset:

  1. Go to Settings > Balance Reset
  2. Click "Preview Reset" to see impact
  3. Review the changes for each employee
  4. Click "Execute Reset" to apply
All balance resets are logged in the audit trail and can be reviewed for compliance.

Access detailed analytics and compliance reports:

Available Reports
  • Liability Report - Total accrued PTO value across organization
  • Usage Trends - Monthly/quarterly usage patterns
  • Approval Metrics - Time to approve, approval rates by manager
  • Compliance Report - Ensure policy adherence
  • Forecasting - Predict future absences based on trends
Report Features
  • Filter by date range, team, or department
  • Export to CSV, Excel, or PDF
  • Schedule automated report delivery
  • Share reports with specific users
Scheduled Reports
  1. Go to Reports > Scheduled Reports
  2. Click "Create Schedule"
  3. Select the report type
  4. Set frequency (daily, weekly, monthly)
  5. Add recipient email addresses
  6. Click "Save Schedule"

Billing & Account

Plan Users Features
Free Up to 5 Basic PTO tracking, team calendar
Starter Up to 25 + Custom policies, calendar sync
Pro Up to 100 + Advanced reports, API access
Enterprise Unlimited + SSO, dedicated support, custom features

View detailed pricing

  1. Go to Settings > Billing
  2. Click "Upgrade Plan"
  3. Select your new plan
  4. Enter payment information (if not already on file)
  5. Confirm the upgrade

Upgrades take effect immediately. You'll be charged a prorated amount for the remainder of your billing cycle.

Access the Stripe customer portal to:

  • View and download invoices
  • Update payment method
  • Change billing address
  • View payment history

Go to Settings > Billing > Manage Billing

Your data rights under GDPR:

  • Right to Access - Export all your personal data
  • Right to Portability - Download data in JSON format
  • Right to Erasure - Request account deletion
To export your data:
  1. Go to Settings > Privacy
  2. Click "Export My Data"
  3. Download the JSON file
To delete your account:
  1. Go to Settings > Privacy
  2. Click "Delete My Account"
  3. Confirm by entering your email
Account deletion is permanent and cannot be undone.

Frequently Asked Questions

Yes! Miho PTO is fully responsive and works great on mobile browsers. Simply visit the website on your phone to request time off, check your balance, or approve requests.

PTO balances reset at the start of each fiscal year (configured by your admin). Check with your HR department about carryover policies - some organizations allow unused PTO to carry over, while others have "use it or lose it" policies.

Yes! Miho PTO supports 0.5-day increments. When creating a request, you can specify whether you're taking a full day or half day for each date.

  • Your manager - Sees all your requests and can approve/deny
  • Admins - Can see all requests in the organization
  • Team members - Can see approved PTO on the team calendar (dates only, no details)

Your request reasons are only visible to you, your manager, and admins.

Yes, we take security seriously:

  • All data is encrypted in transit (HTTPS)
  • Passwords are hashed using industry-standard algorithms
  • Sessions are tracked and can be revoked
  • Complete audit trail of all actions
  • Multi-tenant data isolation
  • Regular security updates

Need help? We're here for you:

  • AI Assistant - Get instant answers to common questions
  • Email - support@mihopto.com
  • Enterprise customers - Dedicated support channel

Still have questions?

Try our AI assistant or contact support