> $vefmb_steps */ $vefmb_steps = array( array( 'title' => __( 'Create a resource', 'vefmultibooking' ), 'where' => array( 'resources', __( 'Catalog › Resources', 'vefmultibooking' ) ), 'text' => __( 'Add what you offer for booking (a room, a bed, a guide, an activity…) and choose whether it is individual or has a numeric capacity.', 'vefmultibooking' ), ), array( 'title' => __( 'Set its availability', 'vefmultibooking' ), 'where' => array( 'availability', __( 'Catalog › Availability', 'vefmultibooking' ) ), 'text' => __( 'Create a recurring rule and generate the slots or nights: this is what makes the resource bookable.', 'vefmultibooking' ), ), array( 'title' => __( 'Create an offer', 'vefmultibooking' ), 'where' => array( 'offers', __( 'Catalog › Offers', 'vefmultibooking' ) ), 'text' => __( 'An offer is what the customer buys. Link its resources, set its price and options, then publish it: a warning tells you what still prevents online booking.', 'vefmultibooking' ), ), array( 'title' => __( 'Add the booking widget to your site', 'vefmultibooking' ), 'where' => array( '', __( 'Your page builder', 'vefmultibooking' ) ), 'text' => __( 'Add the "VEF Booking" block, module or widget to a page (Gutenberg, Divi 5 or Elementor). Leave the offer empty to present all your published offers.', 'vefmultibooking' ), ), array( 'title' => __( 'Configure payments', 'vefmultibooking' ), 'where' => array( 'settings', __( 'Settings › Settings', 'vefmultibooking' ) ), 'text' => __( 'Choose the currency first (prices are never converted afterwards), then enter your Stripe and/or PayPal keys. Start with the test keys.', 'vefmultibooking' ), ), array( 'title' => __( 'Customize the automatic emails (optional)', 'vefmultibooking' ), 'where' => array( 'emails', __( 'Settings › Emails', 'vefmultibooking' ) ), 'text' => __( 'Adjust the wording of the emails sent to your customers and to you, using the tokens in curly braces.', 'vefmultibooking' ), ), array( 'title' => __( 'Adjust the look (optional)', 'vefmultibooking' ), 'where' => array( 'style', __( 'Settings › Style', 'vefmultibooking' ) ), 'text' => __( 'By default the widgets follow your theme. The Style tab sets the look of all the widgets at once; each block can override it in your page builder.', 'vefmultibooking' ), ), ); /** * The features to discover once the first offer works: a title, a one-line text and the place where each is set up. * * @var array> $vefmb_more */ $vefmb_more = array( array( 'icon' => '🛏️', 'title' => __( 'Nights, stays and minimums', 'vefmultibooking' ), 'where' => array( 'resources', __( 'Catalog › Resources', 'vefmultibooking' ) ), 'text' => __( 'Time slots make an activity, nights make an accommodation.', 'vefmultibooking' ), ), array( 'icon' => '🛎️', 'title' => __( 'Several resources in one offer', 'vefmultibooking' ), 'where' => array( 'offers', __( 'Catalog › Offers', 'vefmultibooking' ) ), 'text' => __( 'Link identical resources, rooms for example, to one offer.', 'vefmultibooking' ), ), array( 'icon' => '❄️', 'title' => __( 'Prices by season', 'vefmultibooking' ), 'where' => array( 'offers', __( 'Catalog › Offers', 'vefmultibooking' ) ), 'text' => __( 'Give each price a period, repeated every year if you wish.', 'vefmultibooking' ), ), array( 'icon' => '❓', 'title' => __( 'Questions for the visitor', 'vefmultibooking' ), 'where' => array( 'offers', __( 'Catalog › Offers', 'vefmultibooking' ) ), 'text' => __( 'Ask for a text, a number or a confirmation to tick.', 'vefmultibooking' ), ), array( 'icon' => '🚦', 'title' => __( 'Shared daily limits', 'vefmultibooking' ), 'where' => array( 'offers', __( 'Catalog › Offers', 'vefmultibooking' ) ), 'text' => __( 'Several offers can share a maximum number of departures per day.', 'vefmultibooking' ), ), array( 'icon' => '🗝️', 'title' => __( 'Owner validation', 'vefmultibooking' ), 'where' => array( 'offers', __( 'Catalog › Offers', 'vefmultibooking' ) ), 'text' => __( 'You validate each paid booking, or decline it and refund.', 'vefmultibooking' ), ), array( 'icon' => '🔓', 'title' => __( 'Nothing blocked without a payment', 'vefmultibooking' ), 'where' => array( 'settings', __( 'Settings › Settings', 'vefmultibooking' ) ), 'text' => __( 'An unpaid online booking is cancelled after the delay you set.', 'vefmultibooking' ), ), ); $vefmb_help_body = static function () use ( $vefmb_steps, $vefmb_more ) { ?>

array( 'label' => __( 'VEFmultiBooking', 'vefmultibooking' ), 'callback' => $vefmb_help_body, ), ) );