Module: PartnerService

Defined in:
app/services/partner_service/report_progress.rb,
app/services/partner_service/change_tracker.rb,
app/services/partner_service/trackers/helper.rb,
app/services/partner_service/trackers/tag_service.rb,
app/services/partner_service/trackers/staff_service.rb,
app/services/partner_service/reports/dine_in_service.rb,
app/services/partner_service/reports/package_service.rb,
app/services/partner_service/trackers/common_service.rb,
app/services/partner_service/reports/sold_out_service.rb,
app/services/partner_service/trackers/gallery_service.rb,
app/services/partner_service/inventories/fetch_service.rb,
app/services/partner_service/reservations/summary_sync.rb,
app/services/partner_service/multilingual_cache_service.rb,
app/services/partner_service/trackers/inventory_service.rb,
app/services/partner_service/trackers/thumbnail_service.rb,
app/services/partner_service/benchmark/calculate_service.rb,
app/services/partner_service/packages/dup_package_service.rb,
app/services/partner_service/reports/service_type_service.rb,
app/services/partner_service/reports/branch_covers_service.rb,
app/services/partner_service/loyalty_change_detector_service.rb,
app/services/partner_service/reports/sales_and_rating_service.rb,
app/services/partner_service/reservations/exports/error_handler.rb,
app/services/partner_service/reservations/restaurant_sync_service.rb,
app/services/partner_service/reservations/exports/progress_tracker.rb,
app/services/partner_service/reservations/exports/tracking_service.rb,
app/services/partner_service/reservations/exports/validation_service.rb

Overview

Service for tracking booking export processes in the partner portal. Provides centralized state management, progress tracking, and error handling for long-running export operations.

Uses manual Redis operations for Sidekiq::Status integration because this service is called from workers but lacks worker context required for native Sidekiq::Status methods.

Examples:

Basic usage

tracker = PartnerService::Reservations::Exports::TrackingService.new(attachment)
tracker.start_export
tracker.update_progress(:collecting_data, 15, 'Fetching reservations...')
tracker.complete_export(download_url)

Error handling

tracker.handle_error(:data_collection, 'Database timeout', StandardError.new('Connection lost'))

Defined Under Namespace

Modules: Benchmark, Bills, Dashboards, Inventories, MenuSections, Packages, Ranking, Reports, Reservations, Restaurant, Staff Classes: ChangeTracker, LoyaltyChangeDetectorService, MultilingualCacheService, ReportProgress