I added a dynamicRow component into product edit page

But it is not saving any data in my table, i have looked the payload from the POST request and the fields are not listed there.
DataProvider class structure:
namespace VendorModuleUiDataProviderProductFormModifier;
use MagentoCatalogUiDataProviderProductFormModifierAbstractModifier;
use VendorModuleModelResourceModelBookingDateCollectionFactory as
BookingDateCollectionFactory;
use MagentoCatalogApiDataProductInterfaceFactory;
use VendorModuleModelDataBookingDate as BookingDateData;
use MagentoCatalogModelLocatorLocatorInterface;
class BookingDates extends AbstractModifier
{
protected $locator;
protected $bookingDateCollectionFactory;
public function __construct(
LocatorInterface $locator,
BookingDateCollectionFactory $bookingDateCollectionFactory
) {
$this->locator = $locator;
$this->bookingDateCollectionFactory = $bookingDateCollectionFactory;
}
public function modifyData(array $data)
{
$product = $this->locator->getProduct();
$productId = $product->getId();
if ($productId) {
$collection = $this->bookingDateCollectionFactory->create()
->addFieldToFilter('product_id', $productId);
$dates = [];
foreach ($collection as $item) {
$dates[] = [
'date_from' => $item->getDateFrom(),
'date_to' => $item->getDateTo(),
'slots' => $item->getSlots(),
];
}
$data[$productId]['product']['extension_attributes']['package_booking_dates'] = $dates;
}
return $data;
}
public function modifyMeta(array $meta)
{
$customFieldset = [
'arguments' => [
'data' => [
'config' => [
'label' => __('Dates and Slots'),
'componentType' => 'fieldset',
'collapsible' => true,
'sortOrder' => 35,
],
],
],
'children' => [
'booking_dates' => [
'arguments' => [
'data' => [
'config' => [
'componentType' => 'dynamicRows',
'label' => __('Package Available Datas'),
'addButtonLabel' => __('Add Date'),
'dataScope' => 'package_booking_dates',
'sortOrder' => 10,
'recordTemplate' => 'record',
'columnsHeader' => true,
'component' => 'Magento_Ui/js/form/components/dynamic-rows',
],
],
],
'children' => [
'record' => [
'arguments' => [
'data' => [
'config' => [
'componentType' => 'container',
'isTemplate' => true,
'is_collection' => true,
],
],
],
'children' => [
'date_from' => [
'arguments' => [
'data' => [
'config' => [
'formElement' => 'date',
'componentType' => 'field',
'dataType' => 'date',
'label' => __('Date From'),
'dataScope' => 'date_from',
],
],
],
],
'date_to' => [
'arguments' => [
'data' => [
'config' => [
'formElement' => 'date',
'componentType' => 'field',
'dataType' => 'date',
'label' => __('Date To'),
'dataScope' => 'date_to',
],
],
],
],
'slots' => [
'arguments' => [
'data' => [
'config' => [
'formElement' => 'input',
'componentType' => 'field',
'dataType' => 'number',
'label' => __('Slots'),
'dataScope' => 'slots',
],
],
],
],
],
],
],
],
],
];
if (isset($meta['product-details']['children'])) {
$meta['product-details']['children']['package_booking_tab'] = $customFieldset;
}
return $meta;
}
My custom table schema
<table name="vendor_package_booking_date" resource="default" engine="innodb" comment="Datas e Vagas de Pacotes">
<column name="entity_id" xsi:type="int" unsigned="true" nullable="false" identity="true" comment="ID"/>
<column name="product_id" xsi:type="int" unsigned="true" nullable="false" comment="Product ID"/>
<column name="date_from" xsi:type="date" nullable="false" comment="Data Inicial"/>
<column name="date_to" xsi:type="date" nullable="false" comment="Data Final"/>
<column name="slots" xsi:type="int" nullable="false" default="0" comment="Vagas Disponíveis"/>
<constraint xsi:type="primary" referenceId="PRIMARY">
<column name="entity_id"/>
</constraint>
<constraint xsi:type="foreign" referenceId="VENDOR_BOOKING_PRODUCT_ID_CATALOG_PRODUCT_ENTITY_ENTITY_ID"
table="vendor_package_booking_date" column="product_id"
referenceTable="catalog_product_entity" referenceColumn="entity_id"
onDelete="CASCADE"/>
<index referenceId="VENDOR_BOOKING_PRODUCT_ID" indexType="btree">
<column name="product_id"/>
</index>
</table>
Can anybody tell me if I miss anything or any correction needed to make it work?