openapi: 3.2.0 info: description: 'This API will return a collection of Menu Items for a specific Location, Service Date and Meal Period. __The base endpoint URL for this API in production is:__ `https://marko.aramark.net/v1/service_menu_items`. For testing the API with the "Try" tool on this page or in your app, use either our testing server "qa-marko" or our development server "dev-marko".' version: 1.0.1-oas3 title: Service Menu Items API servers: - url: https://qa-marko.aramark.net/v1/service_menu_items description: Testing server - url: https://dev-marko.aramark.net/v1/service_menu_items description: Development server tags: - name: Service Menu Items description: An individual Service Menu and its Items for a Location and Service Date paths: /: get: summary: Menu items for a service menu description: 'Returns a hierarchical collection of menu items for a service menu. !This endpoint is in production' operationId: getServiceMenuItems tags: - Service Menu Items parameters: - $ref: '#/components/parameters/serviceDateParam' - $ref: '#/components/parameters/locationIdParam' - $ref: '#/components/parameters/serviceAreaIdParam' - $ref: '#/components/parameters/subLocationIdParam' - $ref: '#/components/parameters/mealPeriodIdParam' - $ref: '#/components/parameters/isMtoParam' - $ref: '#/components/parameters/isResultRequiredParam' - $ref: '#/components/parameters/isTempRequiredParam' - $ref: '#/components/parameters/bypassCacheParam' - $ref: '#/components/parameters/smokeParam' responses: '200': description: Menu and its items for location, service data and meal period content: application/json: schema: type: object properties: status: type: string description: ENUM 'Success', 'Not Found' or 'Error' count: type: string description: Number of records returned in request service_menus: type: array items: $ref: '#/components/schemas/service_menus' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '405': description: HTTP Verb / Operation not supported /flat: get: summary: Choose fields returned in flat response object description: 'This api requires one of *location_id*, *service_area_id* or service menu items returned to a flat response object with only the fields you want. *sub_location_id* as an input in order to return results. !This endpoint is in production' operationId: getServiceMenuItemsFlat tags: - Service Menu Items parameters: - $ref: '#/components/parameters/fieldsParam' - $ref: '#/components/parameters/serviceDateParam' - $ref: '#/components/parameters/locationIdParam' - $ref: '#/components/parameters/serviceAreaIdParam' - $ref: '#/components/parameters/subLocationIdParam' - $ref: '#/components/parameters/mealPeriodIdParam' - $ref: '#/components/parameters/isMtoParam' - $ref: '#/components/parameters/isResultRequiredParam' - $ref: '#/components/parameters/isTempRequiredParam' - $ref: '#/components/parameters/bypassCacheParam' - $ref: '#/components/parameters/smokeParam' responses: '200': description: Menu and its items for location, service data and meal period content: application/json: schema: type: object properties: status: type: string description: ENUM 'Success', 'Error' or 'Not Found' count: type: string description: Number of records returned in request service_items: type: array items: $ref: '#/components/schemas/service_items' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '405': description: HTTP Verb / Operation not supported components: parameters: bypassCacheParam: in: header name: bypass-cache description: This HTTP Header variable will bypass cache. schema: type: string enum: - 'true' - 'false' default: 'false' isResultRequiredParam: name: is_result_required in: query description: Filter on the menu items that have a service result. required: false schema: type: string enum: - Y - N serviceAreaIdParam: name: service_area_id in: query description: Unique ID of Service Area for a Service Date. required: false schema: type: string serviceDateParam: name: service_date in: query description: Service Date in Format "mm/dd/yyyy" required: true schema: type: string isTempRequiredParam: name: is_temp_required in: query description: Filter on the menu items that require regular temperature monitoring. required: false schema: type: string enum: - Y - N locationIdParam: name: location_id in: query description: Unique ID of Location to return Menus. required: false schema: type: string smokeParam: in: header name: smoke description: When set to 'true' this HTTP header variable will route the API call to the Integration testing environment. Only applicable in QA. schema: type: string default: false fieldsParam: name: fields in: query description: 'Comma delimited list to reduce the fields of response object. When used the property "location_id" will always be appended to the list for a consistent field for response testing. ' required: false schema: type: string mealPeriodIdParam: name: meal_period_id in: query description: Unique ID of Meal Period for a Location and Service Date. required: false schema: type: string isMtoParam: name: is_mto in: query description: Filter for Made to Order Menu Items. required: false schema: type: string enum: - Y - N subLocationIdParam: name: sub_location_id in: query description: Unique ID of Sub Location aka Station for a Service Date. required: false schema: type: string responses: Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The specified resource was not found content: application/json: schema: $ref: '#/components/schemas/Error' schemas: service_menus: type: object properties: menu: type: array items: $ref: '#/components/schemas/menu' service_items: type: object properties: location_id: type: integer description: Unique code for a Location, sourced by BIC or MDG location_name: type: string description: Location descriptive name location: type: string description: Unique code for a Location, sourced by MDG service_area_id: type: integer description: Unique code for a Service Area, sourced by PRIMA and kept for backwards compatibility, will be DEPRECATED service_area_name: type: integer description: Service Area descriptive name service_menu_id: type: integer description: Unique ID of Service Menu service_date: type: string description: Calendar date of service in 'MM/DD/YYYY' format meal_period_id: type: integer meal_period: type: string sub_location_id: type: integer description: Unique code for a Sub Location, sourced by PRIMA or MDG sub_location_name: type: string description: Sub Location descriptive name sub_location: type: string description: Unique code for a Sub Location, sourced by MDG service_menu_item_id: type: integer description: Unique ID of Service Menu Item master_system_id: type: integer recipe_id: type: string description: PRIMA Recipe ID, required master_system_id and recipe_id for uniqueness. recipe_name: type: string description: PRIMA Recipe name of Menu Items recipe_marketing_name: type: string description: PRIMA Recipe marketing name of Menu Items recipe_short_name: type: string description: Alternate name used for Recipe, driven by Marketing or Operations production_area_id: type: string description: Unique ID of the Production Area production_area_name: type: string description: Production Area descriptive name is_mto: type: string description: Is item made to order? 'Y' indicates it is. is_temp_required: type: string description: Is regular temperature monitoring required for this item? 'Y' indicates it is. serving_size_uom_id: type: string serving_size_number: type: integer description: Portion Size (integer portion) serving_size_description: type: string description: Portion Size Unit of Measure Description serving_size_fraction_id: type: string serving_size_fraction_description: type: string description: Portion Size Fraction Description serving_size_display: type: string description: Serving Size Description food_cost: type: number description: Local food cost of item acceptability_factor: type: number description: Forecast percentage per patron planned_count: type: number description: Planned number of portions per service period prep_count: type: number description: Actual prepared portions on_hand_count: type: number description: Number of portions reused for service sold_count: type: number description: Number of portions sold leftover_count: type: number waste_count: type: number description: Number of portions wasted is_result_required: type: string description: Y indicates the menu item requires a service result. smi_row_no: type: number description: SMI Number comments: type: string description: Menu Item Comments sub_locations: type: object properties: sub_location_id: type: integer description: Unique code for a Sub Location, sourced by PRIMA or MDG sub_location_name: type: string description: Sub Location descriptive name sub_location: type: string description: Unique code for a Sub Location, sourced by MDG menu_items: type: array items: $ref: '#/components/schemas/menu_items' Error: type: object properties: code: type: string message: type: string required: - code - message menu_items: type: object properties: service_menu_item_id: type: integer description: Unique ID of Service Menu Item master_system_id: type: integer recipe_id: type: string description: PRIMA Recipe ID, required master_system_id and recipe_id for uniqueness. recipe_name: type: string description: PRIMA Recipe name of Menu Items recipe_marketing_name: type: string description: PRIMA Recipe marketing name of Menu Items recipe_short_name: type: string description: Alternate name used for Recipe, driven by Marketing or Operations production_area_id: type: string description: Unique ID of the Production Area production_area_name: type: string description: Production Area descriptive name is_mto: type: string description: Is item made to order? 'Y' indicates it is. is_temp_required: type: string description: Is regular temperature monitoring required for this item? 'Y' indicates it is. serving_size_uom_id: type: string serving_size_number: type: integer description: Portion Size (integer portion) serving_size_description: type: string description: Portion Size Unit of Measure Description serving_size_fraction_id: type: string serving_size_fraction_description: type: string description: Portion Size Fraction Description serving_size_display: type: string description: Serving Size Description food_cost: type: number description: Local food cost of item acceptability_factor: type: number description: Forecast percentage per patron planned_count: type: number description: Planned number of portions per service period prep_count: type: number description: Actual prepared portions on_hand_count: type: number description: Number of portions reused for service sold_count: type: number description: Number of portions sold leftover_count: type: number waste_count: type: number description: Number of portions wasted is_result_required: type: string description: Y indicates the menu item requires a service result. smi_row_no: type: number description: SMI Number comments: type: string description: Menu Item Comments menu: type: object properties: location_id: type: integer description: Unique code for a Location, sourced by BIC or MDG location_name: type: string description: Location descriptive name location: type: string description: Unique code for a Location, sourced by MDG service_area_id: type: integer description: Unique code for a Service Area, sourced by PRIMA and kept for backwards compatibility, will be DEPRECATED service_area_name: type: integer description: Service Area descriptive name service_menu_id: type: integer description: Unique ID of Service Menu service_date: type: string description: Calendar date of service in 'MM/DD/YYYY' format meal_period_id: type: integer meal_period_name: type: string sub_locations: type: array items: $ref: '#/components/schemas/sub_locations' securitySchemes: apiKey: type: apiKey in: header name: apikey description: This HTTP Header variable will verify permissions.