/** * The API for operations with orders. * * @package WooCommerce\PayPalCommerce\Api * * @phpcs:disable Squiz.Commenting.FunctionCommentThrowTag */ declare (strict_types=1); namespace WooCommerce\PayPalCommerce\Api; use Exception; use InvalidArgumentException; use RuntimeException; use WC_Order; use WooCommerce\PayPalCommerce\ApiClient\Endpoint\OrderEndpoint; use WooCommerce\PayPalCommerce\ApiClient\Entity\Order; use WooCommerce\PayPalCommerce\PPCP; use WooCommerce\PayPalCommerce\WcGateway\Gateway\PayPalGateway; use WooCommerce\PayPalCommerce\WcGateway\Helper\RefundFeesUpdater; use WooCommerce\PayPalCommerce\WcGateway\Processor\AuthorizedPaymentsProcessor; use WooCommerce\PayPalCommerce\WcGateway\Processor\OrderProcessor; use WooCommerce\PayPalCommerce\WcGateway\Processor\RefundProcessor; /** * Returns the PayPal order. * * @param string|WC_Order $paypal_id_or_wc_order The ID of PayPal order or a WC order (with the ID in meta). * @throws InvalidArgumentException When the argument cannot be used for retrieving the order. * @throws Exception When the operation fails. */ function ppcp_get_paypal_order($paypal_id_or_wc_order): Order { if ($paypal_id_or_wc_order instanceof WC_Order) { $paypal_id_or_wc_order = $paypal_id_or_wc_order->get_meta(PayPalGateway::ORDER_ID_META_KEY); if (!$paypal_id_or_wc_order) { throw new InvalidArgumentException('PayPal order ID not found in meta.'); } } if (!is_string($paypal_id_or_wc_order)) { throw new InvalidArgumentException('Invalid PayPal order ID, string expected.'); } $order_endpoint = PPCP::container()->get('api.endpoint.order'); assert($order_endpoint instanceof OrderEndpoint); return $order_endpoint->order($paypal_id_or_wc_order); } /** * Creates a PayPal order for the given WC order. * * @param WC_Order $wc_order The WC order. * @throws Exception When the operation fails. */ function ppcp_create_paypal_order_for_wc_order(WC_Order $wc_order): Order { $order_processor = PPCP::container()->get('wcgateway.order-processor'); assert($order_processor instanceof OrderProcessor); return $order_processor->create_order($wc_order); } /** * Captures the PayPal order. * * @param WC_Order $wc_order The WC order. * @throws InvalidArgumentException When the order cannot be captured. * @throws Exception When the operation fails. */ function ppcp_capture_order(WC_Order $wc_order): void { $intent = strtoupper((string) $wc_order->get_meta(PayPalGateway::INTENT_META_KEY)); if ($intent !== 'AUTHORIZE') { throw new InvalidArgumentException('Only orders with "authorize" intent can be captured.'); } $captured = wc_string_to_bool($wc_order->get_meta(AuthorizedPaymentsProcessor::CAPTURED_META_KEY)); if ($captured) { throw new InvalidArgumentException('The order is already captured.'); } $authorized_payment_processor = PPCP::container()->get('wcgateway.processor.authorized-payments'); assert($authorized_payment_processor instanceof AuthorizedPaymentsProcessor); if (!$authorized_payment_processor->capture_authorized_payment($wc_order)) { throw new RuntimeException('Capture failed.'); } } /** * Reauthorizes the PayPal order. * * @param WC_Order $wc_order The WC order. * @throws InvalidArgumentException When the order cannot be captured. * @throws Exception When the operation fails. */ function ppcp_reauthorize_order(WC_Order $wc_order): void { $intent = strtoupper((string) $wc_order->get_meta(PayPalGateway::INTENT_META_KEY)); if ($intent !== 'AUTHORIZE') { throw new InvalidArgumentException('Only orders with "authorize" intent can be reauthorized.'); } $captured = wc_string_to_bool($wc_order->get_meta(AuthorizedPaymentsProcessor::CAPTURED_META_KEY)); if ($captured) { throw new InvalidArgumentException('The order is already captured.'); } $authorized_payment_processor = PPCP::container()->get('wcgateway.processor.authorized-payments'); assert($authorized_payment_processor instanceof AuthorizedPaymentsProcessor); if ($authorized_payment_processor->reauthorize_payment($wc_order) !== AuthorizedPaymentsProcessor::SUCCESSFUL) { throw new RuntimeException($authorized_payment_processor->reauthorization_failure_reason() ?: 'Reauthorization failed.'); } } /** * Refunds the PayPal order. * Note that you can use wc_refund_payment() to trigger the refund in WC and PayPal. * * @param WC_Order $wc_order The WC order. * @param float $amount The refund amount. * @param string $reason The reason for the refund. * @return string The PayPal refund ID. * @throws InvalidArgumentException When the order cannot be refunded. * @throws Exception When the operation fails. */ function ppcp_refund_order(WC_Order $wc_order, float $amount, string $reason = ''): string { $order = ppcp_get_paypal_order($wc_order); $refund_processor = PPCP::container()->get('wcgateway.processor.refunds'); assert($refund_processor instanceof RefundProcessor); return $refund_processor->refund($order, $wc_order, $amount, $reason); } /** * Voids the authorization. * * @param WC_Order $wc_order The WC order. * @throws InvalidArgumentException When the order cannot be voided. * @throws Exception When the operation fails. */ function ppcp_void_order(WC_Order $wc_order): void { $order = ppcp_get_paypal_order($wc_order); $refund_processor = PPCP::container()->get('wcgateway.processor.refunds'); assert($refund_processor instanceof RefundProcessor); $refund_processor->void($order); } /** * Updates the PayPal refund fees totals on an order. * * @param WC_Order $wc_order The WC order. */ function ppcp_update_order_refund_fees(WC_Order $wc_order): void { $updater = PPCP::container()->get('wcgateway.helper.refund-fees-updater'); assert($updater instanceof RefundFeesUpdater); $updater->update($wc_order); } 7 regole per la disintermediazione turistica dalle OTA - Hostamy - strumenti per strutture a tema affitti brevi
Hai una domanda?
Messaggio inviato Chiudi

