Add multiple shipping rates from add_rate function with custom ID

to understand how to store choosen method id or else try using:

// Make a shipping rate for each result
 foreach ($quote->shipping_options as $option) {

    $rate = array(
        'id' => 'my_method_'.$option->id,
        'label' => $methodNames[$option->name],
        'cost' => $option->price,
        'meta_data' => array(),
    );

    // Register the rate
    $this->add_rate($rate);
}

in ‘meta_data’ you can store whatever you wantin database…