Delivery Time (New Module)

We're shifting our Forum based support to a more dedicated support system!

We'll be closing our Forum support from 10th June, 2020 and move to Email Support assistance.

From now the forum will be read-only!

This topic contains 22 replies, has 12 voices, and was last updated by Avatar pierremestre.pro 2 weeks, 1 day ago.

  • Author
    Posts
  • #125163
    WCFM Forum
    WCFM Forum
    Keymaster

    We have added “Delivery Time” module in latest WCFM – Delivery addon update.

    Check details here.

    WCFM – Delivery is essential for this module to work.

    Thank You

  • #125237
    Avatar
    Craig
    Participant

    WOW this is an awesome enhancement!!! Thanks for doing this!

  • #125447

    but i didnt understand how it work

  • #125459
    Avatar
    Djordje Jevtic
    Participant

    Is it possible that Vendor changes times per store and not only superadmin ?

  • #125462
    Avatar
    Craig
    Participant

    according to the instructions “Vendors are allow to define their preferred delivery time slots from their Setting panel – Delivery Times”

  • #126300
    Avatar
    Craig
    Participant

    I noticed in my admin setting panel that the “delivery time” module is not showing it’s icon in the modules section.

    Attachments:
    You must be logged in to view attached files.
  • #126305
    Avatar
    Craig
    Participant

    Is it possible to add a schedule to when the “delivery time slots” are available similar to the way they set opening times for their store?

    This way the vendor can limit the times that delivery is available so the customer can’t select delivery times that are not available.

    For example if a vendor can only offer delivery between 8:00am and 6:00pm on weekdays.

    Attachments:
    You must be logged in to view attached files.
  • #126441
    Avatar
    Djordje Jevtic
    Participant

    That would be nice option. Most of the vendors can deliver only in some time frames and some days…
    Check plugin https://woocommerce.com/products/woocommerce-order-delivery/ so that forntend have view like this: https://woocommerce.com/wp-content/uploads/2015/09/wc-od-checkout-delivery-date.png

  • #126967
    Avatar
    Miguel Angel Calle
    Participant

    Hi,

    I think include this module is a great idea!
    I have been checking it and for me I can’t see the section “Daily Basis Delivery Time Slots” and “Set week day OFF”.
    Could you help me to find why I am not able?

    Thanks.

  • #127427

    Ok, couple of amends that we’ve made to the code to get it a little more suitable for what we need.

    When you select only delivery date to show you end up getting a time being displayed on the screen on the orders and order summary.

    We amended as follows: (if delivery display format set to date then set current_time to midnight and work from there)

    All in wp-content/plugins/wc-frontend-manager-delivery/core/class-wcfmd-delivery-time.php

    In generate_vendor_delivery_time_checkout_field (around line 389)

    if ($wcfm_delivery_time_display_format == 'date'){
         //reset to midnight of today
         $current_time = strtotime('today midnight');
     }
    else {
         $current_time = current_time( 'timestamp' );
    }

    Then to make the time selection slightly nicer make them start on say 15 min blocks. Rather than 7:42am as an option have 7:45am instead..

    Inbetween where $start_time and $end_time are first set in generate_vendor_delivery_time_checkout_field:

                //lets start at a more reasonable time.. i.e. in the next 15 min block
                $datetime = new DateTime;
                $datetime->setTimestamp($start_time);
                $second = $datetime->format("s");
                if($second > 0)
                    $datetime->add(new DateInterval("PT".(60-$second)."S"));
                $minute = $datetime->format("i");
                $minute = $minute % 15;
                if($minute != 0)
                {
                    // Count difference
                    $diff = 15 - $minute;
                    // Add difference
                    $datetime->add(new DateInterval("PT".$diff."M"));
                    $start_time = $datetime->getTimestamp();
                }

    finally change the section that sets $is_valid_time = true to be greater than or equal to etc.. rather than just greater than and less than:
    Note its $next_time_slot >= $open_hours and $next_time_slot <= $close_hours that have just had the equals (=) sign adding in.. makes it work better for me.. especially if it’s delivery days that vendors are using (needs open time to be 00:00 and close time to be 23:59 in delivery times)

    if( ( $next_time_slot >= $open_hours ) && ( $next_time_slot <= $close_hours ) )  {
       $is_valid_time = true;
       break;
    }

    in wcfmd_customer_order_delivery_time_show, wcfmd_order_list_delivery_time_show, wcfmd_order_details_delivery_time_show
    If date is midnight (i.e. it’s just display date) setting then don’t display time part..

    within the for each loop: (check if date time is midnight and if so then only show date)

    $datetime = new DateTime;
    $datetime->setTimestamp($wcfmd_delvery_time);
    
    if( date_format($datetime,'H') == 0 && date_format($datetime,'i') == 0) {
         echo date_i18n( wc_date_format(), $wcfmd_delvery_time );
    }
    else {
         echo date_i18n( wc_date_format() . ' ' . wc_time_format(), $wcfmd_delvery_time );
    }

    Bit of a brain dump but hope it makes sense! (have also attached file)

  • #127514
    Avatar
    Djordje Jevtic
    Participant

    Hi,
    This seems nice.
    Is it possible to add in in templates folder so next update not override it ?
    If yes please write which folder to create.
    Thanks

  • #127633
    Avatar
    Craig
    Participant

    @miguel Angel Calle

    I don’t think those sections exist in the delivery time section (for vendors) which is why you can’t see those “Daily Basis Delivery Time Slots” and “Set week day OFF”.

    BUT those sections do show up under the Store Hours section (for vendors)

    Attachments:
    You must be logged in to view attached files.
    • #127980
      Avatar
      Miguel Angel Calle
      Participant

      Hi @Craig,

      If you check in the module documentation, you can see there is a section for Daily available time slots. That looks independent to the Store hours opening.
      I attach you what I am missing.

      Thanks.

      Attachments:
      You must be logged in to view attached files.
  • #128190
    Avatar
    Craig
    Participant

    @miguel Angel Calle I see that now. It looks like this was an enhancement to the plugin in the last day or two. I just updated the plugin this morning and the revision notes mention this enhancement.
    Do you have the most current WCMF plugin versions?

    Changelog
    3.3.11
    *Updated – 08/05/2020

    Enhance – WooCommerce 4.1 compatibility added
    Enhance – Local Pickup shipping option vendor’s address append with shipping label
    Enhance – Delivery Time “Week Day Off” and “Daily basis time slots” compatibility added

    https://wordpress.org/plugins/wc-multivendor-marketplace/#developers

  • #137439
    Avatar
    gareth.win
    Participant

    I am struggling with the delivery time module not displaying the orders delivery date and time under the “shipping” column on the orders page. This is like this for both vendors and admins. Please please assist.

  • #139961
    Avatar
    mywildimagination
    Participant

    I don’t get this at all in the latest version. is this a premium feature?

  • #144751
    Avatar
    sumitrathaurrs
    Participant
    This reply has been marked as private.
  • #145018
    Avatar
    hazmartonline
    Participant

    Delivery Service API Integration

    Hello, I want to Add API Integration for food delivery services like Dunzo etc.. for my WCFM Multi Vendor Website. Please let me know if WCFM Team will help in setting up and also I am Premium buyer/ User of WooCommerce Frontend Manager – Delivery Plugin. Please let me know the procedure and other news. Thank you.
    @wclovers

  • #145019
    Avatar
    hazmartonline
    Participant

    @WCFMForum

  • #145021
    Avatar
    hazmartonline
    Participant

    @wclovers

  • #145062
    Avatar
    hazmartonline
    Participant

    @wclovers Please help

  • #145116

    Hi, I have wrote several support emails but have not got any response on non of them yet please help me Hi I submitted a ticket about three days ago rearding that my vendors are not able to set up a shipping price depending on their city please I need to have this fixed I have installes the WC City plugin still not able to make it work can you please help me I was able to allow customers to select cuty and state on check out but for some reason vendors are still not able to do so are still just allowing them to ship by state please see the code I am using for this below

    add_filter( ‘wc_city_select_cities’, ‘my_cities’ );
    /**
    * Replace XX with the country code. Instead of YYY, ZZZ use actual state codes.
    */
    function my_cities( $cities ) {
    $cities[‘HN’] = array(
    ‘HN1’ => array(
    ‘San Pedro Sula’,
    ‘Choloma’,
    ‘Omoa’,
    ‘Pimienta’,
    ‘Potrerillos’,
    ‘Puerto Cortés’,
    ‘San Antonio de Cortés’,
    ‘San Francisco de Yojoa’,
    ‘San Manuel’,
    ‘Santa Cruz de Yojoa’,
    ‘Villanueva’,
    ‘La Lima’
    ),
    ‘HN2’ => array(
    ‘Tegucigalpa’,
    ‘Comayaguela’,
    ‘Alubarén’,
    ‘Cedros’,
    ‘Curarén’,
    ‘El Porvenir’,
    ‘Guaimaca’,
    ‘La Libertad’,
    ‘La Venta’,
    ‘Lepaterique’,
    ‘Maraita’,
    ‘Marale’,
    ‘Nueva Armenia’,
    ‘Ojojona’,
    ‘Orica’,
    ‘Reitoca’,
    ‘Sabanagrande’,
    ‘San Antonio de Oriente’,
    ‘San Buenaventura’,
    ‘San Ignacio’,
    ‘San Juan de Flores’,
    ‘San Miguelito’,
    ‘Santa Ana’,
    ‘Santa Lucía’,
    ‘Talanga’,
    ‘Tatumbla’,
    ‘Valle de Ángeles’,
    ‘Villa de San Francisco’,
    ‘Vallecillo’
    ),
    ‘HN3’ => array(
    ‘La Ceiba’,
    ‘El Porvenir’,
    ‘Tela’,
    ‘Jutiapa’,
    ‘La Masica’,
    ‘San Francisco’,
    ‘Arizona’,
    ‘Esparta’
    ),
    ‘HN4’ => array(
    ‘Trujillo’,
    ‘Balfate’,
    ‘Iriona’,
    ‘Limón’,
    ‘Sabá’,
    ‘Santa Fe’,
    ‘Santa Rosa de Aguán’,
    ‘Sonaguera’,
    ‘Tocoa’,
    ‘Bonito Oriental’
    ),
    ‘HN5’ => array(
    ‘Puerto Lempira’,
    ‘Brus Laguna’,
    ‘Ahuas’,
    ‘Juan Francisco Bulnes’,
    ‘Ramón Villeda Morales’,
    ‘Wampusirpe’
    ),
    ‘HN6’ => array(
    ‘Santa Rosa de Copán’,
    ‘Cabañas’,
    ‘Concepción’,
    ‘Copán Ruinas’,
    ‘Corquín’,
    ‘Cucuyagua’,
    ‘Dolores’,
    ‘Dulce Nombre’,
    ‘El Paraíso’,
    ‘Florida’,
    ‘La Jigua’,
    ‘La Unión’,
    ‘Nueva Arcadia’,
    ‘San Agustín’,
    ‘San Antonio’,
    ‘San Jerónimo’,
    ‘San José’,
    ‘San Juan de Opoa’,
    ‘San Nicolás’,
    ‘San Pedro’,
    ‘Santa Rita’,
    ‘Trinidad de Copán’,
    ‘Veracruz’
    ),
    ‘HN7’ => array(
    ‘Santa Bárbara’,
    ‘Arada’,
    ‘Atima’,
    ‘Azacualpa’,
    ‘Ceguaca’,
    ‘Concepción del Norte’,
    ‘Concepción del Sur’,
    ‘Chinda’,
    ‘El Níspero’,
    ‘Gualala’,
    ‘Ilama’,
    ‘Las Vegas’,
    ‘Macuelizo’,
    ‘Naranjito’,
    ‘Nuevo Celilac’,
    ‘Nueva Frontera’,
    ‘Petoa’,
    ‘Protección’,
    ‘Quimistán’,
    ‘San Francisco de Ojuera’,
    ‘San José de Colinas’,
    ‘San Luis’,
    ‘San Marcos’,
    ‘San Nicolás’,
    ‘San Pedro Zacapa’,
    ‘San Vicente Centenario’,
    ‘Santa Rita’,
    ‘Trinidad’
    ),
    ‘HN8’ => array(
    ‘Yoro’,
    ‘Arenal’,
    ‘El Negrito’,
    ‘El Progreso’,
    ‘Jocón’,
    ‘Morazán’,
    ‘Olanchito’,
    ‘Santa Rita’,
    ‘Sulaco’,
    ‘Victoria’,
    ‘Yorito’
    ),
    ‘HN9’ => array(
    ‘Juticalpa’,
    ‘Campamento’,
    ‘Catacamas’,
    ‘Concordia’,
    ‘Dulce Nombre de Culmí’,
    ‘El Rosario’,
    ‘Esquipulas del Norte’,
    ‘Gualaco’,
    ‘Guarizama’,
    ‘Guata’,
    ‘Guayape’,
    ‘Jano’,
    ‘La Unión’,
    ‘Mangulile’,
    ‘Manto’,
    ‘Salamá’,
    ‘San Esteban’,
    ‘San Francisco de Becerra’,
    ‘San Francisco de la Paz’,
    ‘Santa María del Real’,
    ‘Silca’,
    ‘Yocón’,
    ‘Patuca’
    ),
    ‘HN10’ => array(
    ‘Ocotepeque’,
    ‘Belén Gualcho’,
    ‘Concepción’,
    ‘Dolores Merendón’,
    ‘Fraternidad’,
    ‘La Encarnación’,
    ‘La Labor’,
    ‘Lucerna’,
    ‘Mercedes’,
    ‘San Fernando’,
    ‘San Francisco del Valle’,
    ‘San Jorge’,
    ‘San Marcos’,
    ‘Santa Fe’,
    ‘Sensenti’,
    ‘Sinuapa’
    ),
    ‘HN11’ => array(
    ‘Gracias’,
    ‘Belén’,
    ‘Candelaria’,
    ‘Cololaca’,
    ‘Erandique’,
    ‘Gualcince’,
    ‘Guarita’,
    ‘La Campa’,
    ‘La Iguala’,
    ‘Las Flores’,
    ‘La Unión’,
    ‘La Virtud’,
    ‘Lepaera’,
    ‘Mapulaca’,
    ‘Piraera’,
    ‘San Andrés’,
    ‘San Francisco’,
    ‘San Juan Guarita’,
    ‘San Manuel Colohete’,
    ‘San Rafael’,
    ‘San Sebastián’,
    ‘Santa Cruz’,
    ‘Talgua’,
    ‘Tambla’,
    ‘Tomalá’,
    ‘Valladolid’,
    ‘Virginia’
    ),
    ‘HN12’ => array(
    ‘La Esperanza’,
    ‘Camasca’,
    ‘Colomoncagua’,
    ‘Concepción’,
    ‘Dolores’,
    ‘Intibucá’,
    ‘Jesús de Otoro’,
    ‘Magdalena’,
    ‘Masaguara’,
    ‘San Antonio’,
    ‘San Isidro’,
    ‘San Juan’,
    ‘San Marcos de la Sierra’,
    ‘San Miguel Guancapla’,
    ‘Santa Lucía’,
    ‘Yamaranguila’,
    ‘San Francisco de Opalaca’
    ),
    ‘HN13’ => array(
    ‘Comayagua’,
    ‘Ajuterique’,
    ‘El Rosario’,
    ‘Esquías’,
    ‘Humuya’,
    ‘La libertad’,
    ‘Lamaní’,
    ‘La Trinidad’,
    ‘Lejamani’,
    ‘Meambar’,
    ‘Minas de Oro’,
    ‘Ojos de Agua’,
    ‘San Jerónimo’,
    ‘San José de Comayagua’,
    ‘San José del Potrero’,
    ‘San Luis’,
    ‘San Sebastián’,
    ‘Siguatepeque’,
    ‘Villa de San Antonio’,
    ‘Las Lajas’,
    ‘Taulabé’
    ),
    ‘HN14’ => array(
    ‘Nacaome’,
    ‘Alianza’,
    ‘Amapala’,
    ‘Aramecina’,
    ‘Caridad’,
    ‘Goascorán’,
    ‘Langue’,
    ‘San Francisco de Coray’,
    ‘San Lorenzo’
    ),
    ‘HN15’ => array(
    ‘La Paz’,
    ‘Aguanqueterique’,
    ‘Cabañas’,
    ‘Cane’,
    ‘Chinacla’,
    ‘Guajiquiro’,
    ‘Lauterique’,
    ‘Marcala’,
    ‘Mercedes de Oriente’,
    ‘Opatoro’,
    ‘San Antonio del Norte’,
    ‘San José’,
    ‘San Juan’,
    ‘San Pedro de Tutule’,
    ‘Santa Ana’,
    ‘Santa Elena’,
    ‘Santa María’,
    ‘Santiago de Puringla’,
    ‘Yarula’
    ),
    ‘HN16’ => array(
    ‘Yuscarán’,
    ‘Alauca’,
    ‘Danlí’,
    ‘El Paraíso’,
    ‘Güinope’,
    ‘Jacaleapa’,
    ‘Liure’,
    ‘Morocelí’,
    ‘Oropolí’,
    ‘Potrerillos’,
    ‘San Antonio de Flores’,
    ‘San Lucas’,
    ‘San Matías’,
    ‘Soledad’,
    ‘Teupasenti’,
    ‘Texiguat’,
    ‘Vado Ancho’,
    ‘Yauyupe’,
    ‘Trojes’
    ),
    ‘HN17’ => array(
    ‘Choluteca’,
    ‘Apacilagua’,
    ‘Concepción de María’,
    ‘Duyure’,
    ‘El Corpus’,
    ‘El Triunfo’,
    ‘Marcovia’,
    ‘Morolica’,
    ‘Namasigue’,
    ‘Orocuina’,
    ‘Pespire’,
    ‘San Antonio de Flores’,
    ‘San Isidro’,
    ‘San José’,
    ‘San Marcos de Colón’,
    ‘Santa Ana de Yusguare’
    ),
    ‘HN18’ => array(
    ‘Roatán’,
    ‘Guanaja’,
    ‘José Santos Guardiola’,
    ‘Utila’
    ),
    );
    return $cities;
    }

  • #156991
    Avatar
    pierremestre.pro
    Participant

    Hello

    is it possible to ensure that when a slot is reserved for a delivery, it is no longer available to reserve it for a new order

You must be logged in to reply to this topic.