Skip to content

TASK-2026-00448,TASK-2026-00449,TASK-2026-00450:Room Management, Communication Log, and Meeting Room Booking Implementation.#3

Open
ZakkiyathLulu wants to merge 1 commit intodevelopfrom
gams_apr8
Open

TASK-2026-00448,TASK-2026-00449,TASK-2026-00450:Room Management, Communication Log, and Meeting Room Booking Implementation.#3
ZakkiyathLulu wants to merge 1 commit intodevelopfrom
gams_apr8

Conversation

@ZakkiyathLulu
Copy link
Copy Markdown

@ZakkiyathLulu ZakkiyathLulu commented Apr 8, 2026

Feature description

This PR introduces three new DocTypes to support resource management, communication tracking, and meeting room booking functionality.

##Solution Description

  1. Room Management
  • A centralized master to define and manage shared resources like meeting rooms.
  • Tracks capacity, location, availability timings, and operational status.
  • Ensures only Active resources are available for booking.
  1. Communication Logging
  • A structured system to record official communications such as letters, notices, circulars, emails, and memos.
  • Supports linking communications to any document via dynamic references.
  • Enables attachment storage and audit tracking of communications.
  1. Meeting Room Booking
  • A transactional system for employees to reserve meeting rooms.
  • Supports time-slot-based booking with attendee management.
  • Ensures booking integrity through validation rules and controlled status flow.
  1. Room (Master DocType)
  • Created a master DocType to store room/resource details.
  • Configured room_name as Naming Series.
  • Added fields for:
  • Capacity, Location
  • Availability time window
  • Status (Active / Inactive / Under Maintenance)
  • Applied logic to:
  • Restrict booking selection to only Active rooms
  • Included optional fields for description and image for better usability.
  1. Communication Log
  • Designed a flexible logging system for administrative communications.
  • Implemented:
  • Mandatory fields for communication type, subject, date, and parties
  • Dynamic Link using reference_doctype and reference_name
  • Added:
  • Attachment support
  • Remarks field for additional context
  • Automated:
  • logged_by field using session user (via client/server script)
  1. Meeting Room Booking
  • Developed a booking system with:

  • Room selection (filtered to Active rooms)

  • Booking date and time slots

  • Purpose and booking status

  • Added Child Table (Attendees) to include multiple employees.

  • Validations Implemented:

  • Prevent booking in the past (booking_date >= today)

  • Ensure valid time range (to_time > from_time)

  • Maintain data integrity and avoid incorrect entries

  • Automation:

  • Auto-set booked_by from session user

  • Default booking status set to Pending

  • Output screenshots (optional)

image image image

Areas affected and ensured

Meeting Room
Communication Log

Is there any existing behavior change of other features due to this code change?

No

Was this feature tested on the browsers?

  • Chrome
  • Mozilla Firefox

if getdate(self.booking_date) < getdate(nowdate()):
frappe.throw("Booking Date cannot be in the past")

def validate_room_availability(self):
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to validate that there are no other bookings for the same room in the given timeframe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants