Bookings & Quotes
Last updated: 2026-09-27
Learn how to manage service requests, create quotes, and handle bookings in MyVSSL.
Understanding the Workflow
The typical service workflow:
Request → Quote → Acceptance → Schedule → Work → Complete
- Request - Client requests a service
- Quote - You create and send a quote
- Acceptance - Client accepts the quote, or you mark it accepted when they waived a formal quote (see below)
- Schedule - Confirm the service date
- Work - Perform the service
- Complete - Mark work as done
Viewing Bookings
Bookings List
Access from menu → Bookings to see all service requests.
Tab Filters
- Pending - Awaiting action
- Upcoming - Confirmed/scheduled bookings
- In Progress - Currently working on
- Completed - Finished services
Quick Views
- Pending Requests - Bookings needing your response. The menu item is documented on External Quote Requests.
- Calendar View - See bookings on a calendar. The menu item is Calendar.
Quotes list
Quotes in the Marine Professionals menu opens /quotesList (QuotesListWidget). This is the quote list, separate from the bookings list.
- Search placeholder: "Search quotes..."
- Filters: All, DRAFT, SENT, ACCEPTED, REJECTED
- New Quote creates a quote
- With no organization, the page says "No organization found"
- With no rows, it says "No quotes found"
Creating a quote from a booking is the workflow above. This list is where those quotes are browsed.
Receiving Booking Requests
Marketplace Requests
When a client requests a quote through the marketplace:
- The booking appears in Pending Requests
- You can view client and vessel details
- Create a quote to respond
Direct Bookings
You can also create bookings for your clients:
- Go to the client's profile
- Select Create Booking
- Choose vessel and services
- Set status as appropriate
Creating Quotes
Step 1: Open the Booking
From the bookings list, tap the booking that needs a quote.
Step 2: Start Quote
Tap Create Quote to begin.
Step 3: Add Services
Add line items for services:
| Field | Description |
|---|---|
| Service | Select from your service catalog |
| Description | Additional details |
| Quantity | Number of units/hours |
| Unit Price | Price per unit |
| Total | Auto-calculated |
Step 4: Add Parts (Optional)
Include parts and materials:
| Field | Description |
|---|---|
| Part | Select from inventory |
| Quantity | Number needed |
| Unit Cost | Price per item |
| Markup | Your markup percentage |
Step 5: Add Notes and Terms
Include important information:
- Estimated timeline
- Payment terms
- Conditions
- Special requirements
Step 6: Review Totals
The quote shows:
- Services subtotal
- Parts total
- Tax (if applicable)
- Discount (if applied)
- Grand Total
Step 7: Send to Client
On a draft quote, Send to Client emails the client (QuoteService.sendQuote).
When the email succeeds, the toast is "Quote sent successfully to {email}!" When a stored guest link exists, that same toast also includes the /guestForm URL (collection=quotes, view=quote). PortalGuestService.existingQuoteGuestUrl reads portalUrl, or builds the URL from guestToken. It does not create a second token.
Quote detail for a Sent quote has Copy guest link. The success toast is "Guest link copied". If nothing is stored yet, the toast is "Guest link is not ready yet".
The client's screen is Accepting a Quote (view=quote). It is not the provider Guest Portal (view=quote_request).
Accepting without sending
Some clients delegate work and do not want quote email or portal steps. While the quote is still Draft, open Quote detail and use Mark as Accepted (you can still use Send to Client later for other jobs). Acceptance applies the same booking and task outcomes as accepting a Sent quote where applicable. When someone accepts from the app, quote detail can show Accepted by for traceability.
Quote Statuses
| Status | Meaning |
|---|---|
| Draft | Quote created but not sent |
| Sent | Quote delivered to client |
| Accepted | Client accepted, or your organization marked it accepted (including from draft) |
| Rejected | Client declined |
| Expired | Quote validity period ended |
Managing Accepted Quotes
When the quote is accepted (by the client or by your team as above):
1. Booking Status Updates
The booking moves to Quote Accepted.
2. Schedule the Service
- Set the service date
- Assign technicians (if applicable)
- The booking becomes Scheduled
3. Begin Work
When you start the service:
- Update status to In Progress
- Track time and parts used
4. Complete the Service
When finished:
- Update status to Completed
- Add final notes
Booking Details
Open any booking to see:
Overview
- Booking number and status
- Client information
- Vessel details
- Requested services
Quote
- Full quote with line items
- Totals and taxes
- Quote status
Timeline
- Status change history
- Key dates
Calendar View
Accessing Calendar
Go to Calendar from the menu.
Calendar Features
- View bookings by day, week, or month
- Color-coded by status
- Tap bookings to view details
Accepting/Rejecting Requests
Accepting a Request
- Open the pending booking
- Review client and vessel details
- Create and send a quote
Declining a Request
If you can't service the request:
- Open the booking
- Tap Decline
- Optionally provide a reason
- The client is notified
Cancelling Bookings
When to Cancel
- Client requests cancellation
- Unable to perform service
- Scheduling conflicts
How to Cancel
- Open the booking
- Tap the menu
- Select Cancel Booking
- Provide a reason
- Confirm
Cancellation Effects
- Client is notified
- Booking marked as cancelled
- History preserved
Tips for Quotes and Bookings
- Respond promptly - Quick quotes win more business
- Be detailed - Clear line items prevent disputes
- Include conditions - State terms and validity
- Track everything - Use the system for all bookings
- Update status - Keep bookings current for accurate reporting
- Use the calendar - Visual scheduling prevents conflicts