Writing your own module can solve your problem too .
for that you need to create your own field which contains 2 values. first you have to introduce your field to drupal , use hook_field_info() for that .
function ModuleName_field_info() {
return array(
'ModuleName_services' => array( //your sub-Field machine readable name.
'lable' => t('Services'), //Human readable name
'description' => 'some description', //optional
'default_widget' => 'widget_name', //optional (text_textfield works here)
'default_formatter' => 'formatter_name', //(text_default is fine)
),
'ModuleName_appointment' => array(
'lable' => t('Appointment Status'),
'description' => 'some description',
'default_widget' => 'widget_name',
'default_formatter' => 'formatter_name',
),
);
then Implement hook_field_schema($fields) to specify a place in database .
other options could find here and here
function ModuleName_field_schema($fields) {
columns = array (
'service' => array(
'type' => 'varchar',
//other options could find [here][2] and [here][3]
'not null' => true,
),
'appointment' => array(
'type' => 'int',
'size' => 'tiny',
//More options if you wish
),
);
$indexes => array('services');
return array($columns , $indexes);
}
if you want more customization you can define your own field_widget and your own field_formatter too . more on that you can also assign some field settings which can be modified in future using Field UI.