interface ReviewsService {
    approveReview(reviewId: string): Promise<null | SavedReview>;
    create(review: CreateReviewInput): Promise<SavedReview>;
    createTravelerReviewsFromJotform(
        input: CreateTravelerReviewInput,
    ): Promise<SavedReview[]>;
    findByEndorsalId(endorsalId: string): Promise<null | SavedReview>;
    listHostReviews(
        hostId: string,
        customFilters?: ReviewCustomFilters,
        listQueryOptions?: ListQueryOptions<Review>,
    ): Promise<SavedReview[]>;
    listItineraryReviews(
        itineraryId: string,
        customFilters?: ReviewCustomFilters,
        listQueryOptions?: ListQueryOptions<Review>,
    ): Promise<SavedReview[]>;
    listReviews(
        query: FilterQuery<Review>,
        listQueryOptions?: ListQueryOptions<Review>,
    ): Promise<SavedReview[]>;
    listReviewsForHost(
        hostId: string,
        customFilters?: ReviewCustomFilters,
        listQueryOptions?: ListQueryOptions<Review>,
    ): Promise<SavedReview[]>;
    listTripReviews(
        tripId: string,
        customFilters?: ReviewCustomFilters,
        listQueryOptions?: ListQueryOptions<Review>,
    ): Promise<SavedReview[]>;
    listUnapprovedReviews(
        listQueryOptions?: ListQueryOptions<Review>,
    ): Promise<SavedReview[]>;
    processTagsFromReview(review: SavedReview): Promise<void>;
    rejectReview(reviewId: string): Promise<null | SavedReview>;
    submitHostReviewFromJotform(
        reviewData: JotformWebhookEnvelopeDTO,
    ): Promise<SavedReview>;
    submitTravelerReviewFromJotform(
        reviewData: JotformWebhookEnvelopeDTO,
    ): Promise<SavedReview[]>;
    syncDownReviews(waitInterval?: number): Promise<SavedReview[]>;
}

Methods