Skip to content
Pyas calendars

Calendars for everyone without one

A Pyas calendar is a virtual calendar that your app creates through the API and Pyas hosts, for a person or a thing with no Google or Outlook calendar: a stylist, a technician, a treatment room. It works like any connected calendar, so your booking and scheduling code doesn't care which kind it is.

staff.ts
// A calendar for a stylist who doesn't use Google or Outlook
const stylist = await pyas.accounts.createVirtual({
  provider: 'pyas',
  name: 'Maya Chen',
  timezone: 'America/Chicago',
  subjectId: 'stylist_42',          // your own ID for her
})

// Book a client into it, like any other calendar
await pyas.events.create({
  accountId: stylist.accountId,
  title: 'Cut and color: Jordan',
  startsAt: '2026-11-04T15:00:00Z',
  endsAt: '2026-11-04T16:30:00Z',
  metadata: { bookingId: 'bk_1007' },
})
Not a calendar app

Built for your product, not for sign-ups

Nobody signs up for a Pyas calendar, and nobody opens one. Your app creates them for the people and things it schedules, and those people see your product: their bookings in your screens, and, if they want, their schedule in the calendar app on their phone.

Pyas calendars sit alongside the Google and Outlook accounts your users connect. A salon can keep its stylists on Pyas calendars while clients book from their own Google Calendar, and one call finds a time that suits both.

How it fits together

One booking, three places

A client books Maya in your app. Your app writes the booking to her Pyas calendar, and it shows up in the calendar on her phone.

Your app
Book with Maya ChenColor, 90 minutes · Wed, Nov 4
9:0010:3012:0015:30
Confirm booking
Maya's Pyas calendar
  • 9:00Cut: Jordan
  • 10:30Color: PriyaNew
  • 13:00Blowout: Sam
  • 14:30Cut: Alex
Her phone's calendar
Wednesday
8:00School run
9:00Cut: Jordan
10:30Color: Priya
13:00Blowout: Sam
Purple: Maya Chen: bookings, subscribed
Who they're for

What your product schedules

Most scheduling products have people or things that need a calendar and will never connect one.

  • Staff in a service business

    Stylists, therapists, trainers and practitioners who are booked through your product, not through a calendar of their own.

  • People in the field

    Technicians, drivers and inspectors whose day your product plans and changes.

  • Rooms and equipment

    Chairs, studios, vehicles and machines that need a schedule but have no mailbox.

  • Your own product's schedule

    Classes, sessions and shifts that live in your product and need the same free-time and booking logic as everyone else.

What they do

Everything a connected calendar does

The API is the same for every calendar. Code that books a Google user books a Pyas calendar too.

The same event model
Create, read, update and delete events, recurring series included, with UTC and local times and an IANA zone, exactly as on Google and Outlook.
Free time across everyone
Free/busy and meeting times work across Pyas, Google and Outlook calendars in one call, inside each person's working hours.
Working hours stored
Give each Pyas calendar working days and hours, and meeting times uses them.
Zoom links
Add a Zoom meeting to an event through a host's connected Zoom account, with the same conferencing field.
Your own data
Save booking or order IDs as metadata on any event, and find events by them.
A feed for their phone
A private, read-only link people add to Apple Calendar, Google Calendar or Outlook, so their schedule shows where they already look.
The feed

Their schedule, on their phone

Turn on a calendar's feed and Pyas gives you a private, read-only link. Send it to the person, and they subscribe once in Apple Calendar, Google Calendar or Outlook. Share every detail, or busy times only. Rotate the link and the old one stops working; turn the feed off and it stops entirely.

Turn on the feed
PUT /v2/calendars/primary/feed
{ "accountId": "a3f1…", "details": "full" }

200
{
  "enabled": true,
  "url": "https://api.pyas.io/feeds/9c2e….ics",
  "webcalUrl": "webcal://api.pyas.io/feeds/9c2e….ics",
  "details": "full"
}
  1. Today 9:41
    Hi Maya, your bookings are ready. Add them to your phone's calendar and they'll stay up to date.
    Maya Chen: bookingswebcal://api.pyas.io/feeds/9c2e….icsAdd to calendar
    1. Your app sends the linkBy text, email or a button in your app.
  2. Subscribe to this calendar?Maya Chen: bookings will be added to your calendars. It is read-only and updates on its own.
    CancelSubscribe
    2. They subscribe onceIn Apple Calendar, Google Calendar or Outlook.
  3. Wed 4November
    8:00
    School runPersonal
    9:00
    Cut: JordanMaya Chen: bookings
    10:30
    Color: PriyaMaya Chen: bookings
    13:00
    Blowout: SamMaya Chen: bookings
    14:30
    Cut: AlexMaya Chen: bookings
    3. Bookings appearNext to their own events, and kept up to date.

Questions

Can people sign up for a Pyas calendar?
No. Pyas calendars are created by apps, through the API, for the people and things in that app. There is no Pyas calendar app or sign-up for the public: people see your product, and the calendar's feed in their own calendar app if they add it.
Are Pyas calendars the virtual accounts in the API?
Yes. In the API reference they are virtual accounts and virtual calendars: you create one with POST /v2/accounts and provider pyas, or pyas.accounts.createVirtual in the SDK, and it comes with a primary calendar.
What is a Pyas calendar for?
Anyone or anything your product schedules that has no Google or Outlook calendar, or whose calendar you don't need to connect: a salon's stylists, a clinic's practitioners, tutors, field technicians, meeting rooms and equipment.
Does it work with Google Calendar and Outlook accounts?
Yes. A Pyas calendar uses the same events, free/busy and meeting times as connected Google and Outlook accounts, so one meeting-times call can find a slot across a technician on a Pyas calendar and a customer on Google Calendar.
Can people see their Pyas calendar on their phone?
Yes. Turn on a calendar's feed and you get a private, read-only link that Apple Calendar, Google Calendar or Outlook can subscribe to. Rotate the link to stop an old one working, or turn the feed off.
How quickly do changes reach the person's calendar app?
The feed always has the latest schedule, and each calendar app decides how often to fetch it. Apple Calendar lets people choose how often to refresh; Google Calendar and Outlook check subscribed calendars on their own schedule, which can take hours. For changes people must know about right away, notify them from your app as well.
Does Pyas email attendees about events on a Pyas calendar?
No. Your app tells people about bookings its own way, and the calendar's feed shows them in their calendar app.
How are Pyas calendars billed?
Each Pyas calendar account counts as one connected account on your plan, the same as a connected Google, Outlook or Zoom account. In the sandbox, they are free.