7 regole per la disintermediazione turistica dalle OTA

Da Booking.com a Hotel.it, da Airbnb a Vrbo, la dipendenza dalle OTA appare inevitabile e turba chi preferirebbe ricevere prenotazioni dirette, evitando commissioni e gestendo in autonomia il marketing e la comunicazione attraverso i motori di ricerca.

Al giorno d’oggi le OTA possono essere considerate anche come un investimento in comunicazione, dove le commissioni rappresentano il conto da pagare per essere trovati dai clienti, è anche vero che loro investono soldi nella pubblicità e quindi la commissione è il prezzo da pagare per quello che tu non paghi per essere sui motori di ricerca.

Facendo questa premessa, è importante sapere e mai dimenticare che la disintermediazione turistica dalle OTA  è prima di tutto un impegno in termini di tempo e denaro e che tutto deve essere pianificato e nulla deve essere lasciato al caso, specialmente quando si trattta della  comunicazione e del fare marketing sui principali motori di ricerca. 

Esistono delle regole per riuscire a disintermediare dalle OTA ed ottenere così un numero maggiore di prenotazioni dirette per la tua struttura.

Vediamo insieme 7 regole per la disintermediazione turistica dalle OTA:

  1. Il primo passo è rispondere alla domanda “Cosa ci identifica maggiormente?”. Se saprai sottolineare e comunicare i tuoi punti di forza ai potenziali ospiti, essi avranno maggiore consapevolezza della tua struttura e sarà più semplice convincerli a scegliere proprio te.
  2. Avere un sito web ben realizzato ed ottimizzato: la presenza digitale oggi è fondamentale per disintermediare ma soprattutto per essere trovati dai potenziali clienti sui principali motori di ricerca. Nel sito web della tua struttura non devono mai mancare: descrizione accurata della struttura e delle camere o appartamenti, Search Engine Optimization (S.E.O.), mappa, un elenco dei luoghi di interesse, offerte speciali, contatti, pulsanti social, fotografie professionali della struttura ecc. (se vuoi approfondire l’argomento ti invitiamo a leggere il nostro articolo sul perché avere un sito web, l’importanza della presenza digitale oggi) Il sito deve essere responsive, deve essere ottimizzato per i vari dispositivi secondo un design responsive, dunque la pagina web si adatterà al tipo di dispositivo utilizzato. Ricorda, la maggior parte delle prenotazioni avvengono tramite smartphone e tablet.
  3. Controlla sempre i testi e le immagini: I contenuti testuali e le immagini vanno ripensati anche in ottica SEO in modo da permettere al sito di comunicare in maniera ottimale con i motori di ricerca ed ottenere così un maggior numero di visitatori in organico. Cerca di pensare cosa cerca il tuo ospite se vuole trascorrere un soggiorno nella tua zona, come lo digita su Google? cosa vuole vedere?
  4. Fare content marketing ed essere presenti costantemente sui principali Social Network. I tuoi potenziali ospiti sono tutti online, perchè non esserlo anche tu? in più posti sei e meglio è. I tuoi futuri ospiti potrebbero trovarti attraverso un Social Network, come Facebook od Instagram oppure Google map, piuttosto che su un motore di ricerca.  È sempre più diffuso infatti cercare attraverso i Social varie attività o aziende e questo approccio include anche le strutture ricettive, i B&B, le case vacanza ecc.
  5. Aggiorna sempre i contenuti: Avere una pagina su un Social Network così come Google map non basta, bisogna sempre tenere aggiornati i tuoi futuri ospiti e creare contenuto di valore, questo ti aiuterà ad essere sempre presente nella loro Homepage.
  6. Offri servizi extra ai tuoi potenziali ospiti per favorire la prenotazione diretta alla tua struttura. Questi servizi extra potrebbero essere un late checkout, un drink di benvenuto all’arrivo, la colazione inclusa, servizio transfer ecc. Se sei una LT, potresti cercare partner che offrono questi servizi per te, basta scriverli nella pagina del tuo sito oppure nel post. Ricorda, secondo l’articolo 4 del 4/2017 la locazione turistica non può essere pubblicizzata tramite insegna o locandina, non può essere pubblicizzata su i siti dedicati a solo strutture ricettive (come proloco) o pubblicizzare servizi ma può essere ben presente nei social network! 
  7. Ultimo ma non meno importante, gli investimenti pubblicitari. Disintermediazione dalle OTA vuol dire anche non sfruttare la grandezza digitale delle principali OTA come Booking.com, e investire quindi una considerevole quantità di budget sulle campagne pubblicitarie di Google Ads o Facebook/Instagram.

Queste regole possono essere applicate per agevolare le prenotazioni dirette e nonostante non sia un processo breve e immediato, la perseveranza e soprattutto una buona strategia con obiettivi chiari e misurabili faranno di certo la differenza!

E tu.. hai già pensato ad una strategia per disintermediare la tua struttura dalle OTA?

Qui troverai un corso creato da Hostamy per ottimizzare la comunicazione tra te e i tuoi potenziali ospiti.

it_ITItalian
Select your currency
EUR Euro
GBP Sterline Britanniche