nextcloud / nextcloud/calendar
appointment booking problem (linked to increment constraint ?)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.2k
- Forks
- 332
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 137
Description
Steps to reproduce
- create an appointment with the following parameter :
- duration : 45 min
- increment : 45 min.
- users cannot book any appointment, they have the following error : "Could not book the appointment. Please try again later or contact the organizer." for all slot.
when setting increment constraint to 5, 15, 30, 60min, it works fine !
could you help us ?
Expected behavior
can book an appointment
Actual behaviour
have an error (Could not book the appointment. Please try again later or contact the organizer)
Calendar app version
4.7.16
CalDAV-clients used
No response
Browser
firefox 115.8.0esr
Client operating system
Ubuntu
Server operating system
Debian 11
Web server
Apache
Database engine version
MariaDB
PHP engine version
PHP 8.2
Nextcloud version
29.0.8
Updated from an older installed version or fresh install
Updated from an older version
List of activated apps
Enabled:
- activity: 2.21.1
- bruteforcesettings: 2.9.0
- calendar: 4.7.16
- cloud_federation_api: 1.12.0
- comments: 1.19.0
- contacts: 6.0.0
- dav: 1.30.1
- davcatcher: 0.0.1
- deck: 1.13.2
- drawio: 3.0.3
- external: 5.4.1
- federatedfilesharing: 1.19.0
- files: 2.1.1
- files_antivirus: 5.6.0
- files_downloadlimit: 2.0.0
- files_pdfviewer: 2.10.0
- files_reminders: 1.2.0
- files_sharing: 1.21.0
- files_trashbin: 1.19.0
- files_versions: 1.22.0
- groupfolders: 17.0.5
- impersonate: 1.16.0
- logreader: 2.14.0
- lookup_server_connector: 1.17.0
- notifications: 2.17.0
- notify_push: 0.7.0
- oauth2: 1.17.1
- ocs_api_viewer: 1.0.7
- onlyoffice: 9.5.0
- provisioning_api: 1.19.0
- quota_warning: 1.20.0
- related_resources: 1.4.0
- serverinfo: 1.19.0
- settings: 1.12.0
- sharebymail: 1.19.0
- side_menu: 3.13.1
- spreed: 19.0.10
- systemtags: 1.19.0
- tasks: 0.16.1
- text: 3.10.1
- theming: 2.4.0
- theming_customcss: 1.17.0
- twofactor_backupcodes: 1.18.0
- user_ldap: 1.20.0
- user_saml: 6.3.0
- user_usage_report: 1.13.1
- viewer: 2.3.0
- workflowengine: 2.11.0
Disabled: - admin_audit: 1.19.0
- circles: 29.0.0-dev (installed 23.1.2)
- contactsinteraction: 1.10.0 (installed 1.5.0)
- dashboard: 7.9.0 (installed 7.0.0)
- encryption: 2.17.0
- federation: 1.19.0 (installed 1.2.0)
- files_external: 1.21.0 (installed 1.19.0)
- files_fulltextsearch: 29.0.1 (installed 29.0.1)
- files_mindmap: 0.0.30 (installed 0.0.30)
- files_texteditor: 2.15.1 (installed 2.15.1)
- firstrunwizard: 2.18.0 (installed 2.13.0)
- fulltextsearch: 29.0.1 (installed 29.0.1)
- fulltextsearch_elasticsearch: 29.0.1 (installed 29.0.1)
- nextcloud_announcements: 1.18.0 (installed 1.1)
- notes: 4.11.0 (installed 4.11.0)
- password_policy: 1.19.0 (installed 1.2.2)
- photos: 2.5.0 (installed 1.0.0)
- privacy: 1.13.0 (installed 1.0.0)
- recommendations: 2.1.0 (installed 0.4.0)
- support: 1.12.0 (installed 1.0.0)
- survey_client: 1.17.0 (installed 1.0.0)
- suspicious_login: 7.0.0 (installed 6.0.0)
- tables: 0.8.1 (installed 0.8.1)
- twofactor_totp: 11.0.0-dev
- updatenotification: 1.19.1 (installed 1.2.0)
- user_status: 1.9.0 (installed 1.0.1)
- weather_status: 1.9.0 (installed 1.0.0)
- whiteboard: 1.0.4 (installed 1.0.4)
Nextcloud configuration
No response
Web server error log
{"reqId":"kG1k26QLGOpNRIJuhkIc","level":2,"time":"2024-11-06T18:37:07+01:00","remoteAddr":"","user":"","app":"calendar","method":"POST","url":"/index.php/apps/calendar/appointment/48/book","message":"No slot available for start: 1730976300, end: 1730979000, config id: 48","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0","version":"29.0.8.1","exception":{"Exception":"OCA\Calendar\Exception\NoSlotFoundException","Message":"Could not find slot for booking","Code":0,"Trace":[{"file":"/var/www/nextcloud/apps/calendar/lib/Controller/BookingController.php","line":195,"function":"book","class":"OCA\Calendar\Service\Appointments\BookingService","type":"->","args":[["OCA\Calendar\Db\AppointmentConfig",48],1730976300,1730979000,"Europe/Paris","","",""]},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":232,"function":"bookSlot","class":"OCA\Calendar\Controller\BookingController","type":"->","args":[48,1730976300,1730979000,"","****","","Europe/Paris"]},{"file":"/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":138,"function":"executeController","class":"OC\AppFramework\Http\Dispatcher","type":"->","args":[["OCA\Calendar\Controller\BookingController"],"bookSlot"]},{"file":"/var/www/nextcloud/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\AppFramework\Http\Dispatcher","type":"->","args":[["OCA\Calendar\Controller\BookingController"],"bookSlot"]},{"file":"/var/www/nextcloud/lib/private/Route/Router.php","line":331,"function":"main","class":"OC\AppFramework\App","type":"::","args":["OCA\Calendar\Controller\BookingController","bookSlot",["OC\AppFramework\DependencyInjection\DIContainer"],["48","calendar.booking.bookslot"]]},{"file":"/var/www/nextcloud/lib/base.php","line":1058,"function":"match","class":"OC\Route\Router","type":"->","args":["/apps/calendar/appointment/48/book"]},{"file":"/var/www/nextcloud/index.php","line":49,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/nextcloud/apps/calendar/lib/Service/Appointments/BookingService.php","Line":164,"message":"No slot available for start: 1730976300, end: 1730979000, config id: 48","exception":{},"CustomMessage":"No slot available for start: 1730976300, end: 1730979000, config id: 48"}}
Log file
No response
Browser log
Server response > 404 : {"status":"fail","data":null}
Additional info
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/calendar/lib/Service/Appointments/BookingService.php at line 164, following the call from BookingController.php line 195. Reproduce an appointment with 45-minute duration and increment, then inspect why the requested slot is rejected while other increments work. Done means users can book the available slot without the NoSlotFoundException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- apache, javascript, mariadb, php
- Domain
- backend, databases, web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 38/100