Skip to content

Feature Request: calendar +create --all-day for all-day events #862

@wang2

Description

@wang2

Feature Description

Add a --all-day flag to calendar +create shortcut, so users can create all-day events without falling back to the raw API.

Currently, calendar +create always converts --start and --end to timestamps (start_time.timestamp), even when plain dates like 2026-05-18 are passed. This means it's impossible to create true all-day events (which require start_time.date / end_time.date in the API) through the shortcut.

Motivation

All-day events are very common: hotel stays, conferences, holidays, deadlines, birthdays. The shortcut is the recommended way to create calendar events — it handles smart defaults for attendee_ability, reminders, free_busy_status, etc. But for all-day events, users are forced to drop down to the raw API (calendar events create), losing all those defaults and risking parameter omissions.

Proposed Solution

Add a --all-day boolean flag to calendar +create:

lark-cli calendar +create \
  --summary "Conference" \
  --start "2026-05-18" \
  --end "2026-05-21" \
  --all-day

When --all-day is set:

  • --start and --end accept plain dates (YYYY-MM-DD)
  • The shortcut creates the event with start_time.date / end_time.date instead of timestamps
  • vchat should default to no_meeting (all-day events rarely need video calls)
  • free_busy_status should default to free

Alternatives Considered

  • Use raw API calendar events create with --params — works but loses shortcut defaults and is error-prone
  • Pass date strings to --start/--end and auto-detect — ambiguous (user might mean midnight vs all-day), explicit flag is clearer

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain/calendarPR touches the calendar domainenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions