<?php
namespace Bookaro\Contracts;

defined( 'ABSPATH' ) || exit;

/**
 * Abstraction for outbound messaging (SMS/WhatsApp in Pro).
 */
interface MessagingGatewayInterface
{
    /**
     * @return bool|\WP_Error
     */
    public function sendTemplate(
        string $channel,
        string $template_key,
        string $to,
        array $replacements = []
    );

    public function sendReminder( int $booking_id, string $template_key ): void;

    public function sendReviewInvite( int $booking_id ): void;

    public function resolve_provider_phone( int $listing_id, int $provider_id ): string;

    public function resolve_customer_phone( int $customer_id, string $booking_phone = '' ): string;
}
