On Gmail calendar, go to Settings -> Calendars -> Export Calendars to download a ZIP of your calendars in ICAL format.
On Google Apps calendar, go to Settings -> Calendars -> Import calendar and import the ICAL entries to your calendar.
To preserve contact groups, each group needs to be migrated individually.
On Gmail contacts, use the Export option to export each group in Google’s CSV format. Then export one more CSV of “Everyone (All Contacts)”
On Google Apps contacts, use the Import option to import the CSV of Everyone, leaving the “Add these imported contacts to: ” option unchecked. Then, use the Import option to import each group in turn, checking the “Add these imported contacts to: New Group… ” option, and enter the name of the group.