A Swift command-line application for booking professional cleaning services. Runs on Linux, macOS, and other platforms with Swift installed.
- ✅ Service Browsing: View all 5 cleaning services with prices and duration
- ✅ Booking System: Complete booking flow with date/time selection
- ✅ Booking Management: View, track, and cancel bookings
- ✅ User Profile: Manage customer information
- ✅ Interactive CLI: User-friendly terminal interface
ios-app/
├── Package.swift # Swift Package manifest
└── Sources/
├── main.swift # App entry point & CLI logic
└── Models.swift # Data models (Service, Booking, User)
- Swift 5.5+ - Download Swift
- Linux, macOS, or Windows (with Swift installed)
# Install Swift
curl -fsSL https://swift.org/download/latest/ubuntu2404/swift-latest-ubuntu-24.04.tar.gz | tar xz
sudo mv swift-* /usr/local/swift
echo 'export PATH=/usr/local/swift/usr/bin:$PATH' >> ~/.bashrc
source ~/.bashrc# Fedora
sudo dnf install swift
# Arch
sudo pacman -S swiftVerify installation:
swift --version# Build and run
swift run AmanAlRayan
# Or just build
swift build
# Then run the executable
.build/debug/AmanAlRayan- 🧹 Regular Cleaning - $99.99 (120 min)
- ✨ Deep Cleaning - $199.99 (240 min)
- 🧶 Carpet Cleaning - $149.99 (180 min)
- 🪟 Window Cleaning - $79.99 (90 min)
- 🍳 Kitchen Cleaning - $129.99 (150 min)
- Browse Services - View all cleaning services
- Create New Booking - Book a service with date/time
- View My Bookings - See and manage your bookings
- Manage Profile - Update personal information
- Exit - Quit the app
- Create bookings with specific dates and times
- View all bookings with status (Pending, Confirmed, Completed, Cancelled)
- Cancel bookings anytime
- Store booking history
- Set/update name, email, phone, and address
- Display profile information
- Easy profile editing
- All data is stored in-memory while the app runs
- Data persists during a session but resets when you close the app
- Perfect for testing and development
1. Browse Services
- See all available cleaning services
2. Create Booking
- Select service (e.g., "1" for Regular Cleaning)
- Enter address
- Enter date (YYYY-MM-DD format)
- Enter time (HH:mm format)
- Add optional special notes
3. View Bookings
- See all your bookings
- Cancel any pending booking
4. Manage Profile
- Update name, email, phone, address
- Date format:
YYYY-MM-DD(e.g.,2026-04-20) - Time format:
HH:mm(e.g.,14:30for 2:30 PM) - All prices are in USD
- Test with sample data included in the app