escolalms / consultations
Escola Headless LMS Consultations
Installs: 13 903
Dependents: 4
Suggesters: 1
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:package
pkg:composer/escolalms/consultations
Requires
- php: >=7.4
- escolalms/auth: ^0
- escolalms/categories: ^0
- escolalms/core: ^1
- escolalms/files: ^0
- escolalms/jitsi: ^0
- escolalms/model-fields: ^0
- escolalms/settings: ^0
- laravel/framework: >=9.0
Requires (Dev)
- nunomaduro/larastan: ^2.0
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.0
- dev-main
- 0.3.8
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.48
- 0.2.47
- 0.2.46
- 0.2.45
- 0.2.44
- 0.2.43
- 0.2.42
- 0.2.41
- 0.2.40
- 0.2.39
- 0.2.38
- 0.2.37
- 0.2.36
- 0.2.35
- 0.2.34
- 0.2.33
- 0.2.32
- 0.2.31
- 0.2.30
- 0.2.29
- 0.2.28
- 0.2.27
- 0.2.26
- 0.2.25
- 0.2.24
- 0.2.23
- 0.2.22
- 0.2.21
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.99
- 0.1.98
- 0.1.97
- 0.1.96
- 0.1.95
- 0.1.94
- 0.1.93
- 0.1.92
- 0.1.91
- 0.1.90
- 0.1.89
- 0.1.88
- 0.1.87
- 0.1.86
- 0.1.85
- 0.1.84
- 0.1.83
- 0.1.82
- 0.1.81
- 0.1.80
- 0.1.79
- 0.1.78
- 0.1.77
- 0.1.76
- 0.1.75
- 0.1.74
- 0.1.73
- 0.1.72
- 0.1.71
- 0.1.70
- 0.1.69
- 0.1.68
- 0.1.67
- 0.1.66
- 0.1.65
- 0.1.64
- 0.1.63
- 0.1.62
- 0.1.61
- 0.1.60
- 0.1.59
- 0.1.58
- 0.1.57
- 0.1.56
- 0.1.55
- 0.1.54
- 0.1.53
- 0.1.52
- 0.1.51
- 0.1.5
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- 0.0.13
- 0.0.12
- 0.0.11
- 0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-bugfix/fix-tests
- dev-ArtKob-patch-2
- dev-ArtKob-patch-1
- dev-filtering-consultations-by-category-name
- dev-feature/TOS-99
This package is auto-updated.
Last update: 2025-10-16 13:45:13 UTC
README
One to one conversation package
What does it do
This package is used for creating Consultation for EscolaLms.
Installing
- composer require escolalms/consultations
- php artisan migrate
- php artisan db:seed --class="EscolaLms\Consultations\Database\Seeders\ConsultationsPermissionSeeder"
Schedule
- In App\Console\Kernel to method schedule add
- $schedule->job(new ReminderAboutConsultationJob(ConsultationTermReminderStatusEnum::REMINDED_HOUR_BEFORE))->everyFiveMinutes()- reminder about to consultation before one hour, executed every 5 minutes
- $schedule->job(new ReminderAboutWebinarJob(ConsultationTermReminderStatusEnum::REMINDED_DAY_BEFORE))->everySixHours();- reminder about to consultation before one day, executed every 6 hours
 
Endpoints
All the endpoints are defined in 
Tests
Run ./vendor/bin/phpunit --filter=Consultation to run tests. See tests folder as it's quite good staring point as documentation appendix.
Events
- EscolaLms\Consultations\Events\ApprovedTerm=> Event is dispatched when trainer approved term reported with buyer. Event refers to users, who have permissions students
- EscolaLms\Consultations\Events\ApprovedTermWithTrainer=> Event is dispatched when trainer approved term reported with buyer. Event refers to users, who have permissions tutor
- EscolaLms\Consultations\Events\ChangeTerm=> Event is dispatched when trainer changes term in buyed consultations. Event refers to users, who have permissions students
- EscolaLms\Consultations\Events\RejectTerm=> Event is dispatched when trainer rejects term reported with buyer. Event refers to users, who have permissions students
- EscolaLms\Consultations\Events\RejectTermWithTrainer=> Event is dispatched when trainer rejects term reported with buyer. Event refers to users, who have permissions tutor
- EscolaLms\Consultations\Events\ReminderAboutTerm=> Event is dispatched after execute cron job- EscolaLms\Consultations\Jobs\ReminderAboutConsultationJob, Event is dispatched when deadline for purchased consultation before 1 hours and 1 day. Event refers to users, who have permissions students
- EscolaLms\Consultations\Events\ReminderTrainerAboutTerm=> Event is dispatched some time before start consultation. Event refers to users, who have permissions tutor
- EscolaLms\Consultations\Events\ReportTerm=> Event is dispatched after reported term with buyer consultation
Listeners
- EscolaLms\Webinar\Listeners\ReminderAboutTermListener=> Listener execute a method that singed the status in the webinar reminder
How to use this on frontend.
Admin panel
Left menu
List of consultations
Creating/editing consultation
Front Application
See implementation in the demo.
Permissions
Permissions are defined in seeder
Database relation
- AuthorConsultation is related belong to with User
- ProposedTermsConsultation model has many to models ConsultationProposedTerm
- CategoriesConsultation belongs to many with models Categories
- UsersConsultation is related belongs to many with User which bought consultation
- TermsConsultation model has many to models ConsultationUserPivot. It is reported terms
Consultation 1 -> 1 Author
Consultation 1 -> n ProposedTerms
Consultation 1 -> n Categories
Consultation 1 -> n Users
Consultation 1 -> n Terms


