Merge branch 'main' into monorepo/app-store

This commit is contained in:
zomars 2022-03-01 11:31:40 -07:00
commit ff1e738cc1
33 changed files with 173 additions and 51 deletions

View File

@ -280,7 +280,7 @@ You can deploy Cal on [Railway](https://railway.app/) using the button above. Th
## Roadmap
See the [open issues](https://github.com/calcom/cal.com/issues) for a list of proposed features (and known issues).
See the [roadmap project](https://github.com/orgs/calcom/projects/1) for a list of proposed features (and known issues). You can change the view to see planned tagged releases.
<!-- CONTRIBUTING -->

View File

@ -1,3 +1,7 @@
---
title: Availability
---
# Availability
## Setting your availability

View File

@ -1,3 +1,7 @@
---
title: Billing
---
# Billing
## How the trial works
You are given FREE access for 14 days of our PRO subscription, you can use this to test and try out our product and see if it works for you. No credit card is required to sign up and you decide if you want to upgrade to a PRO subscription afterwards.
@ -26,7 +30,7 @@ We've reserved a ton of premium usernames, such as short handles or first names
Some users may not be able to access Billing as their billing email is different to their account email. If this is the case, you can change the email associated with your account in [Profile Settings](https://app.cal.com/settings/profile).
## Subscription for each team member
If your team requires multiple event types then each team member has to be subscribed to our paid plan. If that is something that isnt necessary for your team, you can proceed with your FREE plan.
If your team requires multiple event types then each team member has to be subscribed to our paid plan. If that is something that isnt necessary for your team, you can proceed with your FREE plan.
## Discount for non-profits and students
We offer 50% for non-profit organizations and students. Just raise a ticket with our support team and submit the necessary proof of status.

View File

@ -1,3 +1,7 @@
---
title: Bookings
---
# Bookings
## What can you do on the bookings page?

View File

@ -1,4 +1,8 @@
import Callout from 'nextra-theme-docs/callout';
---
title: Adding CSS
---
import Callout from "nextra-theme-docs/callout";
# Adding CSS
@ -30,4 +34,4 @@ import "../styles/your-new-stylesheet.css";
These styles will apply to all pages and components in your application.
</Callout>
Due to the global nature of stylesheets, and to avoid conflicts, you may **only import them inside `pages/_app.tsx`**.
Due to the global nature of stylesheets, and to avoid conflicts, you may **only import them inside `pages/_app.tsx`**.

View File

@ -1,3 +1,7 @@
---
title: Code styling
---
# Code Styling
Keeping our code styles consistent is key to making the repository easy to read and work with.
@ -12,4 +16,4 @@ Calendso uses the ESLint and Prettier formatting tools, and the repository comes
We use the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript) for all JavaScript and Typescript code.
## HTML & CSS
We use the [Google HTML/CSS Style Guide](https://google.github.io/styleguide/htmlcssguide.html) for any HTML and CSS markup. However, exceptions to the HTML guide apply where JSX differentiates from standard HTML.
We use the [Google HTML/CSS Style Guide](https://google.github.io/styleguide/htmlcssguide.html) for any HTML and CSS markup. However, exceptions to the HTML guide apply where JSX differentiates from standard HTML.

View File

@ -1,9 +1,8 @@
{
"migrations": "Migrations",
"pre-fill": "Pre-fill fields",
"code-styling": "Code styling",
"project-structure": "Project structure",
"pull-requests": "Pull requests",
"adding-css": "Adding CSS"
}
"migrations": "Migrations",
"pre-fill": "Pre-fill fields",
"code-styling": "Code styling",
"project-structure": "Project structure",
"pull-requests": "Pull requests",
"adding-css": "Adding CSS"
}

View File

@ -1,3 +1,7 @@
---
title: Migrations
---
# Database Migrations
As described in the [upgrade guide](https://docs.cal.com/self-hosting/upgrade), you should use the `yarn workspace @calcom/prisma db-migrate` or `yarn workspace @calcom/prisma db-deploy` command to update the database.

View File

@ -1,3 +1,7 @@
---
title: Pre-fill fields
---
# Pre-fill fields
You can pre-fill a number of fields on the booking form by using their corresponding URL parameters. This can include the users name, email, or guests to be added to the booking.
@ -17,4 +21,4 @@ Guests can also be added to the link, there is also no limit to the amount of gu
These should be added to your link like this:
```text
guest=guest1@example.com&guest=guest2@example.com
```
```

View File

@ -1,3 +1,7 @@
---
title: Project structure
---
# Project Structure
This page gives an overview of how the codebase is structured so you can easily dive into the Cal.com code.

View File

@ -1,3 +1,7 @@
---
title: Pull requests
---
# Pull Requests
## Requirements

View File

@ -1,3 +1,7 @@
---
title: Event Types
---
# Event Types
Event types allow you to create different events for different occasions when booking a time with you in your calendar. These can be named differently, have different time durations and the choice of platform can change.
@ -13,7 +17,7 @@ Event types allow you to create different events for different occasions when bo
## Editing event types
1. Go to [Your Event Types](https://app.cal.com/event-types).
2. Click anywhere within the box of the event you would like to edit.
2. Click anywhere within the box of the event you would like to edit.
(From here you can edit the basic settings of your event)
3. To get the advanced options, at the bottom of your event setting click 'Show Advanced Settings'
4. After you have finished editing the event type, scroll to the bottom of your page and select 'Update'
@ -27,7 +31,7 @@ Event types allow you to create different events for different occasions when bo
## How to block a time slot before/after a meeting
You can block out a time frame in your calendar only after the meeting. You can do this by selecting `Show advanced settings` of your Event Type. The setting is labeled `Time-slot intervals`.
## Setting up specific availability for each type of Event
## Setting up specific availability for each type of Event
Head to `Show advanced settings` of your event. At the bottom you can set up specific availability for different Event Types.
## Availability not showing on a certain day in your calendar

View File

@ -1,3 +1,7 @@
---
title: FAQs
---
# Frequently asked questions
## Does Cal.com support a custom domain?
@ -7,7 +11,7 @@ This is possible with our self-hosted option.
As it stands this is currently not possible. We always keep an eye on the limitations like these that our users point to us. Weve had requests in the past for the multi-booking feature and this is on our priority list.
## How to quickly block further bookings?
1. Click on the lower left corner of your dashboard where your username is displayed.
1. Click on the lower left corner of your dashboard where your username is displayed.
2. That initates a dropdown menu. Click on `Set youself as away`.
This is a method to disable your Cal.com account which won't allow any bookings once initiated. However, bookings made before turning on *away mode* will still be booked.

View File

@ -1,4 +1,8 @@
import Callout from 'nextra-theme-docs/callout';
---
title: Import
---
import Callout from "nextra-theme-docs/callout";
# Import data from other scheduling tools
@ -27,4 +31,4 @@ The following steps will help you retrieve your SavvyCal access token, which you
4. Click to copy the token, and then paste the token into the Cal.com importer
<Callout>
Even though we don't store your access token, you can press the trash icon to revoke the access token from the **Developers** tab once the import is complete.
</Callout>
</Callout>

View File

@ -1,4 +1,8 @@
import Bleed from 'nextra-theme-docs/bleed'
---
title: Home
---
import Bleed from "nextra-theme-docs/bleed";
# Cal.com Documentation

View File

@ -1,3 +1,7 @@
---
title: Google
---
# Google Calendar
The Google Calendar integration checks for availability in your Google Calendars and creates bookings for you.
@ -27,10 +31,10 @@ To remove a product from your account that isn't listed in your Google Account,
## Where to find the Google Meet integration?
Google Meet is a part of the Google Calendar integration and it should be available once you've added your Google Calendar. Just select Google Meet as location for your Event Type:
Google Meet is a part of the Google Calendar integration and it should be available once you've added your Google Calendar. Just select Google Meet as location for your Event Type:
1. Go to your `Event Types`.
2. Click on the `Location` drop-down menu.
3. Select Google Meet as the location of your meeting.
3. Select Google Meet as the location of your meeting.
Once your Event Type slot is booked, it will automatically generate the Google Meet link for the meeting.
Once your Event Type slot is booked, it will automatically generate the Google Meet link for the meeting.

View File

@ -1,3 +1,7 @@
---
title: Introduction
---
# Integrations
## Connecting new calendars
@ -13,5 +17,5 @@
If you have two or more integrated calendars and you want your events to show in only one, you can define a primary calendar like this:
1. Go to your [Integrations](https://app.cal.com/integrations) page.
2. Next to your `Calendars` you will see a dropdown that says `Create events on:`.
3. Select your primary calendar.
2. Next to your `Calendars` you will see a dropdown that says `Create events on:`.
3. Select your primary calendar.

View File

@ -1,3 +1,7 @@
---
title: Microsoft
---
# Outlook/Microsoft 365
The Outlook integration enables you to use your outlook.com or Microsoft 365 account to use for conflict checking and event bookings.
@ -17,4 +21,4 @@ The top part of permissions window shows what you personally consented to. Examp
You can revoke any of the permissions you consented to by selecting `Revoke Permissions`, however removing a permission may break some of the apps functionality. If you have problems after you remove permissions or accounts, contact your organization's Helpdesk for additional assistance.
If you require more help, head over the Microsoft Documentation Page about [Managing Applications](https://docs.microsoft.com/en-us/azure/active-directory/user-help/my-applications-portal-permissions-saved-accounts)
If you require more help, head over the Microsoft Documentation Page about [Managing Applications](https://docs.microsoft.com/en-us/azure/active-directory/user-help/my-applications-portal-permissions-saved-accounts)

View File

@ -1,3 +1,7 @@
---
title: Stripe
---
# Stripe Payments
The Stripe integration allows users to add payments to their bookings.

View File

@ -1,3 +1,7 @@
## Do you have a Zapier integration?
---
title: Zapier
---
We are currently working on it, but it isnt live just yet. Until then, you can use our Webhooks integration and use Zapier's “Webhooks by Zapier”.
## Do you have a Zapier integration?
We are currently working on it, but it isnt live just yet. Until then, you can use our Webhooks integration and use Zapier's “Webhooks by Zapier”.

View File

@ -1,4 +1,5 @@
---
title: Zoom
sidebar_position: 3
---

View File

@ -1,3 +1,7 @@
---
title: Docker
---
# Docker
The Docker configuration for Cal is an effort powered by people within the community. Cal does not provide official support for Docker, but we will accept fixes and documentation. Use at your own risk.

View File

@ -1,3 +1,7 @@
---
title: Installation
---
# Installation
To get a local copy up and running, please follow these simple steps.

View File

@ -1,3 +1,7 @@
---
title: Upgrade
---
# Upgrading
**Warning**: When performing database migrations, you may lose data if the migration is not done properly.

View File

@ -1,3 +1,7 @@
---
title: Vercel
---
# Vercel
## Requirements

View File

@ -1,3 +1,7 @@
---
title: Settings
---
# Settings
## Setting up or making changes to your Profile
@ -21,7 +25,7 @@
4. Click the button 'Save' located to the bottom right of your new password.
5. You have now successfully changed your password!
## Change your email
## Change your email
Go to [Profile Settings](https://app.cal.com/settings/profile). There, you will see the email associated with your account which you can then update. Youd just need to log out and back in to see the change take effect.
@ -49,4 +53,4 @@ You can delete your account from within the [Settings](https://app.cal.com/setti
## How to change the language
Go to your [Profile Settings](https://app.cal.com/settings/profile). Under `Language` you will see the dropdown menu and you can use it to select your desired language.
Go to your [Profile Settings](https://app.cal.com/settings/profile). Under `Language` you will see the dropdown menu and you can use it to select your desired language.

View File

@ -1,3 +1,7 @@
---
title: Teams
---
# Teams
## How do I create a new team?
@ -25,7 +29,7 @@ Creating a team will allow you to create new event types for the team, invite te
## How do I add and remove a description of my team?
1. Go to [Your Teams Settings](https://app.cal.com/settings/teams) and select the team you wish to edit.
2. Located below your team name entry box is a large text box labeled 'About',
2. Located below your team name entry box is a large text box labeled 'About',
## How do I upload my team logo?
@ -50,4 +54,4 @@ Your team has now successfully been deleted.
## Where can I find my team's Event Types?
Once you open `Event Types` on your dashboard, you will find your team's Event Types below your individual ones.
Once you open `Event Types` on your dashboard, you will find your team's Event Types below your individual ones.

View File

@ -1,3 +1,7 @@
---
title: Webhooks
---
# Webhooks
## Create a new Webhook
@ -37,4 +41,4 @@ cal.com/rick/quick-chat?metadata[user_id]=123
As a result, the webhook will be returned in this format:
```text
{ <other event details>, metadata: { user_id: 123 } }
```
```

View File

@ -402,6 +402,7 @@
"phone_number": "Tel. číslo",
"enter_phone_number": "Zadejte telefonní číslo",
"reschedule": "Přesunout na jindy",
"reschedule_this": "Raději přesunout na jindy",
"book_a_team_member": "Namísto toho si rezervujte člena týmu",
"or": "NEBO",
"go_back": "Vrátit se zpět",
@ -435,6 +436,7 @@
"danger_zone": "Nebezpečná zóna",
"back": "Zpět",
"cancel": "Zrušit",
"cancel_event": "Zrušit tuto událost",
"continue": "Pokračovat",
"confirm": "Potvrdit",
"disband_team": "Rozpustit tým",
@ -656,5 +658,8 @@
"contact_sales": "Kontaktovat obchodní oddělení",
"error_404": "Chyba 404",
"requires_ownership_of_a_token": "Vyžaduje vlastnictví tokenu, který patří následující adrese:",
"example_name": "Jan Novák"
"example_name": "Jan Novák",
"time_format": "Formát času",
"12_hour": "12hodinový",
"24_hour": "24hodinový"
}

View File

@ -402,6 +402,7 @@
"phone_number": "Numéro de téléphone",
"enter_phone_number": "Saisissez le numéro de téléphone",
"reschedule": "Reporter",
"reschedule_this": "Reporter à la place",
"book_a_team_member": "Réserver plutôt un membre de l'équipe",
"or": "OU",
"go_back": "Revenir en arrière",
@ -435,6 +436,7 @@
"danger_zone": "Zone dangereuse",
"back": "Retour",
"cancel": "Annuler",
"cancel_event": "Annuler cet événement",
"continue": "Continuer",
"confirm": "Confirmer",
"disband_team": "Dissoudre l'équipe",
@ -657,5 +659,8 @@
"contact_sales": "Contacter les ventes",
"error_404": "Erreur 404",
"requires_ownership_of_a_token": "Nécessite la propriété d'un jeton appartenant à l'adresse suivante :",
"example_name": "Jean Dupont"
"example_name": "Jean Dupont",
"time_format": "Format horaire",
"12_hour": "12 heures",
"24_hour": "24 heures"
}

View File

@ -402,6 +402,7 @@
"phone_number": "Número de Telefone",
"enter_phone_number": "Inserir Número do Telefone",
"reschedule": "Reagendar",
"reschedule_this": "Reagendar em alternativa",
"book_a_team_member": "Reserve um Membro da sua Equipa no seu lugar",
"or": "Ou",
"go_back": "Voltar atrás",
@ -435,6 +436,7 @@
"danger_zone": "Zona de Perigo",
"back": "Anterior",
"cancel": "Cancelar",
"cancel_event": "Cancelar este evento",
"continue": "Continuar",
"confirm": "Confirmar",
"disband_team": "Dissolver Equipa",
@ -657,5 +659,8 @@
"contact_sales": "Contacte as vendas",
"error_404": "Erro 404",
"requires_ownership_of_a_token": "Requer a propriedade de um token pertencente ao seguinte endereço:",
"example_name": "José Ninguém"
"example_name": "José Ninguém",
"time_format": "Formato da hora",
"12_hour": "12 horas",
"24_hour": "24 horas"
}

View File

@ -272,8 +272,8 @@
"bookings": "預約",
"bookings_description": "透過活動類型連結,查看接下來與過去已預約的活動。",
"upcoming_bookings": "只要有人預約了時段,立即會在這裡顯示。",
"past_bookings": "這裡之前的預約。",
"cancelled_bookings": "這裡取消的預約。",
"past_bookings": "這裡會顯示之前的預約。",
"cancelled_bookings": "這裡會顯示取消的預約。",
"on": "在",
"and": "與",
"calendar_shows_busy_between": "行事曆顯示忙碌時段",
@ -400,6 +400,7 @@
"phone_number": "電話號碼",
"enter_phone_number": "輸入電話號碼",
"reschedule": "重新預定",
"reschedule_this": "改為重新預約",
"book_a_team_member": "改預約團隊成員",
"or": "或",
"go_back": "回去",
@ -433,6 +434,7 @@
"danger_zone": "危險禁區",
"back": "上一步",
"cancel": "取消",
"cancel_event": "取消活動",
"continue": "繼續",
"confirm": "確認",
"disband_team": "解散團隊",
@ -654,5 +656,8 @@
"prisma_studio_tip_description": "學習如何設定第一位使用者",
"contact_sales": "聯繫業務",
"error_404": "404 錯誤",
"requires_ownership_of_a_token": "必須有屬於以下位址的 Token 所有權:"
"requires_ownership_of_a_token": "必須有屬於以下位址的 Token 所有權:",
"time_format": "時間格式",
"12_hour": "12 小時",
"24_hour": "24 小時"
}

View File

@ -1,15 +1,17 @@
import { _EventTypeModel } from "../eventtype";
export const createEventTypeInput = _EventTypeModel
.pick({
title: true,
slug: true,
description: true,
length: true,
teamId: true,
schedulingType: true,
})
.refine((data) => (data.teamId ? data.teamId && data.schedulingType : true), {
path: ["schedulingType"],
message: "You must select a scheduling type for team events",
});
.pick({
title: true,
slug: true,
description: true,
length: true,
teamId: true,
schedulingType: true,
hidden: true,
})
.partial({ hidden: true })
.refine((data) => (data.teamId ? data.teamId && data.schedulingType : true), {
path: ["schedulingType"],
message: "You must select a scheduling type for team events",
});