Skip to main content

Overview

The messaging system enables real-time communication between users on Khedma Market. Freelancers and clients can discuss project details, clarify requirements, negotiate terms, and maintain ongoing communication throughout their working relationship.

Key Capabilities

Conversation Management

Direct Messages

One-on-one conversations between two users

Conversation History

Access complete message history with timestamps

File Attachments

Share documents, images, and files within messages

Inbox Organization

View all conversations with the most recent at the top

Communication Features

  • Auto-created Conversations: Conversations are automatically created when users first message each other
  • Bidirectional Messaging: Both sender and receiver can view the same conversation thread
  • Attachment Support: Send documents and files alongside messages
  • Real-time Updates: Messages appear instantly for responsive communication
  • Notification Control: Users can toggle inbox notifications on/off

User Workflows

Starting a Conversation

1

Find a User

Navigate to a freelancer’s profile, gig page, or job posting to initiate contact.
2

Start Messaging

Click the “Contact” or “Message” button. The platform automatically creates a conversation if one doesn’t exist.
3

Send Your Message

Type your message in the text field. Ask questions, discuss requirements, or introduce yourself.
4

Attach Files (Optional)

Upload relevant documents, portfolio samples, or reference materials to support your message.
5

Continue the Conversation

Both parties receive notifications and can reply. The conversation remains accessible in the inbox for future reference.

Managing Your Inbox

Access your inbox to see all active conversations. Each conversation shows:
  • The other user’s name and profile picture
  • Last message preview
  • Timestamp of last activity
  • Unread message indicators

Common Use Cases

Clients can message freelancers before ordering to:
  • Clarify gig details and deliverables
  • Discuss custom requirements
  • Confirm availability and timeline
  • Negotiate pricing for custom work
During active projects, use messaging to:
  • Share project files and resources
  • Request revisions or clarifications
  • Provide feedback and updates
  • Coordinate delivery timelines
After applying to jobs, companies may reach out via messaging to:
  • Schedule interviews
  • Request additional information
  • Discuss terms and expectations
  • Make offers
After project completion:
  • Request or provide reviews
  • Discuss future collaboration
  • Address any final questions
  • Build long-term relationships

Important Fields

Conversation Model

id
string
Unique conversation identifier
senderId
string
required
User who initiated the conversation
receiverId
string
required
User who received the conversation
createdAt
datetime
When the conversation was created
updatedAt
datetime
Last activity timestamp
messages
Message[]
All messages in the conversation

Message Model

id
string
Unique message identifier
content
text
required
Message text content
conversationId
string
required
Parent conversation
userId
string
required
User who sent the message
attachements
Attachement[]
Files attached to this message
createdAt
datetime
When the message was sent

Attachment Model

name
string
required
Original filename
url
string
required
URL to access the file
type
string
required
File type (typically “document” for message attachments)
messageId
string
Message this attachment belongs to

How Conversations Work

Conversations are bidirectional - both users see the same message thread and can send messages at any time.

Notification Settings

Users can control messaging notifications in their account settings:
inboxNotifications
boolean
default:true
Toggle to enable/disable notifications for new messages
orderUpdatesNotifications
boolean
default:true
Toggle to enable/disable notifications for order-related messages

Privacy & Best Practices

Keep all communication on the platform to protect both parties:
  • Messages are recorded for dispute resolution
  • Contact information is protected
  • Platform can moderate inappropriate behavior
Best Practices for Professional Communication:
  • Be clear and specific about requirements
  • Respond in a timely manner
  • Keep conversations professional
  • Use attachments to share detailed information
  • Confirm agreements in writing
  • Respect time zones and availability

Freelancer Profiles

View profiles before messaging

Gig Marketplace

Message freelancers about their gigs

Job Postings

Communicate about job opportunities

Orders & Payments

Discuss active orders and deliveries

Build docs developers (and LLMs) love