NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

Za rezerváciami hostí často nestojí žiadny používateľský účet. E-mail a telefón rezervácie uložte priamo na termín — contacts-for-laravel je zapojený do modelu z balíka:

use RoundlyConsulting\Appointments\Facades\Appointments;

$appointment = Appointments::schedule('Guest booking')
    ->startingAt('2026-07-01 09:00')
    ->withContactEmail('[email protected]')
    ->withContactPhone('+441234567890')
    ->create();

$appointment->primaryEmail()?->value;          // "[email protected]"
$appointment->primaryPhone()?->value;          // "+441234567890"

withContactEmail() a withContactPhone() prijímajú hodnotu, voliteľné označenie a príznak primárneho kontaktu, predvolene true.

Kontakty na existujúcom termíne

use RoundlyConsulting\Contacts\Enums\ContactType;

$appointment->addEmail('[email protected]');                  // not primary by default
$appointment->addPhone('+441234567891', 'Reception', primary: true);
$appointment->contactsOfType(ContactType::Email);             // every email contact
$appointment->contacts;                                       // all contacts (MorphMany)

Kalendárové adresy

Primárny e-mail termínu sa stane organizátorom (ORGANIZER) v kalendári, pomenovaným podľa mena kontaktu, a ak chýba, podľa jeho označenia:

Appointments::schedule('Clinic visit')
    ->startingAt('2026-07-01 09:00')
    ->withContactEmail('[email protected]', 'Front desk')   // ORGANIZER;CN=Front desk:mailto:[email protected]
    ->withParticipant($patient)
    ->create();

Účastníci sa exportujú ako riadky ATTENDEE, ak má ich vlastný model primárny e-mail — pridajte modelom účastníkov HasContacts:

use Illuminate\Database\Eloquent\Model;
use RoundlyConsulting\Appointments\Concerns\HasAppointments;
use RoundlyConsulting\Contacts\Concerns\HasContacts;

class Patient extends Model
{
    use HasAppointments;
    use HasContacts;
}

$patient->addEmail('[email protected]', primary: true);
// exported as ATTENDEE;CN=<the patient's name attribute>:mailto:[email protected]

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.