everjust-appointments

Operate the everjust.app custom Appointments module via Odoo ORM to configure types, slots, and bookings.

3|1|Updated Apr 8, 2026
One-click install
npx skills add https://github.com/ever-just/agentskills --skill everjust-appointments-ever-just
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: everjust-appointments
Source: https://github.com/ever-just/agentskills/tree/main/skills/everjust-appointments
Command: npx skills add https://github.com/ever-just/agentskills --skill everjust-appointments-ever-just

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Managing the bespoke everjust_appointment Odoo module requires knowing its custom schema, lifecycle methods, and pitfalls — it shares model names with Odoo's Enterprise Appointments but has a completely different API, and mistakes like writing state directly or hand-creating calendar events silently break bookings. ## Core Features & Use Cases - Configure bookable services: Create appointment.type records with duration, publish flag, booking windows, staff, and CRM-lead toggle, plus weekly appointment.slot availability windows. - Manage the booking lifecycle: Create, confirm, reschedule, cancel, and inspect appointment.booking records through action_confirm/action_cancel/action_reset_draft, which own the derived calendar event, CRM lead, and confirmation email. - Diagnose availability issues: Determine why the public /appointment page shows no slots — unpublished type, missing weekday slot, min/max schedule window, or staff conflicts. - Use Case: A tenant asks you to set up a 1-hour on-site estimate booking page, Mon–Fri 9–5, that creates a CRM lead per booking. You create the type and slots via the ORM, then verify a test booking confirms with event, lead, and email. ## Quick Start Ask the agent to create a published appointment type with weekday slots on the target tenant DB, then create and confirm a test booking through the Odoo MCP.

Frequently Asked Questions about everjust-appointments

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create and confirm an appointment booking in Odoo via the ORM?▼

Create an appointment.booking record with the type, partner, and UTC-naive start_datetime, then call action_confirm(). Confirming sets the state, creates the calendar event, optionally creates a CRM lead, and sends the confirmation email — never write state directly.

Why does the Odoo appointment page show no available time slots?▼

No slots appear when the appointment type is unpublished, has no slot for the requested weekday, the time falls inside min_schedule_hours or beyond max_schedule_days, or every staff member has a conflicting calendar event or booking.

Is the everjust appointment module the same as Odoo Enterprise Appointments?▼

No. It is a bespoke LGPL reimplementation that shares the appointment.type and appointment.slot model names but has a different schema and API. Odoo's stock methods like _get_appointment_slots do not exist; read fields from the addon itself.

How do I reschedule an Odoo appointment booking without breaking the calendar?▼

Call action_cancel() to unlink the old calendar event, write the new start_datetime, call action_reset_draft(), then action_confirm() to create the new event. Note that re-confirming a lead-generating type can create a duplicate CRM lead.

Does creating an Odoo appointment booking prevent double-booking staff?▼

Not automatically. The _check_staff_availability() method exists but is never called by create, write, or action_confirm in this version. Call it explicitly before confirming ORM-created bookings to avoid overlapping staff schedules.

When should I not use the everjust appointment models?▼

Avoid them for stock Odoo Enterprise appointment work, direct calendar.event manipulation, CRM pipeline management beyond lead creation, and bulk email. Also verify the module is installed on the target tenant DB, or env access raises KeyError.